Social Annotations in the Atmosphere
15
fork

Configure Feed

Select the types of activity you want to include in your feed.

stability

+1153 -228
+50 -43
AGENTS.md
··· 36 36 │ ├── src/ # Proxy client scripts 37 37 │ ├── cors-proxy/ # CORS proxy server 38 38 │ └── html/ # HTML templates 39 + ├── server/ # Go backend server 39 40 ├── landing/ # Public landing page 40 41 └── history/ # Architecture docs and planning 41 42 ``` 42 43 43 - ## Issue Tracking (bd/beads) 44 + ## Testing 44 45 45 - **IMPORTANT**: Use `bd` for ALL issue tracking. Do NOT use markdown TODOs. 46 + **IMPORTANT**: Run tests after making changes to verify nothing is broken. 47 + 48 + ### Unit Tests (Vitest) 49 + 50 + Fast unit tests for core logic in `packages/core/`: 46 51 47 52 ```bash 48 - bd ready --json # Show ready work 49 - bd create "Title" -t bug -p 1 --json # Create issue 50 - bd update bd-42 --status in_progress # Claim work 51 - bd close bd-42 --reason "Done" # Complete work 53 + pnpm test # Run all unit tests 54 + pnpm test:watch # Run in watch mode during development 55 + pnpm test:coverage # Run with coverage report 52 56 ``` 53 57 54 - Priorities: 0=critical, 1=high, 2=medium, 3=low, 4=backlog 58 + Tests are located in `packages/core/src/**/__tests__/`. These test: 59 + - Storage adapters (browser, web, postmessage) 60 + - Content script logic (base, mobile, UI) 61 + - Background worker 62 + - OAuth flow 63 + - PDS client 64 + - Sidebar rendering and state 65 + - Utilities (URL normalization, date formatting, sanitization) 55 66 56 - ## AT Protocol OAuth Primer 67 + ### E2E Tests (Playwright) 57 68 58 - ### Key Concepts 69 + Integration tests that run against a real browser with the extension loaded: 59 70 60 - **AT Protocol is NOT just Bluesky.** It's a decentralized protocol where: 61 - - Users have a **DID** (decentralized identifier) and a **handle** (e.g., `user.bsky.social`) 62 - - User data lives on a **PDS** (Personal Data Server), not necessarily bsky.social 63 - - Apps authenticate via OAuth to read/write records on the user's PDS 71 + ```bash 72 + pnpm test:e2e:extension # Run extension e2e tests (requires .env.test) 73 + pnpm test:e2e:proxy # Run proxy e2e tests (starts proxy servers) 74 + ``` 64 75 65 - ### OAuth Flow Overview 76 + E2E tests are in `tests/e2e/` and require: 77 + - Built extension in `.output/chrome-mv3` (`pnpm build` first) 78 + - Go backend server (started automatically by Playwright) 79 + - Test credentials in `tests/.env.test` 66 80 67 - 1. **Handle Resolution**: User enters handle → resolve to DID + PDS endpoint 68 - 2. **Authorization**: Redirect user to their PDS's authorization server 69 - 3. **Token Exchange**: Exchange auth code for access/refresh tokens (with PKCE) 70 - 4. **Authenticated Requests**: Use tokens to call XRPC endpoints on user's PDS 81 + E2E tests cover: 82 + - Extension sidebar display and navigation 83 + - Highlight rendering on pages 84 + - Annotation creation flow (requires OAuth) 71 85 72 - ### Required Security Features 86 + **Note**: OAuth-dependent tests may be flaky due to popup timing. 73 87 74 - - **PKCE** (Proof Key for Code Exchange): Prevents auth code interception 75 - - **State Parameter**: Prevents CSRF attacks 76 - - **DPoP** (Demonstration of Proof-of-Possession): Binds tokens to client 88 + ### Server Tests (Go) 77 89 78 - ### Available Scopes 90 + ```bash 91 + pnpm test:server # Run Go backend tests 92 + pnpm test:server:coverage # With coverage 93 + ``` 79 94 80 - | Scope | Description | Risk Level | 81 - |-------|-------------|------------| 82 - | `atproto` | Basic AT Protocol access (required) | Low | 83 - | `transition:generic` | Read/write posts, follows, blocks | High | 84 - | `transition:chat.bsky` | Access to Bluesky DMs | High | 95 + ### Run All Tests 85 96 86 - **Always request minimal scopes.** This app uses: 87 - - `atproto` - Required for basic AT Protocol access and our custom lexicons (`community.lexicon.annotation.*`) 88 - - `transition:generic` - Required to fetch user profile/avatar via `app.bsky.actor.getProfile` 97 + ```bash 98 + pnpm test:all # Unit tests + server tests 99 + ``` 89 100 90 - ### Handle Resolution 91 101 92 - Handles are resolved via DNS TXT records or `.well-known/atproto-did`: 93 - ``` 94 - user.bsky.social → DNS TXT _atproto.user.bsky.social → did:plc:xyz 95 - did:plc:xyz → plc.directory → PDS endpoint (e.g., https://bsky.social) 96 - ``` 102 + ## AT Protocol OAuth 97 103 98 - ### Common Mistakes to Avoid 104 + For detailed AT Protocol OAuth documentation, see the skill file: `.skill/atproto-oauth.md` 99 105 100 - - **Don't hardcode bsky.social** - users can be on any PDS 101 - - **Don't request `transition:generic`** unless you need Bluesky social features 102 - - **Don't store tokens in localStorage** - use secure HTTP-only cookies or server sessions 103 - - **Don't skip PKCE/state validation** - these prevent real attacks 106 + Key points: 107 + - AT Protocol is decentralized - users can be on any PDS, not just bsky.social 108 + - OAuth requires PKCE, state parameter, and DPoP 109 + - This app uses scopes: `atproto` + `transition:generic` 110 + - Implementation: `packages/core/src/oauth/index.ts` and `packages/core/src/pds/index.ts` 104 111 105 112 ## Code Style 106 113 ··· 144 151 ```typescript 145 152 console.log('[oauth] Starting login process'); 146 153 console.error('[content] Failed to generate selectors:', err); 147 - console.warn('[synthesis] Could not anchor annotation:', annotation); 154 + console.warn('[seams] Could not anchor annotation:', annotation); 148 155 ``` 149 156 150 157 ### Browser APIs
+2 -2
package.json
··· 8 8 "build": "wxt build", 9 9 "zip": "wxt zip -b firefox && wxt zip -b chrome", 10 10 "build:landing": "vite build --config vite.landing.config.ts", 11 - "build:proxy": "vite build --config vite.proxy.config.ts && vite build --config vite.proxy-inject.config.ts && bash scripts/postbuild-proxy.sh", 11 + "build:proxy": "vite build --config vite.proxy.config.ts && vite build --config vite.proxy-inject.config.ts", 12 12 "dev:proxy": "pnpm build:proxy && concurrently \"cd proxy/cors-proxy && npm run dev\" \"npx serve proxy/dist -l 8081\"", 13 13 "dev:server": "pnpm run build:landing && cd server && air", 14 14 "test": "pnpm --filter @seams/core test", ··· 18 18 "test:server:coverage": "cd server && go test -coverprofile=coverage.out ./... && go tool cover -html=coverage.out -o coverage.html", 19 19 "test:e2e": "playwright test", 20 20 "test:e2e:extension": "node --env-file=tests/.env.test ./node_modules/@playwright/test/cli.js test --config=tests/playwright.config.ts --project=chrome-extension", 21 - "test:e2e:proxy": "RUN_PROXY_TESTS=1 playwright test --project=chrome-proxy", 21 + "test:e2e:proxy": "RUN_PROXY_TESTS=1 npx playwright test --config=tests/playwright.config.ts --project=chrome-proxy", 22 22 "test:all": "pnpm test && pnpm test:server" 23 23 }, 24 24 "repository": {
+1 -1
packages/core/src/components/sidebar-styles.ts
··· 44 44 } 45 45 46 46 /* Container inside shadow root - needs height for centering */ 47 - #sidebar-container { 47 + #sidebar-root { 48 48 height: 100%; 49 49 display: flex; 50 50 flex-direction: column;
+1 -1
packages/core/src/components/sidebar.ts
··· 124 124 125 125 // Create container for Sidebar class to render into 126 126 const container = document.createElement('div'); 127 - container.id = 'sidebar-container'; 127 + container.id = 'sidebar-root'; 128 128 this.shadowRoot.appendChild(container); 129 129 130 130 // Initialize the Sidebar class
+19
packages/core/src/content/__tests__/base.test.ts
··· 107 107 108 108 // The selection tracking setup is tested in the selection tracking describe block 109 109 }); 110 + 111 + it('should only render once on start with no subsequent changes', async () => { 112 + const annotations = [ 113 + { 114 + uri: 'test:1', 115 + value: { target: { url: 'https://example.com/page' }, body: 'Test' }, 116 + }, 117 + ]; 118 + mockAdapter.storage.get.mockResolvedValue(annotations); 119 + 120 + await contentScript.start(); 121 + 122 + // Wait for any async operations to settle 123 + await vi.runAllTimersAsync(); 124 + 125 + // Should be called exactly once (the initial render) 126 + expect(mockAdapter.applyHighlights).toHaveBeenCalledTimes(1); 127 + expect(mockAdapter.clearHighlights).toHaveBeenCalledTimes(1); 128 + }); 110 129 }); 111 130 112 131 describe('loadAndRenderHighlights', () => {
+10 -8
packages/core/src/content/base.ts
··· 26 26 async start(): Promise<void> { 27 27 console.log('[content] BaseContentScript starting...'); 28 28 29 - // Initial render 30 - await this.loadAndRenderHighlights(); 29 + // Set up selection tracking IMMEDIATELY - don't block on annotations 30 + this.setupSelectionTracking(); 31 + 32 + // Watch for DOM changes (SPAs/lazy loading) 33 + this.setupDomObserver(); 31 34 32 - // Listen for storage changes 35 + // Listen for storage changes (for future updates) 33 36 this.adapter.storage.onChange(({ key }) => { 34 37 if (key === 'annotations') { 35 38 console.log('[content] Annotations cache updated, re-rendering'); ··· 37 40 } 38 41 }); 39 42 40 - // Track text selection 41 - this.setupSelectionTracking(); 42 - 43 - // Watch for DOM changes (SPAs/lazy loading) 44 - this.setupDomObserver(); 43 + // Load highlights in background - don't block 44 + this.loadAndRenderHighlights().catch(err => { 45 + console.error('[content] Failed to load initial highlights:', err); 46 + }); 45 47 } 46 48 47 49 protected async loadAndRenderHighlights(): Promise<void> {
+35 -17
packages/core/src/storage/__tests__/postmessage.test.ts
··· 10 10 vi.useFakeTimers(); 11 11 vi.spyOn(console, 'log').mockImplementation(() => {}); 12 12 vi.spyOn(console, 'warn').mockImplementation(() => {}); 13 + vi.spyOn(console, 'error').mockImplementation(() => {}); 13 14 14 15 mockTargetWindow = { 15 16 postMessage: vi.fn(), ··· 74 75 expect(result).toEqual([{ uri: 'test' }]); 75 76 }); 76 77 77 - it('returns empty array on timeout', async () => { 78 + it('returns empty array on timeout after retries', async () => { 78 79 const getPromise = adapter.get('annotations'); 79 80 80 - // Advance timer past timeout 81 - vi.advanceTimersByTime(6000); 81 + // With retry logic: 3 attempts × 1s timeout + 2 × 500ms delay = 4s total 82 + // Advance through all retry attempts 83 + for (let i = 0; i < 3; i++) { 84 + await vi.advanceTimersByTimeAsync(1000); // timeout 85 + if (i < 2) { 86 + await vi.advanceTimersByTimeAsync(500); // delay before retry 87 + } 88 + } 82 89 83 90 const result = await getPromise; 84 91 expect(result).toEqual([]); 85 92 expect(console.warn).toHaveBeenCalledWith( 86 93 '[PostMessageStorageAdapter] GET_ANNOTATIONS request timed out' 94 + ); 95 + expect(console.error).toHaveBeenCalledWith( 96 + '[PostMessageStorageAdapter] All retries exhausted, returning empty' 87 97 ); 88 98 }); 89 99 ··· 203 213 }); 204 214 }); 205 215 206 - describe('origin validation', () => { 207 - it('ignores messages from disallowed origins', () => { 216 + describe('message type validation', () => { 217 + it('ignores messages with unknown types', () => { 208 218 const callback = vi.fn(); 209 219 adapter.onChange(callback); 210 220 211 221 messageHandler({ 212 - origin: 'https://malicious.com', 222 + origin: 'https://example.com', 213 223 data: { 214 - type: 'ANNOTATIONS_UPDATED', 215 - annotations: [{ uri: 'evil' }], 224 + type: 'UNKNOWN_MESSAGE_TYPE', 225 + annotations: [{ uri: 'test' }], 216 226 }, 217 227 } as MessageEvent); 218 228 219 229 expect(callback).not.toHaveBeenCalled(); 220 230 }); 221 231 222 - it('accepts messages from allowed origins', () => { 232 + it('accepts ANNOTATIONS_UPDATED messages from any origin', () => { 223 233 const callback = vi.fn(); 224 234 adapter.onChange(callback); 225 235 226 - // Test http://127.0.0.1:8081 236 + // In wabac.js proxy context, messages come from the proxied site's origin 227 237 messageHandler({ 228 - origin: 'http://127.0.0.1:8081', 238 + origin: 'https://example.com', 229 239 data: { 230 240 type: 'ANNOTATIONS_UPDATED', 231 241 annotations: [], ··· 235 245 expect(callback).toHaveBeenCalledTimes(1); 236 246 }); 237 247 238 - it('accepts messages from production origin', () => { 248 + it('accepts STORAGE_CHANGE messages from any origin', () => { 239 249 const callback = vi.fn(); 240 250 adapter.onChange(callback); 241 251 242 252 messageHandler({ 243 - origin: 'https://sure.seams.so', 253 + origin: 'https://random-site.org', 244 254 data: { 245 - type: 'ANNOTATIONS_UPDATED', 246 - annotations: [], 255 + type: 'STORAGE_CHANGE', 256 + key: 'annotations', 257 + newValue: [], 258 + oldValue: null, 247 259 }, 248 260 } as MessageEvent); 249 261 ··· 268 280 // Destroy before response 269 281 adapter.destroy(); 270 282 271 - // Advance timers - should timeout without error 272 - vi.advanceTimersByTime(6000); 283 + // Advance timers through all retry attempts 284 + // 3 attempts × 1s timeout + 2 × 500ms delay = 4s total 285 + for (let i = 0; i < 3; i++) { 286 + await vi.advanceTimersByTimeAsync(1000); // timeout 287 + if (i < 2) { 288 + await vi.advanceTimersByTimeAsync(500); // delay before retry 289 + } 290 + } 273 291 274 292 const result = await getPromise; 275 293 expect(result).toEqual([]);
+40 -12
packages/core/src/storage/postmessage.ts
··· 3 3 // Communicates with shell (parent window) which has localStorage access 4 4 5 5 import type { StorageAdapter, StorageChange } from './adapter'; 6 - import { ALLOWED_ORIGINS, isAllowedOrigin } from '../constants'; 6 + 7 + // Known message types that this adapter handles 8 + const SEAMS_MESSAGE_TYPES = ['ANNOTATIONS_DATA', 'ANNOTATIONS_UPDATED', 'STORAGE_CHANGE']; 7 9 8 10 interface PendingRequest { 9 11 resolve: (value: any) => void; ··· 29 31 } 30 32 31 33 private handleMessage(event: MessageEvent): void { 32 - // Validate origin - only accept messages from allowed origins 33 - if (!isAllowedOrigin(event.origin)) { 34 + const { type, requestId, annotations, key, newValue, oldValue } = event.data || {}; 35 + 36 + // Only process known Seams message types 37 + // Note: We don't validate origin because in the wabac.js proxy architecture, 38 + // the iframe has the proxied site's origin (e.g., https://example.com) even though 39 + // messages come from the shell. The iframe sandbox restricts capabilities. 40 + if (!SEAMS_MESSAGE_TYPES.includes(type)) { 34 41 return; 35 42 } 36 43 37 - const { type, requestId, annotations, key, newValue, oldValue } = event.data; 38 - 39 44 if (type === 'ANNOTATIONS_DATA' && requestId) { 40 45 // Response to GET_ANNOTATIONS request 41 46 const pending = this.pendingRequests.get(requestId); ··· 63 68 // For now, we only support getting 'annotations' 64 69 // This could be extended to support other keys if needed 65 70 if (keys === 'annotations' || (Array.isArray(keys) && keys.includes('annotations'))) { 66 - return this.requestAnnotations(); 71 + return this.requestAnnotationsWithRetry(); 67 72 } 68 73 69 74 // For single key 70 75 if (typeof keys === 'string') { 71 76 if (keys === 'annotations') { 72 - return this.requestAnnotations(); 77 + return this.requestAnnotationsWithRetry(); 73 78 } 74 79 // Unsupported key - return null 75 80 console.warn('[PostMessageStorageAdapter] Unsupported key:', keys); ··· 80 85 const result: Record<string, any> = {}; 81 86 for (const key of keys) { 82 87 if (key === 'annotations') { 83 - result[key] = await this.requestAnnotations(); 88 + result[key] = await this.requestAnnotationsWithRetry(); 84 89 } else { 85 90 result[key] = null; 86 91 } ··· 88 93 return result; 89 94 } 90 95 91 - private requestAnnotations(): Promise<any> { 96 + private requestAnnotations(): Promise<any[] | null> { 92 97 return new Promise((resolve, reject) => { 93 98 const requestId = `req_${Date.now()}_${Math.random().toString(36).substring(2, 11)}`; 94 99 95 - // Set up timeout 100 + // Set up timeout - reduced to 1s for faster retry cycles 96 101 const timeout = setTimeout(() => { 97 102 this.pendingRequests.delete(requestId); 98 103 console.warn('[PostMessageStorageAdapter] GET_ANNOTATIONS request timed out'); 99 - resolve([]); // Return empty array on timeout rather than rejecting 100 - }, 5000); 104 + resolve(null); // null = timeout, [] = empty response 105 + }, 1000); 101 106 102 107 this.pendingRequests.set(requestId, { 103 108 resolve: (value) => { ··· 117 122 requestId 118 123 }, this.targetOrigin); 119 124 }); 125 + } 126 + 127 + private async requestAnnotationsWithRetry( 128 + maxRetries = 3, 129 + delayMs = 500 130 + ): Promise<any[]> { 131 + for (let attempt = 1; attempt <= maxRetries; attempt++) { 132 + console.log(`[PostMessageStorageAdapter] Requesting annotations (attempt ${attempt}/${maxRetries})`); 133 + const result = await this.requestAnnotations(); 134 + 135 + if (result !== null) { 136 + // Got a response (even if empty array) 137 + return result; 138 + } 139 + 140 + if (attempt < maxRetries) { 141 + console.warn(`[PostMessageStorageAdapter] Attempt ${attempt} timed out, retrying in ${delayMs}ms`); 142 + await new Promise(r => setTimeout(r, delayMs)); 143 + } 144 + } 145 + 146 + console.error('[PostMessageStorageAdapter] All retries exhausted, returning empty'); 147 + return []; 120 148 } 121 149 122 150 async set(_key: string, _value: any): Promise<void> {
+6
packages/core/src/storage/web.ts
··· 47 47 localStorage.setItem(key, JSON.stringify(value)); 48 48 49 49 const change: StorageChange = { key, newValue: value, oldValue }; 50 + 51 + // Notify local listeners (same page) 52 + // BroadcastChannel only delivers to OTHER tabs, not the sender 53 + this.listeners.forEach(callback => callback(change)); 54 + 55 + // Broadcast to other tabs 50 56 this.channel.postMessage(change); 51 57 } 52 58
+12 -12
packages/core/src/utils/highlights/__tests__/highlights.test.ts
··· 33 33 it('removes highlight spans from container', () => { 34 34 document.body.innerHTML = ` 35 35 <p> 36 - <span class="synthesis-highlight">highlighted text</span> 36 + <span class="seams-highlight">highlighted text</span> 37 37 normal text 38 38 </p> 39 39 `; 40 40 41 41 clearHighlights(document.body); 42 42 43 - expect(document.querySelectorAll('.synthesis-highlight').length).toBe(0); 43 + expect(document.querySelectorAll('.seams-highlight').length).toBe(0); 44 44 expect(document.body.textContent?.trim()).toBe('highlighted text\n normal text'); 45 45 }); 46 46 47 47 it('preserves text content when removing highlights', () => { 48 48 document.body.innerHTML = ` 49 - <p>Start <span class="synthesis-highlight">middle</span> end</p> 49 + <p>Start <span class="seams-highlight">middle</span> end</p> 50 50 `; 51 51 52 52 clearHighlights(document.body); ··· 56 56 57 57 it('handles nested highlights', () => { 58 58 document.body.innerHTML = ` 59 - <span class="synthesis-highlight"> 59 + <span class="seams-highlight"> 60 60 outer 61 - <span class="synthesis-highlight">inner</span> 61 + <span class="seams-highlight">inner</span> 62 62 </span> 63 63 `; 64 64 65 65 clearHighlights(document.body); 66 66 67 - expect(document.querySelectorAll('.synthesis-highlight').length).toBe(0); 67 + expect(document.querySelectorAll('.seams-highlight').length).toBe(0); 68 68 }); 69 69 70 70 it('normalizes text nodes after removal', () => { 71 71 document.body.innerHTML = ` 72 - <p>Before<span class="synthesis-highlight">middle</span>after</p> 72 + <p>Before<span class="seams-highlight">middle</span>after</p> 73 73 `; 74 74 75 75 clearHighlights(document.body); ··· 138 138 139 139 applyHighlights(annotations, mockStorage, document.body); 140 140 141 - expect(document.querySelectorAll('.synthesis-highlight').length).toBe(0); 141 + expect(document.querySelectorAll('.seams-highlight').length).toBe(0); 142 142 expect(console.warn).toHaveBeenCalledWith( 143 143 expect.stringContaining('Could not anchor'), 144 144 expect.any(Object) ··· 165 165 166 166 applyHighlights(annotations, mockStorage, document.body); 167 167 168 - expect(document.querySelectorAll('.synthesis-highlight').length).toBe(0); 168 + expect(document.querySelectorAll('.seams-highlight').length).toBe(0); 169 169 }); 170 170 171 171 it('skips annotations inside style tags', () => { ··· 188 188 189 189 applyHighlights(annotations, mockStorage, document.body); 190 190 191 - expect(document.querySelectorAll('.synthesis-highlight').length).toBe(0); 191 + expect(document.querySelectorAll('.seams-highlight').length).toBe(0); 192 192 }); 193 193 194 194 it('clears existing highlights before applying new ones', () => { 195 195 document.body.innerHTML = ` 196 - <p><span class="synthesis-highlight">old</span> text</p> 196 + <p><span class="seams-highlight">old</span> text</p> 197 197 `; 198 198 199 199 mockFindAnnotationRange.mockReturnValue(null); 200 200 201 201 applyHighlights([], mockStorage, document.body); 202 202 203 - expect(document.querySelectorAll('.synthesis-highlight').length).toBe(0); 203 + expect(document.querySelectorAll('.seams-highlight').length).toBe(0); 204 204 }); 205 205 }); 206 206
+27 -27
packages/core/src/utils/highlights/apply.ts
··· 11 11 12 12 clearHighlights(root); 13 13 14 - console.log(`[synthesis] Applying ${annotations.length} highlights`); 14 + console.log(`[seams] Applying ${annotations.length} highlights`); 15 15 16 16 // Convert all ranges to TextRange immediately (immune to DOM mutations) 17 17 const textRangesWithAnnotations: Array<{ textRange: TextRange; annotation: Annotation }> = []; 18 18 19 19 annotations.forEach((annotation, index) => { 20 - console.log(`[synthesis] Finding range for annotation ${index + 1}/${annotations.length}`); 20 + console.log(`[seams] Finding range for annotation ${index + 1}/${annotations.length}`); 21 21 const range = findAnnotationRange(annotation, root); 22 22 23 23 if (!range) { 24 - console.warn('[synthesis] Could not anchor annotation:', annotation); 24 + console.warn('[seams] Could not anchor annotation:', annotation); 25 25 return; 26 26 } 27 27 ··· 29 29 let node = range.commonAncestorContainer; 30 30 while (node && node !== container) { 31 31 if (node.nodeName === 'SCRIPT' || node.nodeName === 'STYLE') { 32 - console.warn('[synthesis] Skipping highlight inside', node.nodeName, 'tag'); 32 + console.warn('[seams] Skipping highlight inside', node.nodeName, 'tag'); 33 33 return; 34 34 } 35 35 node = node.parentNode as HTMLElement; ··· 40 40 textRangesWithAnnotations.push({ textRange, annotation }); 41 41 }); 42 42 43 - console.log(`[synthesis] Found ${textRangesWithAnnotations.length} valid annotations`); 43 + console.log(`[seams] Found ${textRangesWithAnnotations.length} valid annotations`); 44 44 45 45 // Apply highlights in any order - TextRange protects us from invalidation 46 46 textRangesWithAnnotations.forEach(({ textRange, annotation }, index) => { 47 - console.log(`[synthesis] Applying highlight ${index + 1}/${textRangesWithAnnotations.length}`); 47 + console.log(`[seams] Applying highlight ${index + 1}/${textRangesWithAnnotations.length}`); 48 48 try { 49 49 // Convert TextRange back to fresh DOM Range 50 50 const range = textRange.toRange(); 51 51 highlightRange(range, annotation, storage); 52 - console.log('[synthesis] Successfully highlighted annotation'); 52 + console.log('[seams] Successfully highlighted annotation'); 53 53 } catch (error) { 54 - console.warn('[synthesis] Failed to highlight range:', error); 54 + console.warn('[seams] Failed to highlight range:', error); 55 55 } 56 56 }); 57 57 58 - console.log('[synthesis] Finished applying highlights'); 58 + console.log('[seams] Finished applying highlights'); 59 59 } 60 60 61 61 function highlightRange(range: Range, annotation: Annotation, storage: StorageAdapter) { 62 - console.log('[synthesis] Highlighting range:', range.toString().substring(0, 50)); 62 + console.log('[seams] Highlighting range:', range.toString().substring(0, 50)); 63 63 64 64 const uri = annotation.uri; 65 65 const createdAt = annotation.value?.createdAt || (annotation as any).createdAt; 66 66 const annotationId = uri || createdAt; 67 67 68 68 const highlight = document.createElement('span'); 69 - highlight.className = 'synthesis-highlight'; 69 + highlight.className = 'seams-highlight'; 70 70 highlight.dataset.annotationId = annotationId; 71 71 highlight.style.cssText = ` 72 72 background-color: rgba(255, 235, 59, 0.6) !important; ··· 95 95 highlight.addEventListener('click', (e) => { 96 96 e.preventDefault(); 97 97 e.stopPropagation(); 98 - console.log('[synthesis] Clicked annotation:', annotation); 98 + console.log('[seams] Clicked annotation:', annotation); 99 99 100 100 showAnnotationPopover( 101 101 annotation, ··· 112 112 if (index !== -1) { 113 113 annotations[index] = updatedAnnotation; 114 114 await storage.set('annotations', annotations); 115 - console.log('[synthesis] Annotation updated:', updatedAnnotation); 115 + console.log('[seams] Annotation updated:', updatedAnnotation); 116 116 117 117 // Update the annotation object in memory so next click shows updated note 118 118 Object.assign(annotation, updatedAnnotation); ··· 128 128 return aCreated !== tCreated; 129 129 }); 130 130 await storage.set('annotations', filtered); 131 - console.log('[synthesis] Annotation deleted'); 131 + console.log('[seams] Annotation deleted'); 132 132 133 133 // Remove highlight 134 134 highlight.remove(); ··· 139 139 // Get whole text nodes (splits at boundaries) 140 140 try { 141 141 const textNodes = wholeTextNodesInRange(range); 142 - console.log('[synthesis] Found', textNodes.length, 'text nodes to highlight'); 142 + console.log('[seams] Found', textNodes.length, 'text nodes to highlight'); 143 143 144 144 if (textNodes.length === 0) { 145 - console.warn('[synthesis] No text nodes found in range'); 145 + console.warn('[seams] No text nodes found in range'); 146 146 return; 147 147 } 148 148 ··· 153 153 const annotationId = uri || createdAt; 154 154 155 155 const span = document.createElement('span'); 156 - span.className = 'synthesis-highlight'; 156 + span.className = 'seams-highlight'; 157 157 span.dataset.annotationId = annotationId; 158 158 span.style.cssText = highlight.style.cssText; 159 159 160 160 // Copy event listeners 161 161 span.addEventListener('mouseenter', () => { 162 162 const allSpans = document.querySelectorAll( 163 - `.synthesis-highlight[data-annotation-id="${annotationId}"]` 163 + `.seams-highlight[data-annotation-id="${annotationId}"]` 164 164 ); 165 165 allSpans.forEach(s => { 166 166 (s as HTMLElement).style.cssText = ` ··· 173 173 174 174 span.addEventListener('mouseleave', () => { 175 175 const allSpans = document.querySelectorAll( 176 - `.synthesis-highlight[data-annotation-id="${annotationId}"]` 176 + `.seams-highlight[data-annotation-id="${annotationId}"]` 177 177 ); 178 178 allSpans.forEach(s => { 179 179 (s as HTMLElement).style.cssText = ` ··· 187 187 span.addEventListener('click', (e) => { 188 188 e.preventDefault(); 189 189 e.stopPropagation(); 190 - console.log('[synthesis] Clicked annotation:', annotation); 190 + console.log('[seams] Clicked annotation:', annotation); 191 191 192 192 showAnnotationPopover( 193 193 annotation, ··· 203 203 if (idx !== -1) { 204 204 annotations[idx] = updatedAnnotation; 205 205 await storage.set('annotations', annotations); 206 - console.log('[synthesis] Annotation updated:', updatedAnnotation); 206 + console.log('[seams] Annotation updated:', updatedAnnotation); 207 207 Object.assign(annotation, updatedAnnotation); 208 208 } 209 209 }, ··· 216 216 return aCreated !== tCreated; 217 217 }); 218 218 await storage.set('annotations', filtered); 219 - console.log('[synthesis] Annotation deleted'); 219 + console.log('[seams] Annotation deleted'); 220 220 221 221 // Remove all highlight spans for this annotation 222 222 const allSpans = document.querySelectorAll( 223 - `.synthesis-highlight[data-annotation-id="${annotationId}"]` 223 + `.seams-highlight[data-annotation-id="${annotationId}"]` 224 224 ); 225 225 allSpans.forEach(s => s.remove()); 226 226 } ··· 235 235 } 236 236 }); 237 237 238 - console.log('[synthesis] Successfully applied highlight across', textNodes.length, 'text nodes'); 238 + console.log('[seams] Successfully applied highlight across', textNodes.length, 'text nodes'); 239 239 } catch (error) { 240 - console.error('[synthesis] Failed to apply highlight:', error); 240 + console.error('[seams] Failed to apply highlight:', error); 241 241 } 242 242 } 243 243 244 244 export function clearHighlights(container: HTMLElement = document.body) { 245 - const highlights = container.querySelectorAll('.synthesis-highlight'); 246 - console.log(`[synthesis] Clearing ${highlights.length} highlights`); 245 + const highlights = container.querySelectorAll('.seams-highlight'); 246 + console.log(`[seams] Clearing ${highlights.length} highlights`); 247 247 248 248 highlights.forEach(highlight => { 249 249 const parent = highlight.parentNode;
+5 -5
packages/core/src/utils/selectors/match.ts
··· 17 17 } 18 18 19 19 if (!selectors || selectors.length === 0) { 20 - console.warn('[synthesis] No selectors found in annotation'); 20 + console.warn('[seams] No selectors found in annotation'); 21 21 return null; 22 22 } 23 23 24 - console.log('[synthesis] Trying to match annotation with', selectors.length, 'selectors'); 24 + console.log('[seams] Trying to match annotation with', selectors.length, 'selectors'); 25 25 26 26 // Try TextQuoteSelector first (position-independent, works after DOM mutations) 27 27 // Then fall back to TextPositionSelector (faster but fragile) ··· 33 33 for (const selector of selectorsToTry) { 34 34 let range: Range | null = null; 35 35 36 - console.log('[synthesis] Trying selector type:', selector.$type); 36 + console.log('[seams] Trying selector type:', selector.$type); 37 37 38 38 switch (selector.$type) { 39 39 case 'community.lexicon.annotation.annotation#textPositionSelector': ··· 45 45 } 46 46 47 47 if (range) { 48 - console.log('[synthesis] Successfully matched with', selector.$type); 48 + console.log('[seams] Successfully matched with', selector.$type); 49 49 return range; 50 50 } 51 51 } 52 52 53 - console.warn('[synthesis] Could not match any selector'); 53 + console.warn('[seams] Could not match any selector'); 54 54 return null; 55 55 } 56 56
+342
proxy/COMMUNICATION_PROTOCOL.md
··· 1 + # Proxy Communication Protocol 2 + 3 + This document describes the postMessage-based communication protocol between the proxy client (content iframe) and the shell (parent frame). 4 + 5 + ## Architecture Overview 6 + 7 + The proxy uses a three-layer architecture where the content iframe cannot access `localStorage` directly (wabac.js sandboxing), so all storage operations are mediated through `postMessage`: 8 + 9 + ``` 10 + +-----------------------------------------------------------------------+ 11 + | Shell (index.html + shell.ts) | 12 + | Origin: http://127.0.0.1:8081 (dev) / https://sure.seams.so (prod) | 13 + | | 14 + | +---------------------------+ +-----------------------------------+ | 15 + | | Content iframe (#content)| | Sidebar container | | 16 + | | | | (SeamsSidebar web component) | | 17 + | | wabac.js proxied pages | | | | 18 + | | Same-origin via SW | | Uses WebStorageAdapter | | 19 + | | | | (localStorage + BroadcastChannel)| | 20 + | | - main.ts (client) | | | | 21 + | | - PostMessageStorageAdapter | Contains Sidebar class | | 22 + | | - ProxyContentScript | | | | 23 + | +---------------------------+ +-----------------------------------+ | 24 + | | 25 + | BackgroundWorker - fetches annotations from backend | 26 + | WebStorageAdapter - localStorage access + BroadcastChannel | 27 + +-----------------------------------------------------------------------+ 28 + ``` 29 + 30 + **Key Point**: The content iframe is served **same-origin** with the shell via wabac.js service worker interception. The iframe loads URLs like `/w/liveproxy/mp_/https://example.com` which the service worker intercepts and serves from the shell's origin. 31 + 32 + ## Message Types 33 + 34 + ### Content -> Shell Messages 35 + 36 + #### `SEAMS_PAGE_URL` 37 + 38 + Reports the current proxied page URL to the shell. 39 + 40 + | Field | Type | Description | 41 + |-------|------|-------------| 42 + | `type` | `'SEAMS_PAGE_URL'` | Message type identifier | 43 + | `url` | `string` | Normalized URL of the proxied page | 44 + 45 + **Sender**: `proxy/src/main.ts:113-116` (on init and popstate) 46 + **Handler**: `proxy/src/shell.ts:129-139` 47 + 48 + **Handler Actions**: 49 + 1. Updates `currentUrl` tracking variable 50 + 2. Calls `backgroundWorker.setCurrentUrl(url)` to fetch annotations from backend 51 + 3. Calls `sidebar.setCurrentUrl(url)` to update sidebar display 52 + 53 + --- 54 + 55 + #### `SELECTION_CHANGED` 56 + 57 + Notifies the shell when the user selects text in the proxied page. 58 + 59 + | Field | Type | Description | 60 + |-------|------|-------------| 61 + | `type` | `'SELECTION_CHANGED'` | Message type identifier | 62 + | `payload` | `{ text: string, selectors: any[] } \| null` | Selection data or null when cleared | 63 + 64 + **Sender**: `proxy/src/main.ts:52-58` via `ProxyContentScript.onSelectionChange` 65 + **Handler**: `proxy/src/shell.ts:142-146` 66 + 67 + **Handler Actions**: 68 + 1. Calls `sidebar.setSelection(payload)` to update the annotation form UI 69 + 70 + --- 71 + 72 + #### `ACTIVATE_ANNOTATION` 73 + 74 + Signals that the user clicked the floating "Annotate" button. 75 + 76 + | Field | Type | Description | 77 + |-------|------|-------------| 78 + | `type` | `'ACTIVATE_ANNOTATION'` | Message type identifier | 79 + | `payload` | `null` | No payload | 80 + 81 + **Sender**: `proxy/src/main.ts:45-51` via `ProxyContentScript.onAnnotate` 82 + **Handler**: `proxy/src/shell.ts:149-153` 83 + 84 + **Handler Actions**: 85 + 1. Calls `sidebar.handleActivateAnnotation()` to focus the annotation textarea 86 + 87 + --- 88 + 89 + #### `GET_ANNOTATIONS` 90 + 91 + Requests annotations data from the shell's storage. 92 + 93 + | Field | Type | Description | 94 + |-------|------|-------------| 95 + | `type` | `'GET_ANNOTATIONS'` | Message type identifier | 96 + | `requestId` | `string` | Unique request ID (format: `req_{timestamp}_{random}`) | 97 + 98 + **Sender**: `packages/core/src/storage/postmessage.ts:113-118` 99 + **Handler**: `proxy/src/shell.ts:125-126` -> `handleGetAnnotations()` 100 + 101 + **Handler Actions**: 102 + 1. Retrieves annotations from `WebStorageAdapter` 103 + 2. Sends `ANNOTATIONS_DATA` response with matching `requestId` 104 + 105 + --- 106 + 107 + ### Shell -> Content Messages 108 + 109 + #### `ANNOTATIONS_DATA` 110 + 111 + Response to a `GET_ANNOTATIONS` request. 112 + 113 + | Field | Type | Description | 114 + |-------|------|-------------| 115 + | `type` | `'ANNOTATIONS_DATA'` | Message type identifier | 116 + | `requestId` | `string` | Matches the request's `requestId` | 117 + | `annotations` | `Annotation[]` | Array of annotation objects | 118 + 119 + **Sender**: `proxy/src/shell.ts:93-97` 120 + **Handler**: `packages/core/src/storage/postmessage.ts:39-45` 121 + 122 + **Handler Actions**: 123 + 1. Resolves the pending Promise for the matching `requestId` 124 + 2. Clears the timeout timer 125 + 126 + --- 127 + 128 + #### `ANNOTATIONS_UPDATED` 129 + 130 + Push notification when storage changes (e.g., after sync or new annotation created). 131 + 132 + | Field | Type | Description | 133 + |-------|------|-------------| 134 + | `type` | `'ANNOTATIONS_UPDATED'` | Message type identifier | 135 + | `annotations` | `Annotation[]` | Complete array of annotation objects | 136 + 137 + **Sender**: `proxy/src/shell.ts:77-80` via `pushAnnotationsToContent()` 138 + **Handler**: `packages/core/src/storage/postmessage.ts:46-54` 139 + 140 + **Handler Actions**: 141 + 1. Notifies all registered `onChange` listeners 142 + 2. Triggers `BaseContentScript.loadAndRenderHighlights()` to re-render highlights 143 + 144 + --- 145 + 146 + ## Data Flows 147 + 148 + ### Text Selection -> Sidebar Display 149 + 150 + ``` 151 + Content iframe Shell Sidebar 152 + | | | 153 + 1. selectionchange event | | 154 + | | | 155 + 2. BaseContentScript debounces | | 156 + (150ms) | | 157 + | | | 158 + 3. generateSelectors() | | 159 + | | | 160 + 4. notifySelectionChange() | | 161 + | | | 162 + 5. AnnotationUIManager.showButton() | | 163 + (floating button appears) | | 164 + | | | 165 + 6. postMessage({ | | 166 + type: 'SELECTION_CHANGED', | | 167 + payload: { text, selectors } | | 168 + }) | | 169 + |------------------------------->| | 170 + | | | 171 + | 7. handleMessage() validates | 172 + | origin and source | 173 + | | | 174 + | 8. sidebar.setSelection(payload) | 175 + | |------------------------------->| 176 + | | | 177 + | | 9. updateSelectionUI() 178 + | | shows #annotation-form 179 + ``` 180 + 181 + ### Page Load -> Highlights Rendering 182 + 183 + ``` 184 + Content iframe Shell 185 + | | 186 + 1. init() called | 187 + | | 188 + 2. postMessage({ | 189 + type: 'SEAMS_PAGE_URL', | 190 + url: '...' | 191 + }) | 192 + |------------------------------->| 193 + | | 194 + | 3. backgroundWorker.setCurrentUrl() 195 + | | 196 + | 4. fetchAnnotations() from backend 197 + | | 198 + | 5. storage.set('annotations', [...]) 199 + | | 200 + | 6. storage.onChange() fires 201 + | | 202 + | 7. pushAnnotationsToContent() 203 + | | 204 + |<-------------------------------| 205 + | { type: 'ANNOTATIONS_UPDATED',| 206 + | annotations: [...] } | 207 + | | 208 + 8. PostMessageStorageAdapter | 209 + handleMessage() | 210 + | | 211 + 9. onChange listeners notified | 212 + | | 213 + 10. loadAndRenderHighlights() | 214 + | | 215 + 11. applyHighlights() renders | 216 + highlight spans | 217 + ``` 218 + 219 + ### Annotation Request/Response Cycle 220 + 221 + ``` 222 + Content iframe Shell 223 + | | 224 + 1. storage.get('annotations') | 225 + | | 226 + 2. requestAnnotations() | 227 + | | 228 + 3. postMessage({ | 229 + type: 'GET_ANNOTATIONS', | 230 + requestId: 'req_...' | 231 + }) | 232 + |------------------------------->| 233 + | | 234 + | 4. handleGetAnnotations() 235 + | | 236 + | 5. storage.get('annotations') 237 + | | 238 + |<-------------------------------| 239 + | { type: 'ANNOTATIONS_DATA', | 240 + | requestId: 'req_...', | 241 + | annotations: [...] } | 242 + | | 243 + 6. Promise resolves with | 244 + annotations array | 245 + ``` 246 + 247 + ## Origin Security 248 + 249 + ### Shell-side Validation (shell.ts:109-120) 250 + 251 + ```typescript 252 + function handleMessage(event: MessageEvent): void { 253 + // Validate origin - content iframe is same-origin via service worker 254 + if (event.origin !== window.location.origin) { 255 + return; // Silently drop messages from other origins 256 + } 257 + 258 + // Only handle messages from content iframe 259 + const isFromContent = contentFrame && event.source === contentFrame.contentWindow; 260 + if (!isFromContent) return; // Silently drop messages from other sources 261 + 262 + // ... handle message 263 + } 264 + ``` 265 + 266 + ### Content-side Origin Determination (main.ts:11-30) 267 + 268 + ```typescript 269 + function getShellOrigin(): string { 270 + try { 271 + if (window.parent !== window) { 272 + if (document.referrer) { 273 + const referrerOrigin = new URL(document.referrer).origin; 274 + if (isAllowedOrigin(referrerOrigin)) { 275 + return referrerOrigin; 276 + } 277 + } 278 + } 279 + } catch { 280 + // Ignore errors 281 + } 282 + return 'https://sure.seams.so'; // Fallback to production 283 + } 284 + ``` 285 + 286 + **Known Issue**: The fallback to `https://sure.seams.so` is incorrect for development environments where the shell runs at `http://127.0.0.1:8081`. If `document.referrer` is empty (common for same-origin iframe loads), messages will be sent to the wrong origin and silently dropped. 287 + 288 + ### Allowed Origins (constants.ts) 289 + 290 + ```typescript 291 + export const ALLOWED_ORIGINS = [ 292 + 'http://127.0.0.1:8081', 293 + 'https://sure.seams.so', 294 + ] as const; 295 + ``` 296 + 297 + ## PostMessageStorageAdapter Behavior 298 + 299 + ### Timeout Handling 300 + 301 + `GET_ANNOTATIONS` requests timeout after 5 seconds: 302 + 303 + ```typescript 304 + const timeout = setTimeout(() => { 305 + this.pendingRequests.delete(requestId); 306 + console.warn('[PostMessageStorageAdapter] GET_ANNOTATIONS request timed out'); 307 + resolve([]); // Returns empty array rather than rejecting 308 + }, 5000); 309 + ``` 310 + 311 + This prevents the content script from blocking indefinitely but may mask communication failures. 312 + 313 + ### Read-Only Storage 314 + 315 + The `PostMessageStorageAdapter.set()` method is a no-op: 316 + 317 + ```typescript 318 + async set(_key: string, _value: any): Promise<void> { 319 + console.warn('[PostMessageStorageAdapter] set() called but content script is read-only'); 320 + } 321 + ``` 322 + 323 + All writes must go through: Sidebar -> PDSClient -> Backend -> BackgroundWorker -> WebStorageAdapter -> ANNOTATIONS_UPDATED push. 324 + 325 + ## Debugging 326 + 327 + ### Console Log Prefixes 328 + 329 + | Prefix | Location | 330 + |--------|----------| 331 + | `[seams-client]` | Content iframe (`proxy/src/main.ts`) | 332 + | `[shell]` | Shell (`proxy/src/shell.ts`) | 333 + | `[PostMessageStorageAdapter]` | Content storage adapter (`packages/core/src/storage/postmessage.ts`) | 334 + | `[content]` | Base content script (`packages/core/src/content/base.ts`) | 335 + | `[sidebar]` | Sidebar (`packages/core/src/sidebar/index.ts`) | 336 + 337 + ### Key Debug Points 338 + 339 + 1. **Content iframe sends message**: Look for `[seams-client] Shell origin:` to verify target origin 340 + 2. **Shell receives message**: Look for `[shell] Message from content iframe:` - if missing, origin/source validation failed 341 + 3. **Annotations pushed**: Look for `[shell] Pushing X annotations to content iframe` 342 + 4. **Content receives annotations**: Look for `[PostMessageStorageAdapter] Received annotations update`
+1 -1
proxy/html/oauth-callback.html proxy/oauth-callback.html
··· 72 72 <h2>Connecting...</h2> 73 73 <p id="status">Completing authentication</p> 74 74 </div> 75 - <script type="module" src="../src/oauth-callback.ts"></script> 75 + <script type="module" src="./src/oauth-callback.ts"></script> 76 76 </body> 77 77 </html>
+1 -1
proxy/html/seams-shell.html proxy/seams-shell.html
··· 7 7 </head> 8 8 <body> 9 9 <!-- Shell script - manages BackgroundWorker and message routing --> 10 - <script type="module" src="../src/shell.ts"></script> 10 + <script type="module" src="./src/shell.ts"></script> 11 11 </body> 12 12 </html>
+1 -1
proxy/package.json
··· 2 2 "name": "seams-proxy", 3 3 "private": true, 4 4 "scripts": { 5 - "postinstall": "mkdir -p dist && cp node_modules/@webrecorder/wabac/dist/sw.js dist/sw.js" 5 + "postinstall": "mkdir -p public && cp node_modules/@webrecorder/wabac/dist/sw.js public/sw.js" 6 6 }, 7 7 "dependencies": { 8 8 "@webrecorder/wabac": "^2.20.0"
+122
proxy/public/sw.js
··· 1 + /*! sw.js (wabac.js 2.25.2) is part of Webrecorder project. Copyright (C) 2020-2025, Webrecorder Software. Licensed under the Affero General Public License v3. */var t={7526:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=a(t),o=s[0],c=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,c)),h=0,u=c>0?o-4:o;for(r=0;r<u;r+=4)e=i[t.charCodeAt(r)]<<18|i[t.charCodeAt(r+1)]<<12|i[t.charCodeAt(r+2)]<<6|i[t.charCodeAt(r+3)],l[h++]=e>>16&255,l[h++]=e>>8&255,l[h++]=255&e;2===c&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e);1===c&&(e=i[t.charCodeAt(r)]<<10|i[t.charCodeAt(r+1)]<<4|i[t.charCodeAt(r+2)]>>2,l[h++]=e>>8&255,l[h++]=255&e);return l},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c:a+o));1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function l(t,e,r){for(var i,n=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),n.push(c(i));return n.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},6035:t=>{var e=4096,r=new Uint32Array([0,1,3,7,15,31,63,127,255,511,1023,2047,4095,8191,16383,32767,65535,131071,262143,524287,1048575,2097151,4194303,8388607,16777215]);function i(t){this.buf_=new Uint8Array(8224),this.input_=t,this.reset()}i.READ_SIZE=e,i.IBUF_MASK=8191,i.prototype.reset=function(){this.buf_ptr_=0,this.val_=0,this.pos_=0,this.bit_pos_=0,this.bit_end_pos_=0,this.eos_=0,this.readMoreInput();for(var t=0;t<4;t++)this.val_|=this.buf_[this.pos_]<<8*t,++this.pos_;return this.bit_end_pos_>0},i.prototype.readMoreInput=function(){if(!(this.bit_end_pos_>256))if(this.eos_){if(this.bit_pos_>this.bit_end_pos_)throw new Error("Unexpected end of input "+this.bit_pos_+" "+this.bit_end_pos_)}else{var t=this.buf_ptr_,r=this.input_.read(this.buf_,t,e);if(r<0)throw new Error("Unexpected end of input");if(r<e){this.eos_=1;for(var i=0;i<32;i++)this.buf_[t+r+i]=0}if(0===t){for(i=0;i<32;i++)this.buf_[8192+i]=this.buf_[i];this.buf_ptr_=e}else this.buf_ptr_=0;this.bit_end_pos_+=r<<3}},i.prototype.fillBitWindow=function(){for(;this.bit_pos_>=8;)this.val_>>>=8,this.val_|=this.buf_[8191&this.pos_]<<24,++this.pos_,this.bit_pos_=this.bit_pos_-8>>>0,this.bit_end_pos_=this.bit_end_pos_-8>>>0},i.prototype.readBits=function(t){32-this.bit_pos_<t&&this.fillBitWindow();var e=this.val_>>>this.bit_pos_&r[t];return this.bit_pos_+=t,e},t.exports=i},2805:(t,e)=>{e.lookup=new Uint8Array([0,0,0,0,0,0,0,0,0,4,4,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,12,16,12,12,20,12,16,24,28,12,12,32,12,36,12,44,44,44,44,44,44,44,44,44,44,32,32,24,40,28,12,12,48,52,52,52,48,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,48,52,52,52,52,52,24,12,28,12,12,12,56,60,60,60,56,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,56,60,60,60,60,60,24,12,28,12,0,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,2,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,1,1,1,1,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,0,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,24,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,32,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,40,48,48,48,48,48,48,48,48,48,48,48,48,48,48,48,56,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,6,6,6,6,7,7,7,7,8,8,8,8,9,9,9,9,10,10,10,10,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,14,15,15,15,15,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,22,22,22,22,23,23,23,23,24,24,24,24,25,25,25,25,26,26,26,26,27,27,27,27,28,28,28,28,29,29,29,29,30,30,30,30,31,31,31,31,32,32,32,32,33,33,33,33,34,34,34,34,35,35,35,35,36,36,36,36,37,37,37,37,38,38,38,38,39,39,39,39,40,40,40,40,41,41,41,41,42,42,42,42,43,43,43,43,44,44,44,44,45,45,45,45,46,46,46,46,47,47,47,47,48,48,48,48,49,49,49,49,50,50,50,50,51,51,51,51,52,52,52,52,53,53,53,53,54,54,54,54,55,55,55,55,56,56,56,56,57,57,57,57,58,58,58,58,59,59,59,59,60,60,60,60,61,61,61,61,62,62,62,62,63,63,63,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]),e.lookupOffsets=new Uint16Array([1024,1536,1280,1536,0,256,768,512])},9206:(t,e,r)=>{var i=r(4927).z,n=r(4927).y,s=r(6035),o=r(8712),a=r(8171).z,c=r(8171).u,l=r(2805),h=r(7708),u=r(8270),p=1080,d=new Uint8Array([1,2,3,4,0,5,17,6,16,7,8,9,10,11,12,13,14,15]),f=new Uint8Array([3,2,1,0,3,3,3,3,3,3,2,2,2,2,2,2]),g=new Int8Array([0,0,0,0,-1,1,-2,2,-3,3,-1,1,-2,2,-3,3]),m=new Uint16Array([256,402,436,468,500,534,566,598,630,662,694,726,758,790,822,854,886,920,952,984,1016,1048,1080]);function y(t){var e;return 0===t.readBits(1)?16:(e=t.readBits(3))>0?17+e:(e=t.readBits(3))>0?8+e:17}function w(t){if(t.readBits(1)){var e=t.readBits(3);return 0===e?1:t.readBits(e)+(1<<e)}return 0}function A(){this.meta_block_length=0,this.input_end=0,this.is_uncompressed=0,this.is_metadata=!1}function b(t){var e,r,i,n=new A;if(n.input_end=t.readBits(1),n.input_end&&t.readBits(1))return n;if(7===(e=t.readBits(2)+4)){if(n.is_metadata=!0,0!==t.readBits(1))throw new Error("Invalid reserved bit");if(0===(r=t.readBits(2)))return n;for(i=0;i<r;i++){var s=t.readBits(8);if(i+1===r&&r>1&&0===s)throw new Error("Invalid size byte");n.meta_block_length|=s<<8*i}}else for(i=0;i<e;++i){var o=t.readBits(4);if(i+1===e&&e>4&&0===o)throw new Error("Invalid size nibble");n.meta_block_length|=o<<4*i}return++n.meta_block_length,n.input_end||n.is_metadata||(n.is_uncompressed=t.readBits(1)),n}function v(t,e,r){var i;return r.fillBitWindow(),(i=t[e+=r.val_>>>r.bit_pos_&255].bits-8)>0&&(r.bit_pos_+=8,e+=t[e].value,e+=r.val_>>>r.bit_pos_&(1<<i)-1),r.bit_pos_+=t[e].bits,t[e].value}function E(t,e,r,i){var n,s,o=new Uint8Array(t);if(i.readMoreInput(),1===(s=i.readBits(2))){for(var l=t-1,h=0,u=new Int32Array(4),p=i.readBits(2)+1;l;)l>>=1,++h;for(f=0;f<p;++f)u[f]=i.readBits(h)%t,o[u[f]]=2;switch(o[u[0]]=1,p){case 1:break;case 3:if(u[0]===u[1]||u[0]===u[2]||u[1]===u[2])throw new Error("[ReadHuffmanCode] invalid symbols");break;case 2:if(u[0]===u[1])throw new Error("[ReadHuffmanCode] invalid symbols");o[u[1]]=1;break;case 4:if(u[0]===u[1]||u[0]===u[2]||u[0]===u[3]||u[1]===u[2]||u[1]===u[3]||u[2]===u[3])throw new Error("[ReadHuffmanCode] invalid symbols");i.readBits(1)?(o[u[2]]=3,o[u[3]]=3):o[u[0]]=2}}else{var f,g=new Uint8Array(18),m=32,y=0,w=[new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,1),new a(2,0),new a(2,4),new a(2,3),new a(3,2),new a(2,0),new a(2,4),new a(2,3),new a(4,5)];for(f=s;f<18&&m>0;++f){var A,b=d[f],v=0;i.fillBitWindow(),v+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=w[v].bits,A=w[v].value,g[b]=A,0!==A&&(m-=32>>A,++y)}if(1!==y&&0!==m)throw new Error("[ReadHuffmanCode] invalid num_codes or space");!function(t,e,r,i){for(var n=0,s=8,o=0,l=0,h=32768,u=[],p=0;p<32;p++)u.push(new a(0,0));for(c(u,0,5,t,18);n<e&&h>0;){var d,f=0;if(i.readMoreInput(),i.fillBitWindow(),f+=i.val_>>>i.bit_pos_&31,i.bit_pos_+=u[f].bits,(d=255&u[f].value)<16)o=0,r[n++]=d,0!==d&&(s=d,h-=32768>>d);else{var g,m,y=d-14,w=0;if(16===d&&(w=s),l!==w&&(o=0,l=w),g=o,o>0&&(o-=2,o<<=y),n+(m=(o+=i.readBits(y)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var A=0;A<m;A++)r[n+A]=l;n+=m,0!==l&&(h-=m<<15-l)}}if(0!==h)throw new Error("[ReadHuffmanCodeLengths] space = "+h);for(;n<e;n++)r[n]=0}(g,t,o,i)}if(0===(n=c(e,r,8,o,t)))throw new Error("[ReadHuffmanCode] BuildHuffmanTable failed: ");return n}function _(t,e,r){var i,n;return i=v(t,e,r),n=h.kBlockLengthPrefixCode[i].nbits,h.kBlockLengthPrefixCode[i].offset+r.readBits(n)}function x(t,e,r){var i;return t<16?(r+=f[t],i=e[r&=3]+g[t]):i=t-16+1,i}function I(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function S(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*m[t+31>>>5]),this.htrees=new Uint32Array(e)}function T(t,e){var r,i,n={num_htrees:null,context_map:null},s=0;e.readMoreInput();var o=n.num_htrees=w(e)+1,c=n.context_map=new Uint8Array(t);if(o<=1)return n;for(e.readBits(1)&&(s=e.readBits(4)+1),r=[],i=0;i<p;i++)r[i]=new a(0,0);for(E(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=v(r,0,e)))c[i]=0,++i;else if(l<=s)for(var h=1+(1<<l)+e.readBits(l);--h;){if(i>=t)throw new Error("[DecodeContextMap] i >= context_map_size");c[i]=0,++i}else c[i]=l-s,++i}return e.readBits(1)&&function(t,e){var r,i=new Uint8Array(256);for(r=0;r<256;++r)i[r]=r;for(r=0;r<e;++r){var n=t[r];t[r]=i[n],n&&I(i,n)}}(c,t),n}function C(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=v(e,r*p,o);(a=0===h?n[c+(1&s[l])]:1===h?n[c+(s[l]-1&1)]+1:h-2)>=t&&(a-=t),i[r]=a,n[c+(1&s[l])]=a,++s[l]}function R(t,e,r,i,n,o){var a,c=n+1,l=r&n,h=o.pos_&s.IBUF_MASK;if(e<8||o.bit_pos_+(e<<3)<o.bit_end_pos_)for(;e-- >0;)o.readMoreInput(),i[l++]=o.readBits(8),l===c&&(t.write(i,c),l=0);else{if(o.bit_end_pos_<32)throw new Error("[CopyUncompressedBlockToOutput] br.bit_end_pos_ < 32");for(;o.bit_pos_<32;)i[l]=o.val_>>>o.bit_pos_,o.bit_pos_+=8,++l,--e;if(h+(a=o.bit_end_pos_-o.bit_pos_>>3)>s.IBUF_MASK){for(var u=s.IBUF_MASK+1-h,p=0;p<u;p++)i[l+p]=o.buf_[h+p];a-=u,l+=u,e-=u,h=0}for(p=0;p<a;p++)i[l+p]=o.buf_[h+p];if(e-=a,(l+=a)>=c){t.write(i,c),l-=c;for(p=0;p<l;p++)i[p]=i[c+p]}for(;l+e>=c;){if(a=c-l,o.input_.read(i,l,a)<a)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");t.write(i,c),e-=a,l=0}if(o.input_.read(i,l,e)<e)throw new Error("[CopyUncompressedBlockToOutput] not enough bytes");o.reset()}}function k(t){var e=t.bit_pos_+7&-8;return 0==t.readBits(e-t.bit_pos_)}function B(t){var e=new i(t),r=new s(e);return y(r),b(r).meta_block_length}function N(t,e){var r,i,n,c,d,f,g,m,A,I,B=0,N=0,O=0,D=[16,15,11,4],P=0,L=0,U=0,M=[new S(0,0),new S(0,0),new S(0,0)],F=128+s.READ_SIZE;n=(1<<(i=y(I=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,m=[],A=[];for(var H=0;H<3240;H++)m[H]=new a(0,0),A[H]=new a(0,0);for(;!N;){var j,W,Q,z,V,G,q,K,X,Y,J,Z=0,$=[1<<28,1<<28,1<<28],tt=[0],et=[1,1,1],rt=[0,1,0,1,0,1],it=[0],nt=null,st=null,ot=0,at=null,ct=0,lt=0,ht=0;for(r=0;r<3;++r)M[r].codes=null,M[r].htrees=null;I.readMoreInput();var ut=b(I);if(B+(Z=ut.meta_block_length)>e.buffer.length){var pt=new Uint8Array(B+Z);pt.set(e.buffer),e.buffer=pt}if(N=ut.input_end,j=ut.is_uncompressed,ut.is_metadata)for(k(I);Z>0;--Z)I.readMoreInput(),I.readBits(8);else if(0!==Z)if(j)I.bit_pos_=I.bit_pos_+7&-8,R(e,Z,B,f,d,I),B+=Z;else{for(r=0;r<3;++r)et[r]=w(I)+1,et[r]>=2&&(E(et[r]+2,m,r*p,I),E(26,A,r*p,I),$[r]=_(A,r*p,I),it[r]=1);for(I.readMoreInput(),z=(1<<(W=I.readBits(2)))-1,V=(Q=16+(I.readBits(4)<<W))+(48<<W),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)I.readMoreInput(),nt[r]=I.readBits(2)<<1;var dt=T(et[0]<<6,I);q=dt.num_htrees,G=dt.context_map;var ft=T(et[2]<<2,I);for(X=ft.num_htrees,K=ft.context_map,M[0]=new S(256,q),M[1]=new S(704,et[1]),M[2]=new S(V,X),r=0;r<3;++r)M[r].decode(I);for(st=0,at=0,Y=nt[tt[0]],lt=l.lookupOffsets[Y],ht=l.lookupOffsets[Y+1],J=M[1].htrees[0];Z>0;){var gt,mt,yt,wt,At,bt,vt,Et,_t,xt,It,St;for(I.readMoreInput(),0===$[1]&&(C(et[1],m,1,tt,rt,it,I),$[1]=_(A,p,I),J=M[1].htrees[tt[1]]),--$[1],(mt=(gt=v(M[1].codes,J,I))>>6)>=2?(mt-=2,vt=-1):vt=0,yt=h.kInsertRangeLut[mt]+(gt>>3&7),wt=h.kCopyRangeLut[mt]+(7&gt),At=h.kInsertLengthPrefixCode[yt].offset+I.readBits(h.kInsertLengthPrefixCode[yt].nbits),bt=h.kCopyLengthPrefixCode[wt].offset+I.readBits(h.kCopyLengthPrefixCode[wt].nbits),L=f[B-1&d],U=f[B-2&d],_t=0;_t<At;++_t)I.readMoreInput(),0===$[0]&&(C(et[0],m,0,tt,rt,it,I),$[0]=_(A,0,I),st=tt[0]<<6,Y=nt[tt[0]],lt=l.lookupOffsets[Y],ht=l.lookupOffsets[Y+1]),ot=G[st+(l.lookup[lt+L]|l.lookup[ht+U])],--$[0],U=L,L=v(M[0].codes,M[0].htrees[ot],I),f[B&d]=L,(B&d)===d&&e.write(f,c),++B;if((Z-=At)<=0)break;if(vt<0)if(I.readMoreInput(),0===$[2]&&(C(et[2],m,2,tt,rt,it,I),$[2]=_(A,2160,I),at=tt[2]<<2),--$[2],ct=K[at+(255&(bt>4?3:bt-2))],(vt=v(M[2].codes,M[2].htrees[ct],I))>=Q)St=(vt-=Q)&z,vt=Q+((Tt=(2+(1&(vt>>=W))<<(It=1+(vt>>1)))-4)+I.readBits(It)<<W)+St;if((Et=x(vt,D,P))<0)throw new Error("[BrotliDecompress] invalid distance");if(xt=B&d,Et>(O=B<n&&O!==n?B:n)){if(!(bt>=o.minDictionaryWordLength&&bt<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+B+" distance: "+Et+" len: "+bt+" bytes left: "+Z);var Tt=o.offsetsByLength[bt],Ct=Et-O-1,Rt=o.sizeBitsByLength[bt],kt=Ct>>Rt;if(Tt+=(Ct&(1<<Rt)-1)*bt,!(kt<u.kNumTransforms))throw new Error("Invalid backward reference. pos: "+B+" distance: "+Et+" len: "+bt+" bytes left: "+Z);var Bt=u.transformDictionaryWord(f,xt,Tt,bt,kt);if(B+=Bt,Z-=Bt,(xt+=Bt)>=g){e.write(f,c);for(var Nt=0;Nt<xt-g;Nt++)f[Nt]=f[g+Nt]}}else{if(vt>0&&(D[3&P]=Et,++P),bt>Z)throw new Error("Invalid backward reference. pos: "+B+" distance: "+Et+" len: "+bt+" bytes left: "+Z);for(_t=0;_t<bt;++_t)f[B&d]=f[B-Et&d],(B&d)===d&&e.write(f,c),++B,--Z}L=f[B-1&d],U=f[B-2&d]}B&=1073741823}}e.write(f,B&d)}S.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=E(this.alphabet_size,this.codes,r,t)},e.BrotliDecompressBuffer=function(t,e){var r=new i(t);null==e&&(e=B(t));var s=new Uint8Array(e),o=new n(s);return N(r,o),o.pos<o.buffer.length&&(o.buffer=o.buffer.subarray(0,o.pos)),o.buffer},o.init()},9017:(t,e,r)=>{var i=r(3390);e.init=function(){return(0,r(9206).BrotliDecompressBuffer)(i.toByteArray(r(7611)))}},7611:t=>{t.exports="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"},8712:(t,e,r)=>{var i=r(9017);e.init=function(){e.dictionary=i.init()},e.offsetsByLength=new Uint32Array([0,0,0,0,0,4096,9216,21504,35840,44032,53248,63488,74752,87040,93696,100864,104704,106752,108928,113536,115968,118528,119872,121280,122016]),e.sizeBitsByLength=new Uint8Array([0,0,0,0,10,10,11,11,10,10,10,10,10,9,9,8,7,7,8,7,7,6,6,5,5]),e.minDictionaryWordLength=4,e.maxDictionaryWordLength=24},8171:(t,e)=>{function r(t,e){this.bits=t,this.value=e}e.z=r;var i=15;function n(t,e){for(var r=1<<e-1;t&r;)r>>=1;return(t&r-1)+r}function s(t,e,i,n,s){do{t[e+(n-=i)]=new r(s.bits,s.value)}while(n>0)}function o(t,e,r){for(var n=1<<e-r;e<i&&!((n-=t[e])<=0);)++e,n<<=1;return e-r}e.u=function(t,e,a,c,l){var h,u,p,d,f,g,m,y,w,A,b=e,v=new Int32Array(16),E=new Int32Array(16);for(A=new Int32Array(l),u=0;u<l;u++)v[c[u]]++;for(E[1]=0,h=1;h<i;h++)E[h+1]=E[h]+v[h];for(u=0;u<l;u++)0!==c[u]&&(A[E[c[u]]++]=u);if(w=y=1<<(m=a),1===E[15]){for(p=0;p<w;++p)t[e+p]=new r(0,65535&A[0]);return w}for(p=0,u=0,h=1,d=2;h<=a;++h,d<<=1)for(;v[h]>0;--v[h])s(t,e+p,d,y,new r(255&h,65535&A[u++])),p=n(p,h);for(g=w-1,f=-1,h=a+1,d=2;h<=i;++h,d<<=1)for(;v[h]>0;--v[h])(p&g)!==f&&(e+=y,w+=y=1<<(m=o(v,h,a)),t[b+(f=p&g)]=new r(m+a&255,e-b-f&65535)),s(t,e+(p>>a),d,y,new r(h-a&255,65535&A[u++])),p=n(p,h);return w}},7708:(t,e)=>{function r(t,e){this.offset=t,this.nbits=e}e.kBlockLengthPrefixCode=[new r(1,2),new r(5,2),new r(9,2),new r(13,2),new r(17,3),new r(25,3),new r(33,3),new r(41,3),new r(49,4),new r(65,4),new r(81,4),new r(97,4),new r(113,5),new r(145,5),new r(177,5),new r(209,5),new r(241,6),new r(305,6),new r(369,7),new r(497,8),new r(753,9),new r(1265,10),new r(2289,11),new r(4337,12),new r(8433,13),new r(16625,24)],e.kInsertLengthPrefixCode=[new r(0,0),new r(1,0),new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,1),new r(8,1),new r(10,2),new r(14,2),new r(18,3),new r(26,3),new r(34,4),new r(50,4),new r(66,5),new r(98,5),new r(130,6),new r(194,7),new r(322,8),new r(578,9),new r(1090,10),new r(2114,12),new r(6210,14),new r(22594,24)],e.kCopyLengthPrefixCode=[new r(2,0),new r(3,0),new r(4,0),new r(5,0),new r(6,0),new r(7,0),new r(8,0),new r(9,0),new r(10,1),new r(12,1),new r(14,2),new r(18,2),new r(22,3),new r(30,3),new r(38,4),new r(54,4),new r(70,5),new r(102,5),new r(134,6),new r(198,7),new r(326,8),new r(582,9),new r(1094,10),new r(2118,24)],e.kInsertRangeLut=[0,0,8,8,0,16,8,16,16],e.kCopyRangeLut=[0,8,0,8,16,0,16,8,16]},4927:(t,e)=>{function r(t){this.buffer=t,this.pos=0}function i(t){this.buffer=t,this.pos=0}r.prototype.read=function(t,e,r){this.pos+r>this.buffer.length&&(r=this.buffer.length-this.pos);for(var i=0;i<r;i++)t[e+i]=this.buffer[this.pos+i];return this.pos+=r,r},e.z=r,i.prototype.write=function(t,e){if(this.pos+e>this.buffer.length)throw new Error("Output buffer is not large enough");return this.buffer.set(t.subarray(0,e),this.pos),this.pos+=e,e},e.y=i},8270:(t,e,r)=>{var i=r(8712),n=10,s=11;function o(t,e,r){this.prefix=new Uint8Array(t.length),this.transform=e,this.suffix=new Uint8Array(r.length);for(var i=0;i<t.length;i++)this.prefix[i]=t.charCodeAt(i);for(i=0;i<r.length;i++)this.suffix[i]=r.charCodeAt(i)}var a=[new o("",0,""),new o("",0," "),new o(" ",0," "),new o("",12,""),new o("",n," "),new o("",0," the "),new o(" ",0,""),new o("s ",0," "),new o("",0," of "),new o("",n,""),new o("",0," and "),new o("",13,""),new o("",1,""),new o(", ",0," "),new o("",0,", "),new o(" ",n," "),new o("",0," in "),new o("",0," to "),new o("e ",0," "),new o("",0,'"'),new o("",0,"."),new o("",0,'">'),new o("",0,"\n"),new o("",3,""),new o("",0,"]"),new o("",0," for "),new o("",14,""),new o("",2,""),new o("",0," a "),new o("",0," that "),new o(" ",n,""),new o("",0,". "),new o(".",0,""),new o(" ",0,", "),new o("",15,""),new o("",0," with "),new o("",0,"'"),new o("",0," from "),new o("",0," by "),new o("",16,""),new o("",17,""),new o(" the ",0,""),new o("",4,""),new o("",0,". The "),new o("",s,""),new o("",0," on "),new o("",0," as "),new o("",0," is "),new o("",7,""),new o("",1,"ing "),new o("",0,"\n\t"),new o("",0,":"),new o(" ",0,". "),new o("",0,"ed "),new o("",20,""),new o("",18,""),new o("",6,""),new o("",0,"("),new o("",n,", "),new o("",8,""),new o("",0," at "),new o("",0,"ly "),new o(" the ",0," of "),new o("",5,""),new o("",9,""),new o(" ",n,", "),new o("",n,'"'),new o(".",0,"("),new o("",s," "),new o("",n,'">'),new o("",0,'="'),new o(" ",0,"."),new o(".com/",0,""),new o(" the ",0," of the "),new o("",n,"'"),new o("",0,". This "),new o("",0,","),new o(".",0," "),new o("",n,"("),new o("",n,"."),new o("",0," not "),new o(" ",0,'="'),new o("",0,"er "),new o(" ",s," "),new o("",0,"al "),new o(" ",s,""),new o("",0,"='"),new o("",s,'"'),new o("",n,". "),new o(" ",0,"("),new o("",0,"ful "),new o(" ",n,". "),new o("",0,"ive "),new o("",0,"less "),new o("",s,"'"),new o("",0,"est "),new o(" ",n,"."),new o("",s,'">'),new o(" ",0,"='"),new o("",n,","),new o("",0,"ize "),new o("",s,"."),new o(" ",0,""),new o(" ",0,","),new o("",n,'="'),new o("",s,'="'),new o("",0,"ous "),new o("",s,", "),new o("",n,"='"),new o(" ",n,","),new o(" ",s,'="'),new o(" ",s,", "),new o("",s,","),new o("",s,"("),new o("",s,". "),new o(" ",s,"."),new o("",s,"='"),new o(" ",s,". "),new o(" ",n,'="'),new o(" ",s,"='"),new o(" ",n,"='")];function c(t,e){return t[e]<192?(t[e]>=97&&t[e]<=122&&(t[e]^=32),1):t[e]<224?(t[e+1]^=32,2):(t[e+2]^=5,3)}e.kTransforms=a,e.kNumTransforms=a.length,e.transformDictionaryWord=function(t,e,r,o,l){var h,u=a[l].prefix,p=a[l].suffix,d=a[l].transform,f=d<12?0:d-11,g=0,m=e;f>o&&(f=o);for(var y=0;y<u.length;)t[e++]=u[y++];for(r+=f,o-=f,d<=9&&(o-=d),g=0;g<o;g++)t[e++]=i.dictionary[r+g];if(h=e-o,d===n)c(t,h);else if(d===s)for(;o>0;){var w=c(t,h);h+=w,o-=w}for(var A=0;A<p.length;)t[e++]=p[A++];return e-m}},4698:(t,e,r)=>{t.exports=r(9206).BrotliDecompressBuffer},3390:(t,e)=>{e.byteLength=function(t){var e=a(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=a(t),s=r[0],o=r[1],c=new n(function(t,e,r){return 3*(e+r)/4-r}(0,s,o)),l=0,h=o>0?s-4:s,u=0;u<h;u+=4)e=i[t.charCodeAt(u)]<<18|i[t.charCodeAt(u+1)]<<12|i[t.charCodeAt(u+2)]<<6|i[t.charCodeAt(u+3)],c[l++]=e>>16&255,c[l++]=e>>8&255,c[l++]=255&e;2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,c[l++]=255&e);1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,c[l++]=e>>8&255,c[l++]=255&e);return c},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c:a+o));1===n?(e=t[i-1],s.push(r[e>>2]+r[e<<4&63]+"==")):2===n&&(e=(t[i-2]<<8)+t[i-1],s.push(r[e>>10]+r[e>>4&63]+r[e<<2&63]+"="));return s.join("")};for(var r=[],i=[],n="undefined"!=typeof Uint8Array?Uint8Array:Array,s="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",o=0;o<64;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function a(t){var e=t.length;if(e%4>0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");return-1===r&&(r=e),[r,r===e?0:4-r%4]}function c(t){return r[t>>18&63]+r[t>>12&63]+r[t>>6&63]+r[63&t]}function l(t,e,r){for(var i,n=[],s=e;s<r;s+=3)i=(t[s]<<16&16711680)+(t[s+1]<<8&65280)+(255&t[s+2]),n.push(c(i));return n.join("")}i["-".charCodeAt(0)]=62,i["_".charCodeAt(0)]=63},8287:(t,e,r)=>{ 2 + /*! 3 + * The buffer module from node.js, for the browser. 4 + * 5 + * @author Feross Aboukhadijeh <https://feross.org> 6 + * @license MIT 7 + */ 8 + const i=r(7526),n=r(251),s="function"==typeof Symbol&&"function"==typeof Symbol.for?Symbol.for("nodejs.util.inspect.custom"):null;e.Buffer=c,e.SlowBuffer=function(t){+t!=t&&(t=0);return c.alloc(+t)},e.INSPECT_MAX_BYTES=50;const o=2147483647;function a(t){if(t>o)throw new RangeError('The value "'+t+'" is invalid for option "size"');const e=new Uint8Array(t);return Object.setPrototypeOf(e,c.prototype),e}function c(t,e,r){if("number"==typeof t){if("string"==typeof e)throw new TypeError('The "string" argument must be of type string. Received type number');return u(t)}return l(t,e,r)}function l(t,e,r){if("string"==typeof t)return function(t,e){"string"==typeof e&&""!==e||(e="utf8");if(!c.isEncoding(e))throw new TypeError("Unknown encoding: "+e);const r=0|g(t,e);let i=a(r);const n=i.write(t,e);n!==r&&(i=i.slice(0,n));return i}(t,e);if(ArrayBuffer.isView(t))return function(t){if(X(t,Uint8Array)){const e=new Uint8Array(t);return d(e.buffer,e.byteOffset,e.byteLength)}return p(t)}(t);if(null==t)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(X(t,ArrayBuffer)||t&&X(t.buffer,ArrayBuffer))return d(t,e,r);if("undefined"!=typeof SharedArrayBuffer&&(X(t,SharedArrayBuffer)||t&&X(t.buffer,SharedArrayBuffer)))return d(t,e,r);if("number"==typeof t)throw new TypeError('The "value" argument must not be of type number. Received type number');const i=t.valueOf&&t.valueOf();if(null!=i&&i!==t)return c.from(i,e,r);const n=function(t){if(c.isBuffer(t)){const e=0|f(t.length),r=a(e);return 0===r.length||t.copy(r,0,0,e),r}if(void 0!==t.length)return"number"!=typeof t.length||Y(t.length)?a(0):p(t);if("Buffer"===t.type&&Array.isArray(t.data))return p(t.data)}(t);if(n)return n;if("undefined"!=typeof Symbol&&null!=Symbol.toPrimitive&&"function"==typeof t[Symbol.toPrimitive])return c.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}function h(t){if("number"!=typeof t)throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function u(t){return h(t),a(t<0?0:0|f(t))}function p(t){const e=t.length<0?0:0|f(t.length),r=a(e);for(let i=0;i<e;i+=1)r[i]=255&t[i];return r}function d(t,e,r){if(e<0||t.byteLength<e)throw new RangeError('"offset" is outside of buffer bounds');if(t.byteLength<e+(r||0))throw new RangeError('"length" is outside of buffer bounds');let i;return i=void 0===e&&void 0===r?new Uint8Array(t):void 0===r?new Uint8Array(t,e):new Uint8Array(t,e,r),Object.setPrototypeOf(i,c.prototype),i}function f(t){if(t>=o)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+o.toString(16)+" bytes");return 0|t}function g(t,e){if(c.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||X(t,ArrayBuffer))return t.byteLength;if("string"!=typeof t)throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);const r=t.length,i=arguments.length>2&&!0===arguments[2];if(!i&&0===r)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return G(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return 2*r;case"hex":return r>>>1;case"base64":return q(t).length;default:if(n)return i?-1:G(t).length;e=(""+e).toLowerCase(),n=!0}}function m(t,e,r){let i=!1;if((void 0===e||e<0)&&(e=0),e>this.length)return"";if((void 0===r||r>this.length)&&(r=this.length),r<=0)return"";if((r>>>=0)<=(e>>>=0))return"";for(t||(t="utf8");;)switch(t){case"hex":return k(this,e,r);case"utf8":case"utf-8":return S(this,e,r);case"ascii":return C(this,e,r);case"latin1":case"binary":return R(this,e,r);case"base64":return I(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return B(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}function y(t,e,r){const i=t[e];t[e]=t[r],t[r]=i}function w(t,e,r,i,n){if(0===t.length)return-1;if("string"==typeof r?(i=r,r=0):r>2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),Y(r=+r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0){if(!n)return-1;r=0}if("string"==typeof e&&(e=c.from(e,i)),c.isBuffer(e))return 0===e.length?-1:A(t,e,r,i,n);if("number"==typeof e)return e&=255,"function"==typeof Uint8Array.prototype.indexOf?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):A(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function A(t,e,r,i,n){let s,o=1,a=t.length,c=e.length;if(void 0!==i&&("ucs2"===(i=String(i).toLowerCase())||"ucs-2"===i||"utf16le"===i||"utf-16le"===i)){if(t.length<2||e.length<2)return-1;o=2,a/=2,c/=2,r/=2}function l(t,e){return 1===o?t[e]:t.readUInt16BE(e*o)}if(n){let i=-1;for(s=r;s<a;s++)if(l(t,s)===l(e,-1===i?0:s-i)){if(-1===i&&(i=s),s-i+1===c)return i*o}else-1!==i&&(s-=s-i),i=-1}else for(r+c>a&&(r=a-c),s=r;s>=0;s--){let r=!0;for(let i=0;i<c;i++)if(l(t,s+i)!==l(e,i)){r=!1;break}if(r)return s}return-1}function b(t,e,r,i){r=Number(r)||0;const n=t.length-r;i?(i=Number(i))>n&&(i=n):i=n;const s=e.length;let o;for(i>s/2&&(i=s/2),o=0;o<i;++o){const i=parseInt(e.substr(2*o,2),16);if(Y(i))return o;t[r+o]=i}return o}function v(t,e,r,i){return K(G(e,t.length-r),t,r,i)}function E(t,e,r,i){return K(function(t){const e=[];for(let r=0;r<t.length;++r)e.push(255&t.charCodeAt(r));return e}(e),t,r,i)}function _(t,e,r,i){return K(q(e),t,r,i)}function x(t,e,r,i){return K(function(t,e){let r,i,n;const s=[];for(let o=0;o<t.length&&!((e-=2)<0);++o)r=t.charCodeAt(o),i=r>>8,n=r%256,s.push(n),s.push(i);return s}(e,t.length-r),t,r,i)}function I(t,e,r){return 0===e&&r===t.length?i.fromByteArray(t):i.fromByteArray(t.slice(e,r))}function S(t,e,r){r=Math.min(t.length,r);const i=[];let n=e;for(;n<r;){const e=t[n];let s=null,o=e>239?4:e>223?3:e>191?2:1;if(n+o<=r){let r,i,a,c;switch(o){case 1:e<128&&(s=e);break;case 2:r=t[n+1],128==(192&r)&&(c=(31&e)<<6|63&r,c>127&&(s=c));break;case 3:r=t[n+1],i=t[n+2],128==(192&r)&&128==(192&i)&&(c=(15&e)<<12|(63&r)<<6|63&i,c>2047&&(c<55296||c>57343)&&(s=c));break;case 4:r=t[n+1],i=t[n+2],a=t[n+3],128==(192&r)&&128==(192&i)&&128==(192&a)&&(c=(15&e)<<18|(63&r)<<12|(63&i)<<6|63&a,c>65535&&c<1114112&&(s=c))}}null===s?(s=65533,o=1):s>65535&&(s-=65536,i.push(s>>>10&1023|55296),s=56320|1023&s),i.push(s),n+=o}return function(t){const e=t.length;if(e<=T)return String.fromCharCode.apply(String,t);let r="",i=0;for(;i<e;)r+=String.fromCharCode.apply(String,t.slice(i,i+=T));return r}(i)}e.kMaxLength=o,c.TYPED_ARRAY_SUPPORT=function(){try{const t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),42===t.foo()}catch(t){return!1}}(),c.TYPED_ARRAY_SUPPORT||"undefined"==typeof console||"function"!=typeof console.error||console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support."),Object.defineProperty(c.prototype,"parent",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.buffer}}),Object.defineProperty(c.prototype,"offset",{enumerable:!0,get:function(){if(c.isBuffer(this))return this.byteOffset}}),c.poolSize=8192,c.from=function(t,e,r){return l(t,e,r)},Object.setPrototypeOf(c.prototype,Uint8Array.prototype),Object.setPrototypeOf(c,Uint8Array),c.alloc=function(t,e,r){return function(t,e,r){return h(t),t<=0?a(t):void 0!==e?"string"==typeof r?a(t).fill(e,r):a(t).fill(e):a(t)}(t,e,r)},c.allocUnsafe=function(t){return u(t)},c.allocUnsafeSlow=function(t){return u(t)},c.isBuffer=function(t){return null!=t&&!0===t._isBuffer&&t!==c.prototype},c.compare=function(t,e){if(X(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),X(e,Uint8Array)&&(e=c.from(e,e.offset,e.byteLength)),!c.isBuffer(t)||!c.isBuffer(e))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(t===e)return 0;let r=t.length,i=e.length;for(let n=0,s=Math.min(r,i);n<s;++n)if(t[n]!==e[n]){r=t[n],i=e[n];break}return r<i?-1:i<r?1:0},c.isEncoding=function(t){switch(String(t).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}},c.concat=function(t,e){if(!Array.isArray(t))throw new TypeError('"list" argument must be an Array of Buffers');if(0===t.length)return c.alloc(0);let r;if(void 0===e)for(e=0,r=0;r<t.length;++r)e+=t[r].length;const i=c.allocUnsafe(e);let n=0;for(r=0;r<t.length;++r){let e=t[r];if(X(e,Uint8Array))n+e.length>i.length?(c.isBuffer(e)||(e=c.from(e)),e.copy(i,n)):Uint8Array.prototype.set.call(i,e,n);else{if(!c.isBuffer(e))throw new TypeError('"list" argument must be an Array of Buffers');e.copy(i,n)}n+=e.length}return i},c.byteLength=g,c.prototype._isBuffer=!0,c.prototype.swap16=function(){const t=this.length;if(t%2!=0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let e=0;e<t;e+=2)y(this,e,e+1);return this},c.prototype.swap32=function(){const t=this.length;if(t%4!=0)throw new RangeError("Buffer size must be a multiple of 32-bits");for(let e=0;e<t;e+=4)y(this,e,e+3),y(this,e+1,e+2);return this},c.prototype.swap64=function(){const t=this.length;if(t%8!=0)throw new RangeError("Buffer size must be a multiple of 64-bits");for(let e=0;e<t;e+=8)y(this,e,e+7),y(this,e+1,e+6),y(this,e+2,e+5),y(this,e+3,e+4);return this},c.prototype.toString=function(){const t=this.length;return 0===t?"":0===arguments.length?S(this,0,t):m.apply(this,arguments)},c.prototype.toLocaleString=c.prototype.toString,c.prototype.equals=function(t){if(!c.isBuffer(t))throw new TypeError("Argument must be a Buffer");return this===t||0===c.compare(this,t)},c.prototype.inspect=function(){let t="";const r=e.INSPECT_MAX_BYTES;return t=this.toString("hex",0,r).replace(/(.{2})/g,"$1 ").trim(),this.length>r&&(t+=" ... "),"<Buffer "+t+">"},s&&(c.prototype[s]=c.prototype.inspect),c.prototype.compare=function(t,e,r,i,n){if(X(t,Uint8Array)&&(t=c.from(t,t.offset,t.byteLength)),!c.isBuffer(t))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof t);if(void 0===e&&(e=0),void 0===r&&(r=t?t.length:0),void 0===i&&(i=0),void 0===n&&(n=this.length),e<0||r>t.length||i<0||n>this.length)throw new RangeError("out of range index");if(i>=n&&e>=r)return 0;if(i>=n)return-1;if(e>=r)return 1;if(this===t)return 0;let s=(n>>>=0)-(i>>>=0),o=(r>>>=0)-(e>>>=0);const a=Math.min(s,o),l=this.slice(i,n),h=t.slice(e,r);for(let t=0;t<a;++t)if(l[t]!==h[t]){s=l[t],o=h[t];break}return s<o?-1:o<s?1:0},c.prototype.includes=function(t,e,r){return-1!==this.indexOf(t,e,r)},c.prototype.indexOf=function(t,e,r){return w(this,t,e,r,!0)},c.prototype.lastIndexOf=function(t,e,r){return w(this,t,e,r,!1)},c.prototype.write=function(t,e,r,i){if(void 0===e)i="utf8",r=this.length,e=0;else if(void 0===r&&"string"==typeof e)i=e,r=this.length,e=0;else{if(!isFinite(e))throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");e>>>=0,isFinite(r)?(r>>>=0,void 0===i&&(i="utf8")):(i=r,r=void 0)}const n=this.length-e;if((void 0===r||r>n)&&(r=n),t.length>0&&(r<0||e<0)||e>this.length)throw new RangeError("Attempt to write outside buffer bounds");i||(i="utf8");let s=!1;for(;;)switch(i){case"hex":return b(this,t,e,r);case"utf8":case"utf-8":return v(this,t,e,r);case"ascii":case"latin1":case"binary":return E(this,t,e,r);case"base64":return _(this,t,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return x(this,t,e,r);default:if(s)throw new TypeError("Unknown encoding: "+i);i=(""+i).toLowerCase(),s=!0}},c.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};const T=4096;function C(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(127&t[n]);return i}function R(t,e,r){let i="";r=Math.min(t.length,r);for(let n=e;n<r;++n)i+=String.fromCharCode(t[n]);return i}function k(t,e,r){const i=t.length;(!e||e<0)&&(e=0),(!r||r<0||r>i)&&(r=i);let n="";for(let i=e;i<r;++i)n+=J[t[i]];return n}function B(t,e,r){const i=t.slice(e,r);let n="";for(let t=0;t<i.length-1;t+=2)n+=String.fromCharCode(i[t]+256*i[t+1]);return n}function N(t,e,r){if(t%1!=0||t<0)throw new RangeError("offset is not uint");if(t+e>r)throw new RangeError("Trying to access beyond buffer length")}function O(t,e,r,i,n,s){if(!c.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||e<s)throw new RangeError('"value" argument is out of bounds');if(r+i>t.length)throw new RangeError("Index out of range")}function D(t,e,r,i,n){W(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s,s>>=8,t[r++]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,o>>=8,t[r++]=o,r}function P(t,e,r,i,n){W(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s>>=8,t[r+6]=s,s>>=8,t[r+5]=s,s>>=8,t[r+4]=s;let o=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=o,o>>=8,t[r+2]=o,o>>=8,t[r+1]=o,o>>=8,t[r]=o,r+8}function L(t,e,r,i,n,s){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function U(t,e,r,i,s){return e=+e,r>>>=0,s||L(t,0,r,4),n.write(t,e,r,i,23,4),r+4}function M(t,e,r,i,s){return e=+e,r>>>=0,s||L(t,0,r,8),n.write(t,e,r,i,52,8),r+8}c.prototype.slice=function(t,e){const r=this.length;(t=~~t)<0?(t+=r)<0&&(t=0):t>r&&(t=r),(e=void 0===e?r:~~e)<0?(e+=r)<0&&(e=0):e>r&&(e=r),e<t&&(e=t);const i=this.subarray(t,e);return Object.setPrototypeOf(i,c.prototype),i},c.prototype.readUintLE=c.prototype.readUIntLE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);let i=this[t],n=1,s=0;for(;++s<e&&(n*=256);)i+=this[t+s]*n;return i},c.prototype.readUintBE=c.prototype.readUIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);let i=this[t+--e],n=1;for(;e>0&&(n*=256);)i+=this[t+--e]*n;return i},c.prototype.readUint8=c.prototype.readUInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),this[t]},c.prototype.readUint16LE=c.prototype.readUInt16LE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]|this[t+1]<<8},c.prototype.readUint16BE=c.prototype.readUInt16BE=function(t,e){return t>>>=0,e||N(t,2,this.length),this[t]<<8|this[t+1]},c.prototype.readUint32LE=c.prototype.readUInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),(this[t]|this[t+1]<<8|this[t+2]<<16)+16777216*this[t+3]},c.prototype.readUint32BE=c.prototype.readUInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),16777216*this[t]+(this[t+1]<<16|this[t+2]<<8|this[t+3])},c.prototype.readBigUInt64LE=Z(function(t){Q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||z(t,this.length-8);const i=e+256*this[++t]+65536*this[++t]+this[++t]*2**24,n=this[++t]+256*this[++t]+65536*this[++t]+r*2**24;return BigInt(i)+(BigInt(n)<<BigInt(32))}),c.prototype.readBigUInt64BE=Z(function(t){Q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||z(t,this.length-8);const i=e*2**24+65536*this[++t]+256*this[++t]+this[++t],n=this[++t]*2**24+65536*this[++t]+256*this[++t]+r;return(BigInt(i)<<BigInt(32))+BigInt(n)}),c.prototype.readIntLE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);let i=this[t],n=1,s=0;for(;++s<e&&(n*=256);)i+=this[t+s]*n;return n*=128,i>=n&&(i-=Math.pow(2,8*e)),i},c.prototype.readIntBE=function(t,e,r){t>>>=0,e>>>=0,r||N(t,e,this.length);let i=e,n=1,s=this[t+--i];for(;i>0&&(n*=256);)s+=this[t+--i]*n;return n*=128,s>=n&&(s-=Math.pow(2,8*e)),s},c.prototype.readInt8=function(t,e){return t>>>=0,e||N(t,1,this.length),128&this[t]?-1*(255-this[t]+1):this[t]},c.prototype.readInt16LE=function(t,e){t>>>=0,e||N(t,2,this.length);const r=this[t]|this[t+1]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt16BE=function(t,e){t>>>=0,e||N(t,2,this.length);const r=this[t+1]|this[t]<<8;return 32768&r?4294901760|r:r},c.prototype.readInt32LE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]|this[t+1]<<8|this[t+2]<<16|this[t+3]<<24},c.prototype.readInt32BE=function(t,e){return t>>>=0,e||N(t,4,this.length),this[t]<<24|this[t+1]<<16|this[t+2]<<8|this[t+3]},c.prototype.readBigInt64LE=Z(function(t){Q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||z(t,this.length-8);const i=this[t+4]+256*this[t+5]+65536*this[t+6]+(r<<24);return(BigInt(i)<<BigInt(32))+BigInt(e+256*this[++t]+65536*this[++t]+this[++t]*2**24)}),c.prototype.readBigInt64BE=Z(function(t){Q(t>>>=0,"offset");const e=this[t],r=this[t+7];void 0!==e&&void 0!==r||z(t,this.length-8);const i=(e<<24)+65536*this[++t]+256*this[++t]+this[++t];return(BigInt(i)<<BigInt(32))+BigInt(this[++t]*2**24+65536*this[++t]+256*this[++t]+r)}),c.prototype.readFloatLE=function(t,e){return t>>>=0,e||N(t,4,this.length),n.read(this,t,!0,23,4)},c.prototype.readFloatBE=function(t,e){return t>>>=0,e||N(t,4,this.length),n.read(this,t,!1,23,4)},c.prototype.readDoubleLE=function(t,e){return t>>>=0,e||N(t,8,this.length),n.read(this,t,!0,52,8)},c.prototype.readDoubleBE=function(t,e){return t>>>=0,e||N(t,8,this.length),n.read(this,t,!1,52,8)},c.prototype.writeUintLE=c.prototype.writeUIntLE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){O(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=1,s=0;for(this[e]=255&t;++s<r&&(n*=256);)this[e+s]=t/n&255;return e+r},c.prototype.writeUintBE=c.prototype.writeUIntBE=function(t,e,r,i){if(t=+t,e>>>=0,r>>>=0,!i){O(this,t,e,r,Math.pow(2,8*r)-1,0)}let n=r-1,s=1;for(this[e+n]=255&t;--n>=0&&(s*=256);)this[e+n]=t/s&255;return e+r},c.prototype.writeUint8=c.prototype.writeUInt8=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,1,255,0),this[e]=255&t,e+1},c.prototype.writeUint16LE=c.prototype.writeUInt16LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,65535,0),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeUint16BE=c.prototype.writeUInt16BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,65535,0),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeUint32LE=c.prototype.writeUInt32LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,4294967295,0),this[e+3]=t>>>24,this[e+2]=t>>>16,this[e+1]=t>>>8,this[e]=255&t,e+4},c.prototype.writeUint32BE=c.prototype.writeUInt32BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,4294967295,0),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigUInt64LE=Z(function(t,e=0){return D(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeBigUInt64BE=Z(function(t,e=0){return P(this,t,e,BigInt(0),BigInt("0xffffffffffffffff"))}),c.prototype.writeIntLE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);O(this,t,e,r,i-1,-i)}let n=0,s=1,o=0;for(this[e]=255&t;++n<r&&(s*=256);)t<0&&0===o&&0!==this[e+n-1]&&(o=1),this[e+n]=(t/s|0)-o&255;return e+r},c.prototype.writeIntBE=function(t,e,r,i){if(t=+t,e>>>=0,!i){const i=Math.pow(2,8*r-1);O(this,t,e,r,i-1,-i)}let n=r-1,s=1,o=0;for(this[e+n]=255&t;--n>=0&&(s*=256);)t<0&&0===o&&0!==this[e+n+1]&&(o=1),this[e+n]=(t/s|0)-o&255;return e+r},c.prototype.writeInt8=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,1,127,-128),t<0&&(t=255+t+1),this[e]=255&t,e+1},c.prototype.writeInt16LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,32767,-32768),this[e]=255&t,this[e+1]=t>>>8,e+2},c.prototype.writeInt16BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,2,32767,-32768),this[e]=t>>>8,this[e+1]=255&t,e+2},c.prototype.writeInt32LE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,2147483647,-2147483648),this[e]=255&t,this[e+1]=t>>>8,this[e+2]=t>>>16,this[e+3]=t>>>24,e+4},c.prototype.writeInt32BE=function(t,e,r){return t=+t,e>>>=0,r||O(this,t,e,4,2147483647,-2147483648),t<0&&(t=4294967295+t+1),this[e]=t>>>24,this[e+1]=t>>>16,this[e+2]=t>>>8,this[e+3]=255&t,e+4},c.prototype.writeBigInt64LE=Z(function(t,e=0){return D(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeBigInt64BE=Z(function(t,e=0){return P(this,t,e,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),c.prototype.writeFloatLE=function(t,e,r){return U(this,t,e,!0,r)},c.prototype.writeFloatBE=function(t,e,r){return U(this,t,e,!1,r)},c.prototype.writeDoubleLE=function(t,e,r){return M(this,t,e,!0,r)},c.prototype.writeDoubleBE=function(t,e,r){return M(this,t,e,!1,r)},c.prototype.copy=function(t,e,r,i){if(!c.isBuffer(t))throw new TypeError("argument should be a Buffer");if(r||(r=0),i||0===i||(i=this.length),e>=t.length&&(e=t.length),e||(e=0),i>0&&i<r&&(i=r),i===r)return 0;if(0===t.length||0===this.length)return 0;if(e<0)throw new RangeError("targetStart out of bounds");if(r<0||r>=this.length)throw new RangeError("Index out of range");if(i<0)throw new RangeError("sourceEnd out of bounds");i>this.length&&(i=this.length),t.length-e<i-r&&(i=t.length-e+r);const n=i-r;return this===t&&"function"==typeof Uint8Array.prototype.copyWithin?this.copyWithin(e,r,i):Uint8Array.prototype.set.call(t,this.subarray(r,i),e),n},c.prototype.fill=function(t,e,r,i){if("string"==typeof t){if("string"==typeof e?(i=e,e=0,r=this.length):"string"==typeof r&&(i=r,r=this.length),void 0!==i&&"string"!=typeof i)throw new TypeError("encoding must be a string");if("string"==typeof i&&!c.isEncoding(i))throw new TypeError("Unknown encoding: "+i);if(1===t.length){const e=t.charCodeAt(0);("utf8"===i&&e<128||"latin1"===i)&&(t=e)}}else"number"==typeof t?t&=255:"boolean"==typeof t&&(t=Number(t));if(e<0||this.length<e||this.length<r)throw new RangeError("Out of range index");if(r<=e)return this;let n;if(e>>>=0,r=void 0===r?this.length:r>>>0,t||(t=0),"number"==typeof t)for(n=e;n<r;++n)this[n]=t;else{const s=c.isBuffer(t)?t:c.from(t,i),o=s.length;if(0===o)throw new TypeError('The value "'+t+'" is invalid for argument "value"');for(n=0;n<r-e;++n)this[n+e]=s[n%o]}return this};const F={};function H(t,e,r){F[t]=class extends r{constructor(){super(),Object.defineProperty(this,"message",{value:e.apply(this,arguments),writable:!0,configurable:!0}),this.name=`${this.name} [${t}]`,this.stack,delete this.name}get code(){return t}set code(t){Object.defineProperty(this,"code",{configurable:!0,enumerable:!0,value:t,writable:!0})}toString(){return`${this.name} [${t}]: ${this.message}`}}}function j(t){let e="",r=t.length;const i="-"===t[0]?1:0;for(;r>=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function W(t,e,r,i,n,s){if(t>r||t<e){const i="bigint"==typeof e?"n":"";let n;throw n=s>3?0===e||e===BigInt(0)?`>= 0${i} and < 2${i} ** ${8*(s+1)}${i}`:`>= -(2${i} ** ${8*(s+1)-1}${i}) and < 2 ** ${8*(s+1)-1}${i}`:`>= ${e}${i} and <= ${r}${i}`,new F.ERR_OUT_OF_RANGE("value",n,t)}!function(t,e,r){Q(e,"offset"),void 0!==t[e]&&void 0!==t[e+r]||z(e,t.length-(r+1))}(i,n,s)}function Q(t,e){if("number"!=typeof t)throw new F.ERR_INVALID_ARG_TYPE(e,"number",t)}function z(t,e,r){if(Math.floor(t)!==t)throw Q(t,r),new F.ERR_OUT_OF_RANGE(r||"offset","an integer",t);if(e<0)throw new F.ERR_BUFFER_OUT_OF_BOUNDS;throw new F.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}H("ERR_BUFFER_OUT_OF_BOUNDS",function(t){return t?`${t} is outside of buffer bounds`:"Attempt to access memory outside buffer bounds"},RangeError),H("ERR_INVALID_ARG_TYPE",function(t,e){return`The "${t}" argument must be of type number. Received type ${typeof e}`},TypeError),H("ERR_OUT_OF_RANGE",function(t,e,r){let i=`The value of "${t}" is out of range.`,n=r;return Number.isInteger(r)&&Math.abs(r)>2**32?n=j(String(r)):"bigint"==typeof r&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=j(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i},RangeError);const V=/[^+/0-9A-Za-z-_]/g;function G(t,e){let r;e=e||1/0;const i=t.length;let n=null;const s=[];for(let o=0;o<i;++o){if(r=t.charCodeAt(o),r>55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}if(o+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),n=r;continue}r=65536+(n-55296<<10|r-56320)}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,63&r|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,63&r|128)}else{if(!(r<1114112))throw new Error("Invalid code point");if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,63&r|128)}}return s}function q(t){return i.toByteArray(function(t){if((t=(t=t.split("=")[0]).trim().replace(V,"")).length<2)return"";for(;t.length%4!=0;)t+="=";return t}(t))}function K(t,e,r,i){let n;for(n=0;n<i&&!(n+r>=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function X(t,e){return t instanceof e||null!=t&&null!=t.constructor&&null!=t.constructor.name&&t.constructor.name===e.name}function Y(t){return t!=t}const J=function(){const t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){const i=16*r;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e}();function Z(t){return"undefined"==typeof BigInt?$:t}function $(){throw new Error("BigInt not supported")}},7007:t=>{var e,r="object"==typeof Reflect?Reflect:null,i=r&&"function"==typeof r.apply?r.apply:function(t,e,r){return Function.prototype.apply.call(t,e,r)};e=r&&"function"==typeof r.ownKeys?r.ownKeys:Object.getOwnPropertySymbols?function(t){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))}:function(t){return Object.getOwnPropertyNames(t)};var n=Number.isNaN||function(t){return t!=t};function s(){s.init.call(this)}t.exports=s,t.exports.once=function(t,e){return new Promise(function(r,i){function n(r){t.removeListener(e,s),i(r)}function s(){"function"==typeof t.removeListener&&t.removeListener("error",n),r([].slice.call(arguments))}g(t,e,s,{once:!0}),"error"!==e&&function(t,e,r){"function"==typeof t.on&&g(t,"error",e,r)}(t,n,{once:!0})})},s.EventEmitter=s,s.prototype._events=void 0,s.prototype._eventsCount=0,s.prototype._maxListeners=void 0;var o=10;function a(t){if("function"!=typeof t)throw new TypeError('The "listener" argument must be of type Function. Received type '+typeof t)}function c(t){return void 0===t._maxListeners?s.defaultMaxListeners:t._maxListeners}function l(t,e,r,i){var n,s,o,l;if(a(r),void 0===(s=t._events)?(s=t._events=Object.create(null),t._eventsCount=0):(void 0!==s.newListener&&(t.emit("newListener",e,r.listener?r.listener:r),s=t._events),o=s[e]),void 0===o)o=s[e]=r,++t._eventsCount;else if("function"==typeof o?o=s[e]=i?[r,o]:[o,r]:i?o.unshift(r):o.push(r),(n=c(t))>0&&o.length>n&&!o.warned){o.warned=!0;var h=new Error("Possible EventEmitter memory leak detected. "+o.length+" "+String(e)+" listeners added. Use emitter.setMaxListeners() to increase limit");h.name="MaxListenersExceededWarning",h.emitter=t,h.type=e,h.count=o.length,l=h,console&&console.warn&&console.warn(l)}return t}function h(){if(!this.fired)return this.target.removeListener(this.type,this.wrapFn),this.fired=!0,0===arguments.length?this.listener.call(this.target):this.listener.apply(this.target,arguments)}function u(t,e,r){var i={fired:!1,wrapFn:void 0,target:t,type:e,listener:r},n=h.bind(i);return n.listener=r,i.wrapFn=n,n}function p(t,e,r){var i=t._events;if(void 0===i)return[];var n=i[e];return void 0===n?[]:"function"==typeof n?r?[n.listener||n]:[n]:r?function(t){for(var e=new Array(t.length),r=0;r<e.length;++r)e[r]=t[r].listener||t[r];return e}(n):f(n,n.length)}function d(t){var e=this._events;if(void 0!==e){var r=e[t];if("function"==typeof r)return 1;if(void 0!==r)return r.length}return 0}function f(t,e){for(var r=new Array(e),i=0;i<e;++i)r[i]=t[i];return r}function g(t,e,r,i){if("function"==typeof t.on)i.once?t.once(e,r):t.on(e,r);else{if("function"!=typeof t.addEventListener)throw new TypeError('The "emitter" argument must be of type EventEmitter. Received type '+typeof t);t.addEventListener(e,function n(s){i.once&&t.removeEventListener(e,n),r(s)})}}Object.defineProperty(s,"defaultMaxListeners",{enumerable:!0,get:function(){return o},set:function(t){if("number"!=typeof t||t<0||n(t))throw new RangeError('The value of "defaultMaxListeners" is out of range. It must be a non-negative number. Received '+t+".");o=t}}),s.init=function(){void 0!==this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=Object.create(null),this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},s.prototype.setMaxListeners=function(t){if("number"!=typeof t||t<0||n(t))throw new RangeError('The value of "n" is out of range. It must be a non-negative number. Received '+t+".");return this._maxListeners=t,this},s.prototype.getMaxListeners=function(){return c(this)},s.prototype.emit=function(t){for(var e=[],r=1;r<arguments.length;r++)e.push(arguments[r]);var n="error"===t,s=this._events;if(void 0!==s)n=n&&void 0===s.error;else if(!n)return!1;if(n){var o;if(e.length>0&&(o=e[0]),o instanceof Error)throw o;var a=new Error("Unhandled error."+(o?" ("+o.message+")":""));throw a.context=o,a}var c=s[t];if(void 0===c)return!1;if("function"==typeof c)i(c,this,e);else{var l=c.length,h=f(c,l);for(r=0;r<l;++r)i(h[r],this,e)}return!0},s.prototype.addListener=function(t,e){return l(this,t,e,!1)},s.prototype.on=s.prototype.addListener,s.prototype.prependListener=function(t,e){return l(this,t,e,!0)},s.prototype.once=function(t,e){return a(e),this.on(t,u(this,t,e)),this},s.prototype.prependOnceListener=function(t,e){return a(e),this.prependListener(t,u(this,t,e)),this},s.prototype.removeListener=function(t,e){var r,i,n,s,o;if(a(e),void 0===(i=this._events))return this;if(void 0===(r=i[t]))return this;if(r===e||r.listener===e)0===--this._eventsCount?this._events=Object.create(null):(delete i[t],i.removeListener&&this.emit("removeListener",t,r.listener||e));else if("function"!=typeof r){for(n=-1,s=r.length-1;s>=0;s--)if(r[s]===e||r[s].listener===e){o=r[s].listener,n=s;break}if(n<0)return this;0===n?r.shift():function(t,e){for(;e+1<t.length;e++)t[e]=t[e+1];t.pop()}(r,n),1===r.length&&(i[t]=r[0]),void 0!==i.removeListener&&this.emit("removeListener",t,o||e)}return this},s.prototype.off=s.prototype.removeListener,s.prototype.removeAllListeners=function(t){var e,r,i;if(void 0===(r=this._events))return this;if(void 0===r.removeListener)return 0===arguments.length?(this._events=Object.create(null),this._eventsCount=0):void 0!==r[t]&&(0===--this._eventsCount?this._events=Object.create(null):delete r[t]),this;if(0===arguments.length){var n,s=Object.keys(r);for(i=0;i<s.length;++i)"removeListener"!==(n=s[i])&&this.removeAllListeners(n);return this.removeAllListeners("removeListener"),this._events=Object.create(null),this._eventsCount=0,this}if("function"==typeof(e=r[t]))this.removeListener(t,e);else if(void 0!==e)for(i=e.length-1;i>=0;i--)this.removeListener(t,e[i]);return this},s.prototype.listeners=function(t){return p(this,t,!0)},s.prototype.rawListeners=function(t){return p(this,t,!1)},s.listenerCount=function(t,e){return"function"==typeof t.listenerCount?t.listenerCount(e):d.call(t,e)},s.prototype.listenerCount=d,s.prototype.eventNames=function(){return this._eventsCount>0?e(this._events):[]}},6454:(t,e,r)=>{const i=r(3918),n=r(2923),s=r(8904);t.exports={XMLParser:n,XMLValidator:i,XMLBuilder:s}},5334:(t,e)=>{const r=":A-Za-z_\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD",i="["+r+"]["+(r+"\\-.\\d\\u00B7\\u0300-\\u036F\\u203F-\\u2040")+"]*",n=new RegExp("^"+i+"$");e.isExist=function(t){return void 0!==t},e.isEmptyObject=function(t){return 0===Object.keys(t).length},e.merge=function(t,e,r){if(e){const i=Object.keys(e),n=i.length;for(let s=0;s<n;s++)t[i[s]]="strict"===r?[e[i[s]]]:e[i[s]]}},e.getValue=function(t){return e.isExist(t)?t:""},e.isName=function(t){const e=n.exec(t);return!(null==e)},e.getAllMatches=function(t,e){const r=[];let i=e.exec(t);for(;i;){const n=[];n.startIndex=e.lastIndex-i[0].length;const s=i.length;for(let t=0;t<s;t++)n.push(i[t]);r.push(n),i=e.exec(t)}return r},e.nameRegexp=i},3918:(t,e,r)=>{const i=r(5334),n={allowBooleanAttributes:!1,unpairedTags:[]};function s(t){return" "===t||"\t"===t||"\n"===t||"\r"===t}function o(t,e){const r=e;for(;e<t.length;e++)if("?"==t[e]||" "==t[e]){const i=t.substr(r,e-r);if(e>5&&"xml"===i)return f("InvalidXml","XML declaration allowed only at the start of the document.",y(t,e));if("?"==t[e]&&">"==t[e+1]){e++;break}continue}return e}function a(t,e){if(t.length>e+5&&"-"===t[e+1]&&"-"===t[e+2]){for(e+=3;e<t.length;e++)if("-"===t[e]&&"-"===t[e+1]&&">"===t[e+2]){e+=2;break}}else if(t.length>e+8&&"D"===t[e+1]&&"O"===t[e+2]&&"C"===t[e+3]&&"T"===t[e+4]&&"Y"===t[e+5]&&"P"===t[e+6]&&"E"===t[e+7]){let r=1;for(e+=8;e<t.length;e++)if("<"===t[e])r++;else if(">"===t[e]&&(r--,0===r))break}else if(t.length>e+9&&"["===t[e+1]&&"C"===t[e+2]&&"D"===t[e+3]&&"A"===t[e+4]&&"T"===t[e+5]&&"A"===t[e+6]&&"["===t[e+7])for(e+=8;e<t.length;e++)if("]"===t[e]&&"]"===t[e+1]&&">"===t[e+2]){e+=2;break}return e}e.validate=function(t,e){e=Object.assign({},n,e);const r=[];let i=!1,c=!1;"\ufeff"===t[0]&&(t=t.substr(1));for(let n=0;n<t.length;n++)if("<"===t[n]&&"?"===t[n+1]){if(n+=2,n=o(t,n),n.err)return n}else{if("<"!==t[n]){if(s(t[n]))continue;return f("InvalidChar","char '"+t[n]+"' is not expected.",y(t,n))}{let l=n;if(n++,"!"===t[n]){n=a(t,n);continue}{let u=!1;"/"===t[n]&&(u=!0,n++);let g="";for(;n<t.length&&">"!==t[n]&&" "!==t[n]&&"\t"!==t[n]&&"\n"!==t[n]&&"\r"!==t[n];n++)g+=t[n];if(g=g.trim(),"/"===g[g.length-1]&&(g=g.substring(0,g.length-1),n--),!m(g)){let e;return e=0===g.trim().length?"Invalid space after '<'.":"Tag '"+g+"' is an invalid name.",f("InvalidTag",e,y(t,n))}const w=h(t,n);if(!1===w)return f("InvalidAttr","Attributes for '"+g+"' have open quote.",y(t,n));let A=w.value;if(n=w.index,"/"===A[A.length-1]){const r=n-A.length;A=A.substring(0,A.length-1);const s=p(A,e);if(!0!==s)return f(s.err.code,s.err.msg,y(t,r+s.err.line));i=!0}else if(u){if(!w.tagClosed)return f("InvalidTag","Closing tag '"+g+"' doesn't have proper closing.",y(t,n));if(A.trim().length>0)return f("InvalidTag","Closing tag '"+g+"' can't have attributes or invalid starting.",y(t,l));if(0===r.length)return f("InvalidTag","Closing tag '"+g+"' has not been opened.",y(t,l));{const e=r.pop();if(g!==e.tagName){let r=y(t,e.tagStartPos);return f("InvalidTag","Expected closing tag '"+e.tagName+"' (opened in line "+r.line+", col "+r.col+") instead of closing tag '"+g+"'.",y(t,l))}0==r.length&&(c=!0)}}else{const s=p(A,e);if(!0!==s)return f(s.err.code,s.err.msg,y(t,n-A.length+s.err.line));if(!0===c)return f("InvalidXml","Multiple possible root nodes found.",y(t,n));-1!==e.unpairedTags.indexOf(g)||r.push({tagName:g,tagStartPos:l}),i=!0}for(n++;n<t.length;n++)if("<"===t[n]){if("!"===t[n+1]){n++,n=a(t,n);continue}if("?"!==t[n+1])break;if(n=o(t,++n),n.err)return n}else if("&"===t[n]){const e=d(t,n);if(-1==e)return f("InvalidChar","char '&' is not expected.",y(t,n));n=e}else if(!0===c&&!s(t[n]))return f("InvalidXml","Extra text at the end",y(t,n));"<"===t[n]&&n--}}}return i?1==r.length?f("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",y(t,r[0].tagStartPos)):!(r.length>0)||f("InvalidXml","Invalid '"+JSON.stringify(r.map(t=>t.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1}):f("InvalidXml","Start tag expected.",1)};const c='"',l="'";function h(t,e){let r="",i="",n=!1;for(;e<t.length;e++){if(t[e]===c||t[e]===l)""===i?i=t[e]:i!==t[e]||(i="");else if(">"===t[e]&&""===i){n=!0;break}r+=t[e]}return""===i&&{value:r,index:e,tagClosed:n}}const u=new RegExp("(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['\"])(([\\s\\S])*?)\\5)?","g");function p(t,e){const r=i.getAllMatches(t,u),n={};for(let t=0;t<r.length;t++){if(0===r[t][1].length)return f("InvalidAttr","Attribute '"+r[t][2]+"' has no space in starting.",w(r[t]));if(void 0!==r[t][3]&&void 0===r[t][4])return f("InvalidAttr","Attribute '"+r[t][2]+"' is without value.",w(r[t]));if(void 0===r[t][3]&&!e.allowBooleanAttributes)return f("InvalidAttr","boolean attribute '"+r[t][2]+"' is not allowed.",w(r[t]));const i=r[t][2];if(!g(i))return f("InvalidAttr","Attribute '"+i+"' is an invalid name.",w(r[t]));if(n.hasOwnProperty(i))return f("InvalidAttr","Attribute '"+i+"' is repeated.",w(r[t]));n[i]=1}return!0}function d(t,e){if(";"===t[++e])return-1;if("#"===t[e])return function(t,e){let r=/\d/;for("x"===t[e]&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(";"===t[e])return e;if(!t[e].match(r))break}return-1}(t,++e);let r=0;for(;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(";"===t[e])break;return-1}return e}function f(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}function g(t){return i.isName(t)}function m(t){return i.isName(t)}function y(t,e){const r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function w(t){return t.startIndex+t[1].length}},8904:(t,e,r)=>{const i=r(2788),n={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1};function s(t){this.options=Object.assign({},n,t),this.options.ignoreAttributes||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.attrPrefixLen=this.options.attributeNamePrefix.length,this.isAttribute=c),this.processTextOrObjNode=o,this.options.format?(this.indentate=a,this.tagEndChar=">\n",this.newLine="\n"):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function o(t,e,r){const i=this.j2x(t,r+1);return void 0!==t[this.options.textNodeName]&&1===Object.keys(t).length?this.buildTextValNode(t[this.options.textNodeName],e,i.attrStr,r):this.buildObjectNode(i.val,e,i.attrStr,r)}function a(t){return this.options.indentBy.repeat(t)}function c(t){return!(!t.startsWith(this.options.attributeNamePrefix)||t===this.options.textNodeName)&&t.substr(this.attrPrefixLen)}s.prototype.build=function(t){return this.options.preserveOrder?i(t,this.options):(Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t}),this.j2x(t,0).val)},s.prototype.j2x=function(t,e){let r="",i="";for(let n in t)if(Object.prototype.hasOwnProperty.call(t,n))if(void 0===t[n])this.isAttribute(n)&&(i+="");else if(null===t[n])this.isAttribute(n)?i+="":"?"===n[0]?i+=this.indentate(e)+"<"+n+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+n+"/"+this.tagEndChar;else if(t[n]instanceof Date)i+=this.buildTextValNode(t[n],n,"",e);else if("object"!=typeof t[n]){const s=this.isAttribute(n);if(s)r+=this.buildAttrPairStr(s,""+t[n]);else if(n===this.options.textNodeName){let e=this.options.tagValueProcessor(n,""+t[n]);i+=this.replaceEntitiesValue(e)}else i+=this.buildTextValNode(t[n],n,"",e)}else if(Array.isArray(t[n])){const r=t[n].length;let s="",o="";for(let a=0;a<r;a++){const r=t[n][a];if(void 0===r);else if(null===r)"?"===n[0]?i+=this.indentate(e)+"<"+n+"?"+this.tagEndChar:i+=this.indentate(e)+"<"+n+"/"+this.tagEndChar;else if("object"==typeof r)if(this.options.oneListGroup){const t=this.j2x(r,e+1);s+=t.val,this.options.attributesGroupName&&r.hasOwnProperty(this.options.attributesGroupName)&&(o+=t.attrStr)}else s+=this.processTextOrObjNode(r,n,e);else if(this.options.oneListGroup){let t=this.options.tagValueProcessor(n,r);t=this.replaceEntitiesValue(t),s+=t}else s+=this.buildTextValNode(r,n,"",e)}this.options.oneListGroup&&(s=this.buildObjectNode(s,n,o,e)),i+=s}else if(this.options.attributesGroupName&&n===this.options.attributesGroupName){const e=Object.keys(t[n]),i=e.length;for(let s=0;s<i;s++)r+=this.buildAttrPairStr(e[s],""+t[n][e[s]])}else i+=this.processTextOrObjNode(t[n],n,e);return{attrStr:r,val:i}},s.prototype.buildAttrPairStr=function(t,e){return e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e),this.options.suppressBooleanAttributes&&"true"===e?" "+t:" "+t+'="'+e+'"'},s.prototype.buildObjectNode=function(t,e,r,i){if(""===t)return"?"===e[0]?this.indentate(i)+"<"+e+r+"?"+this.tagEndChar:this.indentate(i)+"<"+e+r+this.closeTag(e)+this.tagEndChar;{let n="</"+e+this.tagEndChar,s="";return"?"===e[0]&&(s="?",n=""),!r&&""!==r||-1!==t.indexOf("<")?!1!==this.options.commentPropName&&e===this.options.commentPropName&&0===s.length?this.indentate(i)+`\x3c!--${t}--\x3e`+this.newLine:this.indentate(i)+"<"+e+r+s+this.tagEndChar+t+this.indentate(i)+n:this.indentate(i)+"<"+e+r+s+">"+t+n}},s.prototype.closeTag=function(t){let e="";return-1!==this.options.unpairedTags.indexOf(t)?this.options.suppressUnpairedNode||(e="/"):e=this.options.suppressEmptyNode?"/":`></${t}`,e},s.prototype.buildTextValNode=function(t,e,r,i){if(!1!==this.options.cdataPropName&&e===this.options.cdataPropName)return this.indentate(i)+`<![CDATA[${t}]]>`+this.newLine;if(!1!==this.options.commentPropName&&e===this.options.commentPropName)return this.indentate(i)+`\x3c!--${t}--\x3e`+this.newLine;if("?"===e[0])return this.indentate(i)+"<"+e+r+"?"+this.tagEndChar;{let n=this.options.tagValueProcessor(e,t);return n=this.replaceEntitiesValue(n),""===n?this.indentate(i)+"<"+e+r+this.closeTag(e)+this.tagEndChar:this.indentate(i)+"<"+e+r+">"+n+"</"+e+this.tagEndChar}},s.prototype.replaceEntitiesValue=function(t){if(t&&t.length>0&&this.options.processEntities)for(let e=0;e<this.options.entities.length;e++){const r=this.options.entities[e];t=t.replace(r.regex,r.val)}return t},t.exports=s},2788:t=>{function e(t,o,a,c){let l="",h=!1;for(let u=0;u<t.length;u++){const p=t[u],d=r(p);if(void 0===d)continue;let f="";if(f=0===a.length?d:`${a}.${d}`,d===o.textNodeName){let t=p[d];n(f,o)||(t=o.tagValueProcessor(d,t),t=s(t,o)),h&&(l+=c),l+=t,h=!1;continue}if(d===o.cdataPropName){h&&(l+=c),l+=`<![CDATA[${p[d][0][o.textNodeName]}]]>`,h=!1;continue}if(d===o.commentPropName){l+=c+`\x3c!--${p[d][0][o.textNodeName]}--\x3e`,h=!0;continue}if("?"===d[0]){const t=i(p[":@"],o),e="?xml"===d?"":c;let r=p[d][0][o.textNodeName];r=0!==r.length?" "+r:"",l+=e+`<${d}${r}${t}?>`,h=!0;continue}let g=c;""!==g&&(g+=o.indentBy);const m=c+`<${d}${i(p[":@"],o)}`,y=e(p[d],o,f,g);-1!==o.unpairedTags.indexOf(d)?o.suppressUnpairedNode?l+=m+">":l+=m+"/>":y&&0!==y.length||!o.suppressEmptyNode?y&&y.endsWith(">")?l+=m+`>${y}${c}</${d}>`:(l+=m+">",y&&""!==c&&(y.includes("/>")||y.includes("</"))?l+=c+o.indentBy+y+c:l+=y,l+=`</${d}>`):l+=m+"/>",h=!0}return l}function r(t){const e=Object.keys(t);for(let r=0;r<e.length;r++){const i=e[r];if(t.hasOwnProperty(i)&&":@"!==i)return i}}function i(t,e){let r="";if(t&&!e.ignoreAttributes)for(let i in t){if(!t.hasOwnProperty(i))continue;let n=e.attributeValueProcessor(i,t[i]);n=s(n,e),!0===n&&e.suppressBooleanAttributes?r+=` ${i.substr(e.attributeNamePrefix.length)}`:r+=` ${i.substr(e.attributeNamePrefix.length)}="${n}"`}return r}function n(t,e){let r=(t=t.substr(0,t.length-e.textNodeName.length-1)).substr(t.lastIndexOf(".")+1);for(let i in e.stopNodes)if(e.stopNodes[i]===t||e.stopNodes[i]==="*."+r)return!0;return!1}function s(t,e){if(t&&t.length>0&&e.processEntities)for(let r=0;r<e.entities.length;r++){const i=e.entities[r];t=t.replace(i.regex,i.val)}return t}t.exports=function(t,r){let i="";return r.format&&r.indentBy.length>0&&(i="\n"),e(t,r,"",i)}},9400:(t,e,r)=>{const i=r(5334);function n(t,e){let r="";for(;e<t.length&&"'"!==t[e]&&'"'!==t[e];e++)r+=t[e];if(r=r.trim(),-1!==r.indexOf(" "))throw new Error("External entites are not supported");const i=t[e++];let n="";for(;e<t.length&&t[e]!==i;e++)n+=t[e];return[r,n,e]}function s(t,e){return"!"===t[e+1]&&"-"===t[e+2]&&"-"===t[e+3]}function o(t,e){return"!"===t[e+1]&&"E"===t[e+2]&&"N"===t[e+3]&&"T"===t[e+4]&&"I"===t[e+5]&&"T"===t[e+6]&&"Y"===t[e+7]}function a(t,e){return"!"===t[e+1]&&"E"===t[e+2]&&"L"===t[e+3]&&"E"===t[e+4]&&"M"===t[e+5]&&"E"===t[e+6]&&"N"===t[e+7]&&"T"===t[e+8]}function c(t,e){return"!"===t[e+1]&&"A"===t[e+2]&&"T"===t[e+3]&&"T"===t[e+4]&&"L"===t[e+5]&&"I"===t[e+6]&&"S"===t[e+7]&&"T"===t[e+8]}function l(t,e){return"!"===t[e+1]&&"N"===t[e+2]&&"O"===t[e+3]&&"T"===t[e+4]&&"A"===t[e+5]&&"T"===t[e+6]&&"I"===t[e+7]&&"O"===t[e+8]&&"N"===t[e+9]}function h(t){if(i.isName(t))return t;throw new Error(`Invalid entity name ${t}`)}t.exports=function(t,e){const r={};if("O"!==t[e+3]||"C"!==t[e+4]||"T"!==t[e+5]||"Y"!==t[e+6]||"P"!==t[e+7]||"E"!==t[e+8])throw new Error("Invalid Tag instead of DOCTYPE");{e+=9;let i=1,u=!1,p=!1,d="";for(;e<t.length;e++)if("<"!==t[e]||p)if(">"===t[e]){if(p?"-"===t[e-1]&&"-"===t[e-2]&&(p=!1,i--):i--,0===i)break}else"["===t[e]?u=!0:d+=t[e];else{if(u&&o(t,e))e+=7,[entityName,val,e]=n(t,e+1),-1===val.indexOf("&")&&(r[h(entityName)]={regx:RegExp(`&${entityName};`,"g"),val});else if(u&&a(t,e))e+=8;else if(u&&c(t,e))e+=8;else if(u&&l(t,e))e+=9;else{if(!s)throw new Error("Invalid DOCTYPE");p=!0}i++,d=""}if(0!==i)throw new Error("Unclosed DOCTYPE")}return{entities:r,i:e}}},460:(t,e)=>{const r={preserveOrder:!1,attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,removeNSPrefix:!1,allowBooleanAttributes:!1,parseTagValue:!0,parseAttributeValue:!1,trimValues:!0,cdataPropName:!1,numberParseOptions:{hex:!0,leadingZeros:!0,eNotation:!0},tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},stopNodes:[],alwaysCreateTextNode:!1,isArray:()=>!1,commentPropName:!1,unpairedTags:[],processEntities:!0,htmlEntities:!1,ignoreDeclaration:!1,ignorePiTags:!1,transformTagName:!1,transformAttributeName:!1,updateTag:function(t,e,r){return t}};e.buildOptions=function(t){return Object.assign({},r,t)},e.defaultOptions=r},7680:(t,e,r)=>{const i=r(5334),n=r(3832),s=r(9400),o=r(7983);function a(t){const e=Object.keys(t);for(let r=0;r<e.length;r++){const i=e[r];this.lastEntities[i]={regex:new RegExp("&"+i+";","g"),val:t[i]}}}function c(t,e,r,i,n,s,o){if(void 0!==t&&(this.options.trimValues&&!i&&(t=t.trim()),t.length>0)){o||(t=this.replaceEntitiesValue(t));const i=this.options.tagValueProcessor(e,t,r,n,s);if(null==i)return t;if(typeof i!=typeof t||i!==t)return i;if(this.options.trimValues)return b(t,this.options.parseTagValue,this.options.numberParseOptions);return t.trim()===t?b(t,this.options.parseTagValue,this.options.numberParseOptions):t}}function l(t){if(this.options.removeNSPrefix){const e=t.split(":"),r="/"===t.charAt(0)?"/":"";if("xmlns"===e[0])return"";2===e.length&&(t=r+e[1])}return t}const h=new RegExp("([^\\s=]+)\\s*(=\\s*(['\"])([\\s\\S]*?)\\3)?","gm");function u(t,e,r){if(!this.options.ignoreAttributes&&"string"==typeof t){const r=i.getAllMatches(t,h),n=r.length,s={};for(let t=0;t<n;t++){const i=this.resolveNameSpace(r[t][1]);let n=r[t][4],o=this.options.attributeNamePrefix+i;if(i.length)if(this.options.transformAttributeName&&(o=this.options.transformAttributeName(o)),"__proto__"===o&&(o="#__proto__"),void 0!==n){this.options.trimValues&&(n=n.trim()),n=this.replaceEntitiesValue(n);const t=this.options.attributeValueProcessor(i,n,e);s[o]=null==t?n:typeof t!=typeof n||t!==n?t:b(n,this.options.parseAttributeValue,this.options.numberParseOptions)}else this.options.allowBooleanAttributes&&(s[o]=!0)}if(!Object.keys(s).length)return;if(this.options.attributesGroupName){const t={};return t[this.options.attributesGroupName]=s,t}return s}}const p=function(t){t=t.replace(/\r\n?/g,"\n");const e=new n("!xml");let r=e,i="",o="";for(let a=0;a<t.length;a++){if("<"===t[a])if("/"===t[a+1]){const e=y(t,">",a,"Closing Tag is not closed.");let n=t.substring(a+2,e).trim();if(this.options.removeNSPrefix){const t=n.indexOf(":");-1!==t&&(n=n.substr(t+1))}this.options.transformTagName&&(n=this.options.transformTagName(n)),r&&(i=this.saveTextToParentTag(i,r,o));const s=o.substring(o.lastIndexOf(".")+1);if(n&&-1!==this.options.unpairedTags.indexOf(n))throw new Error(`Unpaired tag can not be used as closing tag: </${n}>`);let c=0;s&&-1!==this.options.unpairedTags.indexOf(s)?(c=o.lastIndexOf(".",o.lastIndexOf(".")-1),this.tagsNodeStack.pop()):c=o.lastIndexOf("."),o=o.substring(0,c),r=this.tagsNodeStack.pop(),i="",a=e}else if("?"===t[a+1]){let e=w(t,a,!1,"?>");if(!e)throw new Error("Pi Tag is not closed.");if(i=this.saveTextToParentTag(i,r,o),this.options.ignoreDeclaration&&"?xml"===e.tagName||this.options.ignorePiTags);else{const t=new n(e.tagName);t.add(this.options.textNodeName,""),e.tagName!==e.tagExp&&e.attrExpPresent&&(t[":@"]=this.buildAttributesMap(e.tagExp,o,e.tagName)),this.addChild(r,t,o)}a=e.closeIndex+1}else if("!--"===t.substr(a+1,3)){const e=y(t,"--\x3e",a+4,"Comment is not closed.");if(this.options.commentPropName){const n=t.substring(a+4,e-2);i=this.saveTextToParentTag(i,r,o),r.add(this.options.commentPropName,[{[this.options.textNodeName]:n}])}a=e}else if("!D"===t.substr(a+1,2)){const e=s(t,a);this.docTypeEntities=e.entities,a=e.i}else if("!["===t.substr(a+1,2)){const e=y(t,"]]>",a,"CDATA is not closed.")-2,n=t.substring(a+9,e);i=this.saveTextToParentTag(i,r,o);let s=this.parseTextData(n,r.tagname,o,!0,!1,!0,!0);null==s&&(s=""),this.options.cdataPropName?r.add(this.options.cdataPropName,[{[this.options.textNodeName]:n}]):r.add(this.options.textNodeName,s),a=e+2}else{let s=w(t,a,this.options.removeNSPrefix),c=s.tagName;const l=s.rawTagName;let h=s.tagExp,u=s.attrExpPresent,p=s.closeIndex;this.options.transformTagName&&(c=this.options.transformTagName(c)),r&&i&&"!xml"!==r.tagname&&(i=this.saveTextToParentTag(i,r,o,!1));const d=r;if(d&&-1!==this.options.unpairedTags.indexOf(d.tagname)&&(r=this.tagsNodeStack.pop(),o=o.substring(0,o.lastIndexOf("."))),c!==e.tagname&&(o+=o?"."+c:c),this.isItStopNode(this.options.stopNodes,o,c)){let e="";if(h.length>0&&h.lastIndexOf("/")===h.length-1)"/"===c[c.length-1]?(c=c.substr(0,c.length-1),o=o.substr(0,o.length-1),h=c):h=h.substr(0,h.length-1),a=s.closeIndex;else if(-1!==this.options.unpairedTags.indexOf(c))a=s.closeIndex;else{const r=this.readStopNodeData(t,l,p+1);if(!r)throw new Error(`Unexpected end of ${l}`);a=r.i,e=r.tagContent}const i=new n(c);c!==h&&u&&(i[":@"]=this.buildAttributesMap(h,o,c)),e&&(e=this.parseTextData(e,c,o,!0,u,!0,!0)),o=o.substr(0,o.lastIndexOf(".")),i.add(this.options.textNodeName,e),this.addChild(r,i,o)}else{if(h.length>0&&h.lastIndexOf("/")===h.length-1){"/"===c[c.length-1]?(c=c.substr(0,c.length-1),o=o.substr(0,o.length-1),h=c):h=h.substr(0,h.length-1),this.options.transformTagName&&(c=this.options.transformTagName(c));const t=new n(c);c!==h&&u&&(t[":@"]=this.buildAttributesMap(h,o,c)),this.addChild(r,t,o),o=o.substr(0,o.lastIndexOf("."))}else{const t=new n(c);this.tagsNodeStack.push(r),c!==h&&u&&(t[":@"]=this.buildAttributesMap(h,o,c)),this.addChild(r,t,o),r=t}i="",a=p}}else i+=t[a]}return e.child};function d(t,e,r){const i=this.options.updateTag(e.tagname,r,e[":@"]);!1===i||("string"==typeof i?(e.tagname=i,t.addChild(e)):t.addChild(e))}const f=function(t){if(this.options.processEntities){for(let e in this.docTypeEntities){const r=this.docTypeEntities[e];t=t.replace(r.regx,r.val)}for(let e in this.lastEntities){const r=this.lastEntities[e];t=t.replace(r.regex,r.val)}if(this.options.htmlEntities)for(let e in this.htmlEntities){const r=this.htmlEntities[e];t=t.replace(r.regex,r.val)}t=t.replace(this.ampEntity.regex,this.ampEntity.val)}return t};function g(t,e,r,i){return t&&(void 0===i&&(i=0===Object.keys(e.child).length),void 0!==(t=this.parseTextData(t,e.tagname,r,!1,!!e[":@"]&&0!==Object.keys(e[":@"]).length,i))&&""!==t&&e.add(this.options.textNodeName,t),t=""),t}function m(t,e,r){const i="*."+r;for(const r in t){const n=t[r];if(i===n||e===n)return!0}return!1}function y(t,e,r,i){const n=t.indexOf(e,r);if(-1===n)throw new Error(i);return n+e.length-1}function w(t,e,r,i=">"){const n=function(t,e,r=">"){let i,n="";for(let s=e;s<t.length;s++){let e=t[s];if(i)e===i&&(i="");else if('"'===e||"'"===e)i=e;else if(e===r[0]){if(!r[1])return{data:n,index:s};if(t[s+1]===r[1])return{data:n,index:s}}else"\t"===e&&(e=" ");n+=e}}(t,e+1,i);if(!n)return;let s=n.data;const o=n.index,a=s.search(/\s/);let c=s,l=!0;-1!==a&&(c=s.substring(0,a),s=s.substring(a+1).trimStart());const h=c;if(r){const t=c.indexOf(":");-1!==t&&(c=c.substr(t+1),l=c!==n.data.substr(t+1))}return{tagName:c,tagExp:s,closeIndex:o,attrExpPresent:l,rawTagName:h}}function A(t,e,r){const i=r;let n=1;for(;r<t.length;r++)if("<"===t[r])if("/"===t[r+1]){const s=y(t,">",r,`${e} is not closed`);if(t.substring(r+2,s).trim()===e&&(n--,0===n))return{tagContent:t.substring(i,r),i:s};r=s}else if("?"===t[r+1]){r=y(t,"?>",r+1,"StopNode is not closed.")}else if("!--"===t.substr(r+1,3)){r=y(t,"--\x3e",r+3,"StopNode is not closed.")}else if("!["===t.substr(r+1,2)){r=y(t,"]]>",r,"StopNode is not closed.")-2}else{const i=w(t,r,">");if(i){(i&&i.tagName)===e&&"/"!==i.tagExp[i.tagExp.length-1]&&n++,r=i.closeIndex}}}function b(t,e,r){if(e&&"string"==typeof t){const e=t.trim();return"true"===e||"false"!==e&&o(t,r)}return i.isExist(t)?t:""}t.exports=class{constructor(t){this.options=t,this.currentNode=null,this.tagsNodeStack=[],this.docTypeEntities={},this.lastEntities={apos:{regex:/&(apos|#39|#x27);/g,val:"'"},gt:{regex:/&(gt|#62|#x3E);/g,val:">"},lt:{regex:/&(lt|#60|#x3C);/g,val:"<"},quot:{regex:/&(quot|#34|#x22);/g,val:'"'}},this.ampEntity={regex:/&(amp|#38|#x26);/g,val:"&"},this.htmlEntities={space:{regex:/&(nbsp|#160);/g,val:" "},cent:{regex:/&(cent|#162);/g,val:"¢"},pound:{regex:/&(pound|#163);/g,val:"£"},yen:{regex:/&(yen|#165);/g,val:"¥"},euro:{regex:/&(euro|#8364);/g,val:"€"},copyright:{regex:/&(copy|#169);/g,val:"©"},reg:{regex:/&(reg|#174);/g,val:"®"},inr:{regex:/&(inr|#8377);/g,val:"₹"},num_dec:{regex:/&#([0-9]{1,7});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,10))},num_hex:{regex:/&#x([0-9a-fA-F]{1,6});/g,val:(t,e)=>String.fromCharCode(Number.parseInt(e,16))}},this.addExternalEntities=a,this.parseXml=p,this.parseTextData=c,this.resolveNameSpace=l,this.buildAttributesMap=u,this.isItStopNode=m,this.replaceEntitiesValue=f,this.readStopNodeData=A,this.saveTextToParentTag=g,this.addChild=d}}},2923:(t,e,r)=>{const{buildOptions:i}=r(460),n=r(7680),{prettify:s}=r(5629),o=r(3918);t.exports=class{constructor(t){this.externalEntities={},this.options=i(t)}parse(t,e){if("string"==typeof t);else{if(!t.toString)throw new Error("XML data is accepted in String or Bytes[] form.");t=t.toString()}if(e){!0===e&&(e={});const r=o.validate(t,e);if(!0!==r)throw Error(`${r.err.msg}:${r.err.line}:${r.err.col}`)}const r=new n(this.options);r.addExternalEntities(this.externalEntities);const i=r.parseXml(t);return this.options.preserveOrder||void 0===i?i:s(i,this.options)}addEntity(t,e){if(-1!==e.indexOf("&"))throw new Error("Entity value can't have '&'");if(-1!==t.indexOf("&")||-1!==t.indexOf(";"))throw new Error("An entity must be set without '&' and ';'. Eg. use '#xD' for '&#xD;'");if("&"===e)throw new Error("An entity with value '&' is not permitted");this.externalEntities[t]=e}}},5629:(t,e)=>{function r(t,e,o){let a;const c={};for(let l=0;l<t.length;l++){const h=t[l],u=i(h);let p="";if(p=void 0===o?u:o+"."+u,u===e.textNodeName)void 0===a?a=h[u]:a+=""+h[u];else{if(void 0===u)continue;if(h[u]){let t=r(h[u],e,p);const i=s(t,e);h[":@"]?n(t,h[":@"],p,e):1!==Object.keys(t).length||void 0===t[e.textNodeName]||e.alwaysCreateTextNode?0===Object.keys(t).length&&(e.alwaysCreateTextNode?t[e.textNodeName]="":t=""):t=t[e.textNodeName],void 0!==c[u]&&c.hasOwnProperty(u)?(Array.isArray(c[u])||(c[u]=[c[u]]),c[u].push(t)):e.isArray(u,p,i)?c[u]=[t]:c[u]=t}}}return"string"==typeof a?a.length>0&&(c[e.textNodeName]=a):void 0!==a&&(c[e.textNodeName]=a),c}function i(t){const e=Object.keys(t);for(let t=0;t<e.length;t++){const r=e[t];if(":@"!==r)return r}}function n(t,e,r,i){if(e){const n=Object.keys(e),s=n.length;for(let o=0;o<s;o++){const s=n[o];i.isArray(s,r+"."+s,!0,!0)?t[s]=[e[s]]:t[s]=e[s]}}}function s(t,e){const{textNodeName:r}=e,i=Object.keys(t).length;return 0===i||!(1!==i||!t[r]&&"boolean"!=typeof t[r]&&0!==t[r])}e.prettify=function(t,e){return r(t,e)}},3832:t=>{t.exports=class{constructor(t){this.tagname=t,this.child=[],this[":@"]={}}add(t,e){"__proto__"===t&&(t="#__proto__"),this.child.push({[t]:e})}addChild(t){"__proto__"===t.tagname&&(t.tagname="#__proto__"),t[":@"]&&Object.keys(t[":@"]).length>0?this.child.push({[t.tagname]:t.child,":@":t[":@"]}):this.child.push({[t.tagname]:t.child})}}},251:(t,e)=>{ 9 + /*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh <https://feross.org/opensource> */ 10 + e.read=function(t,e,r,i,n){var s,o,a=8*n-i-1,c=(1<<a)-1,l=c>>1,h=-7,u=r?n-1:0,p=r?-1:1,d=t[e+u];for(u+=p,s=d&(1<<-h)-1,d>>=-h,h+=a;h>0;s=256*s+t[e+u],u+=p,h-=8);for(o=s&(1<<-h)-1,s>>=-h,h+=i;h>0;o=256*o+t[e+u],u+=p,h-=8);if(0===s)s=1-l;else{if(s===c)return o?NaN:1/0*(d?-1:1);o+=Math.pow(2,i),s-=l}return(d?-1:1)*o*Math.pow(2,s-i)},e.write=function(t,e,r,i,n,s){var o,a,c,l=8*s-n-1,h=(1<<l)-1,u=h>>1,p=23===n?Math.pow(2,-24)-Math.pow(2,-77):0,d=i?0:s-1,f=i?1:-1,g=e<0||0===e&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(a=isNaN(e)?1:0,o=h):(o=Math.floor(Math.log(e)/Math.LN2),e*(c=Math.pow(2,-o))<1&&(o--,c*=2),(e+=o+u>=1?p/c:p*Math.pow(2,1-u))*c>=2&&(o++,c/=2),o+u>=h?(a=0,o=h):o+u>=1?(a=(e*c-1)*Math.pow(2,n),o+=u):(a=e*Math.pow(2,u-1)*Math.pow(2,n),o=0));n>=8;t[r+d]=255&a,d+=f,a/=256,n-=8);for(o=o<<n|a,l+=n;l>0;t[r+d]=255&o,d+=f,o/=256,l-=8);t[r+d-f]|=128*g}},6698:t=>{"function"==typeof Object.create?t.exports=function(t,e){e&&(t.super_=e,t.prototype=Object.create(e.prototype,{constructor:{value:t,enumerable:!1,writable:!0,configurable:!0}}))}:t.exports=function(t,e){if(e){t.super_=e;var r=function(){};r.prototype=e.prototype,t.prototype=new r,t.prototype.constructor=t}}},640:function(t){!function(e){const r="(0?\\d+|0x[a-f0-9]+)",i={fourOctet:new RegExp(`^${r}\\.${r}\\.${r}\\.${r}$`,"i"),threeOctet:new RegExp(`^${r}\\.${r}\\.${r}$`,"i"),twoOctet:new RegExp(`^${r}\\.${r}$`,"i"),longValue:new RegExp(`^${r}$`,"i")},n=new RegExp("^0[0-7]+$","i"),s=new RegExp("^0x[a-f0-9]+$","i"),o="%[0-9a-z]{1,}",a="(?:[0-9a-f]+::?)+",c={zoneIndex:new RegExp(o,"i"),native:new RegExp(`^(::)?(${a})?([0-9a-f]+)?(::)?(${o})?$`,"i"),deprecatedTransitional:new RegExp(`^(?:::)(${r}\\.${r}\\.${r}\\.${r}(${o})?)$`,"i"),transitional:new RegExp(`^((?:${a})|(?:::)(?:${a})?)${r}\\.${r}\\.${r}\\.${r}(${o})?$`,"i")};function l(t,e){if(t.indexOf("::")!==t.lastIndexOf("::"))return null;let r,i,n=0,s=-1,o=(t.match(c.zoneIndex)||[])[0];for(o&&(o=o.substring(1),t=t.replace(/%.+$/,""));(s=t.indexOf(":",s+1))>=0;)n++;if("::"===t.substr(0,2)&&n--,"::"===t.substr(-2,2)&&n--,n>e)return null;for(i=e-n,r=":";i--;)r+="0:";return":"===(t=t.replace("::",r))[0]&&(t=t.slice(1)),":"===t[t.length-1]&&(t=t.slice(0,-1)),e=function(){const e=t.split(":"),r=[];for(let t=0;t<e.length;t++)r.push(parseInt(e[t],16));return r}(),{parts:e,zoneId:o}}function h(t,e,r,i){if(t.length!==e.length)throw new Error("ipaddr: cannot match CIDR for objects with different lengths");let n,s=0;for(;i>0;){if(n=r-i,n<0&&(n=0),t[s]>>n!==e[s]>>n)return!1;i-=r,s+=1}return!0}function u(t){if(s.test(t))return parseInt(t,16);if("0"===t[0]&&!isNaN(parseInt(t[1],10))){if(n.test(t))return parseInt(t,8);throw new Error(`ipaddr: cannot parse ${t} as octal`)}return parseInt(t,10)}function p(t,e){for(;t.length<e;)t=`0${t}`;return t}const d={};d.IPv4=function(){function t(t){if(4!==t.length)throw new Error("ipaddr: ipv4 octet count should be 4");let e,r;for(e=0;e<t.length;e++)if(r=t[e],!(0<=r&&r<=255))throw new Error("ipaddr: ipv4 octet should fit in 8 bits");this.octets=t}return t.prototype.SpecialRanges={unspecified:[[new t([0,0,0,0]),8]],broadcast:[[new t([255,255,255,255]),32]],multicast:[[new t([224,0,0,0]),4]],linkLocal:[[new t([169,254,0,0]),16]],loopback:[[new t([127,0,0,0]),8]],carrierGradeNat:[[new t([100,64,0,0]),10]],private:[[new t([10,0,0,0]),8],[new t([172,16,0,0]),12],[new t([192,168,0,0]),16]],reserved:[[new t([192,0,0,0]),24],[new t([192,0,2,0]),24],[new t([192,88,99,0]),24],[new t([198,51,100,0]),24],[new t([203,0,113,0]),24],[new t([240,0,0,0]),4]]},t.prototype.kind=function(){return"ipv4"},t.prototype.match=function(t,e){let r;if(void 0===e&&(r=t,t=r[0],e=r[1]),"ipv4"!==t.kind())throw new Error("ipaddr: cannot match ipv4 address with non-ipv4 one");return h(this.octets,t.octets,8,e)},t.prototype.prefixLengthFromSubnetMask=function(){let t=0,e=!1;const r={0:8,128:7,192:6,224:5,240:4,248:3,252:2,254:1,255:0};let i,n,s;for(i=3;i>=0;i-=1){if(n=this.octets[i],!(n in r))return null;if(s=r[n],e&&0!==s)return null;8!==s&&(e=!0),t+=s}return 32-t},t.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){return this.octets.slice(0)},t.prototype.toIPv4MappedAddress=function(){return d.IPv6.parse(`::ffff:${this.toString()}`)},t.prototype.toNormalizedString=function(){return this.toString()},t.prototype.toString=function(){return this.octets.join(".")},t}(),d.IPv4.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),r=e[0].toByteArray(),i=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[];let s=0;for(;s<4;)n.push(parseInt(r[s],10)|255^parseInt(i[s],10)),s++;return new this(n)}catch(t){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.isIPv4=function(t){return null!==this.parser(t)},d.IPv4.isValid=function(t){try{return new this(this.parser(t)),!0}catch(t){return!1}},d.IPv4.isValidFourPartDecimal=function(t){return!(!d.IPv4.isValid(t)||!t.match(/^(0|[1-9]\d*)(\.(0|[1-9]\d*)){3}$/))},d.IPv4.networkAddressFromCIDR=function(t){let e,r,i,n,s;try{for(e=this.parseCIDR(t),i=e[0].toByteArray(),s=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[],r=0;r<4;)n.push(parseInt(i[r],10)&parseInt(s[r],10)),r++;return new this(n)}catch(t){throw new Error("ipaddr: the address does not have IPv4 CIDR format")}},d.IPv4.parse=function(t){const e=this.parser(t);if(null===e)throw new Error("ipaddr: string is not formatted like an IPv4 Address");return new this(e)},d.IPv4.parseCIDR=function(t){let e;if(e=t.match(/^(.+)\/(\d+)$/)){const t=parseInt(e[2]);if(t>=0&&t<=32){const r=[this.parse(e[1]),t];return Object.defineProperty(r,"toString",{value:function(){return this.join("/")}}),r}}throw new Error("ipaddr: string is not formatted like an IPv4 CIDR range")},d.IPv4.parser=function(t){let e,r,n;if(e=t.match(i.fourOctet))return function(){const t=e.slice(1,6),i=[];for(let e=0;e<t.length;e++)r=t[e],i.push(u(r));return i}();if(e=t.match(i.longValue)){if(n=u(e[1]),n>4294967295||n<0)throw new Error("ipaddr: address outside defined range");return function(){const t=[];let e;for(e=0;e<=24;e+=8)t.push(n>>e&255);return t}().reverse()}return(e=t.match(i.twoOctet))?function(){const t=e.slice(1,4),r=[];if(n=u(t[1]),n>16777215||n<0)throw new Error("ipaddr: address outside defined range");return r.push(u(t[0])),r.push(n>>16&255),r.push(n>>8&255),r.push(255&n),r}():(e=t.match(i.threeOctet))?function(){const t=e.slice(1,5),r=[];if(n=u(t[2]),n>65535||n<0)throw new Error("ipaddr: address outside defined range");return r.push(u(t[0])),r.push(u(t[1])),r.push(n>>8&255),r.push(255&n),r}():null},d.IPv4.subnetMaskFromPrefixLength=function(t){if((t=parseInt(t))<0||t>32)throw new Error("ipaddr: invalid IPv4 prefix length");const e=[0,0,0,0];let r=0;const i=Math.floor(t/8);for(;r<i;)e[r]=255,r++;return i<4&&(e[i]=Math.pow(2,t%8)-1<<8-t%8),new this(e)},d.IPv6=function(){function t(t,e){let r,i;if(16===t.length)for(this.parts=[],r=0;r<=14;r+=2)this.parts.push(t[r]<<8|t[r+1]);else{if(8!==t.length)throw new Error("ipaddr: ipv6 part count should be 8 or 16");this.parts=t}for(r=0;r<this.parts.length;r++)if(i=this.parts[r],!(0<=i&&i<=65535))throw new Error("ipaddr: ipv6 part should fit in 16 bits");e&&(this.zoneId=e)}return t.prototype.SpecialRanges={unspecified:[new t([0,0,0,0,0,0,0,0]),128],linkLocal:[new t([65152,0,0,0,0,0,0,0]),10],multicast:[new t([65280,0,0,0,0,0,0,0]),8],loopback:[new t([0,0,0,0,0,0,0,1]),128],uniqueLocal:[new t([64512,0,0,0,0,0,0,0]),7],ipv4Mapped:[new t([0,0,0,0,0,65535,0,0]),96],rfc6145:[new t([0,0,0,0,65535,0,0,0]),96],rfc6052:[new t([100,65435,0,0,0,0,0,0]),96],"6to4":[new t([8194,0,0,0,0,0,0,0]),16],teredo:[new t([8193,0,0,0,0,0,0,0]),32],reserved:[[new t([8193,3512,0,0,0,0,0,0]),32]]},t.prototype.isIPv4MappedAddress=function(){return"ipv4Mapped"===this.range()},t.prototype.kind=function(){return"ipv6"},t.prototype.match=function(t,e){let r;if(void 0===e&&(r=t,t=r[0],e=r[1]),"ipv6"!==t.kind())throw new Error("ipaddr: cannot match ipv6 address with non-ipv6 one");return h(this.parts,t.parts,16,e)},t.prototype.prefixLengthFromSubnetMask=function(){let t=0,e=!1;const r={0:16,32768:15,49152:14,57344:13,61440:12,63488:11,64512:10,65024:9,65280:8,65408:7,65472:6,65504:5,65520:4,65528:3,65532:2,65534:1,65535:0};let i,n;for(let s=7;s>=0;s-=1){if(i=this.parts[s],!(i in r))return null;if(n=r[i],e&&0!==n)return null;16!==n&&(e=!0),t+=n}return 128-t},t.prototype.range=function(){return d.subnetMatch(this,this.SpecialRanges)},t.prototype.toByteArray=function(){let t;const e=[],r=this.parts;for(let i=0;i<r.length;i++)t=r[i],e.push(t>>8),e.push(255&t);return e},t.prototype.toFixedLengthString=function(){const t=function(){const t=[];for(let e=0;e<this.parts.length;e++)t.push(p(this.parts[e].toString(16),4));return t}.call(this).join(":");let e="";return this.zoneId&&(e=`%${this.zoneId}`),t+e},t.prototype.toIPv4Address=function(){if(!this.isIPv4MappedAddress())throw new Error("ipaddr: trying to convert a generic ipv6 address to ipv4");const t=this.parts.slice(-2),e=t[0],r=t[1];return new d.IPv4([e>>8,255&e,r>>8,255&r])},t.prototype.toNormalizedString=function(){const t=function(){const t=[];for(let e=0;e<this.parts.length;e++)t.push(this.parts[e].toString(16));return t}.call(this).join(":");let e="";return this.zoneId&&(e=`%${this.zoneId}`),t+e},t.prototype.toRFC5952String=function(){const t=/((^|:)(0(:|$)){2,})/g,e=this.toNormalizedString();let r,i=0,n=-1;for(;r=t.exec(e);)r[0].length>n&&(i=r.index,n=r[0].length);return n<0?e:`${e.substring(0,i)}::${e.substring(i+n)}`},t.prototype.toString=function(){return this.toNormalizedString().replace(/((^|:)(0(:|$))+)/,"::")},t}(),d.IPv6.broadcastAddressFromCIDR=function(t){try{const e=this.parseCIDR(t),r=e[0].toByteArray(),i=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[];let s=0;for(;s<16;)n.push(parseInt(r[s],10)|255^parseInt(i[s],10)),s++;return new this(n)}catch(t){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${t})`)}},d.IPv6.isIPv6=function(t){return null!==this.parser(t)},d.IPv6.isValid=function(t){if("string"==typeof t&&-1===t.indexOf(":"))return!1;try{const e=this.parser(t);return new this(e.parts,e.zoneId),!0}catch(t){return!1}},d.IPv6.networkAddressFromCIDR=function(t){let e,r,i,n,s;try{for(e=this.parseCIDR(t),i=e[0].toByteArray(),s=this.subnetMaskFromPrefixLength(e[1]).toByteArray(),n=[],r=0;r<16;)n.push(parseInt(i[r],10)&parseInt(s[r],10)),r++;return new this(n)}catch(t){throw new Error(`ipaddr: the address does not have IPv6 CIDR format (${t})`)}},d.IPv6.parse=function(t){const e=this.parser(t);if(null===e.parts)throw new Error("ipaddr: string is not formatted like an IPv6 Address");return new this(e.parts,e.zoneId)},d.IPv6.parseCIDR=function(t){let e,r,i;if((r=t.match(/^(.+)\/(\d+)$/))&&(e=parseInt(r[2]),e>=0&&e<=128))return i=[this.parse(r[1]),e],Object.defineProperty(i,"toString",{value:function(){return this.join("/")}}),i;throw new Error("ipaddr: string is not formatted like an IPv6 CIDR range")},d.IPv6.parser=function(t){let e,r,i,n,s,o;if(i=t.match(c.deprecatedTransitional))return this.parser(`::ffff:${i[1]}`);if(c.native.test(t))return l(t,8);if((i=t.match(c.transitional))&&(o=i[6]||"",e=l(i[1].slice(0,-1)+o,6),e.parts)){for(s=[parseInt(i[2]),parseInt(i[3]),parseInt(i[4]),parseInt(i[5])],r=0;r<s.length;r++)if(n=s[r],!(0<=n&&n<=255))return null;return e.parts.push(s[0]<<8|s[1]),e.parts.push(s[2]<<8|s[3]),{parts:e.parts,zoneId:e.zoneId}}return null},d.IPv6.subnetMaskFromPrefixLength=function(t){if((t=parseInt(t))<0||t>128)throw new Error("ipaddr: invalid IPv6 prefix length");const e=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];let r=0;const i=Math.floor(t/8);for(;r<i;)e[r]=255,r++;return i<16&&(e[i]=Math.pow(2,t%8)-1<<8-t%8),new this(e)},d.fromByteArray=function(t){const e=t.length;if(4===e)return new d.IPv4(t);if(16===e)return new d.IPv6(t);throw new Error("ipaddr: the binary input is neither an IPv6 nor IPv4 address")},d.isValid=function(t){return d.IPv6.isValid(t)||d.IPv4.isValid(t)},d.parse=function(t){if(d.IPv6.isValid(t))return d.IPv6.parse(t);if(d.IPv4.isValid(t))return d.IPv4.parse(t);throw new Error("ipaddr: the address has neither IPv6 nor IPv4 format")},d.parseCIDR=function(t){try{return d.IPv6.parseCIDR(t)}catch(e){try{return d.IPv4.parseCIDR(t)}catch(t){throw new Error("ipaddr: the address has neither IPv6 nor IPv4 CIDR format")}}},d.process=function(t){const e=this.parse(t);return"ipv6"===e.kind()&&e.isIPv4MappedAddress()?e.toIPv4Address():e},d.subnetMatch=function(t,e,r){let i,n,s,o;for(n in null==r&&(r="unicast"),e)if(Object.prototype.hasOwnProperty.call(e,n))for(s=e[n],!s[0]||s[0]instanceof Array||(s=[s]),i=0;i<s.length;i++)if(o=s[i],t.kind()===o[0].kind()&&t.match.apply(t,o))return n;return r},t.exports?t.exports=d:e.ipaddr=d}(this)},4668:t=>{t.exports=function(){function t(t,e,r,i,n){return t<e||r<e?t>r?r+1:t+1:i===n?e:e+1}return function(e,r){if(e===r)return 0;if(e.length>r.length){var i=e;e=r,r=i}for(var n=e.length,s=r.length;n>0&&e.charCodeAt(n-1)===r.charCodeAt(s-1);)n--,s--;for(var o=0;o<n&&e.charCodeAt(o)===r.charCodeAt(o);)o++;if(s-=o,0===(n-=o)||s<3)return s;var a,c,l,h,u,p,d,f,g,m,y,w,A=0,b=[];for(a=0;a<n;a++)b.push(a+1),b.push(e.charCodeAt(o+a));for(var v=b.length-1;A<s-3;)for(g=r.charCodeAt(o+(c=A)),m=r.charCodeAt(o+(l=A+1)),y=r.charCodeAt(o+(h=A+2)),w=r.charCodeAt(o+(u=A+3)),p=A+=4,a=0;a<v;a+=2)c=t(d=b[a],c,l,g,f=b[a+1]),l=t(c,l,h,m,f),h=t(l,h,u,y,f),p=t(h,u,p,w,f),b[a]=p,u=h,h=l,l=c,c=d;for(;A<s;)for(g=r.charCodeAt(o+(c=A)),p=++A,a=0;a<v;a+=2)d=b[a],b[a]=p=t(d,c,p,g,b[a+1]),c=d;return p}}()},1668:(t,e,r)=>{var i={};(0,r(9805).assign)(i,r(3303),r(7083),r(9681)),t.exports=i},3303:(t,e,r)=>{var i=r(8411),n=r(9805),s=r(1996),o=r(4674),a=r(4442),c=Object.prototype.toString;function l(t){if(!(this instanceof l))return new l(t);this.options=n.assign({level:-1,method:8,chunkSize:16384,windowBits:15,memLevel:8,strategy:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new a,this.strm.avail_out=0;var r=i.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(0!==r)throw new Error(o[r]);if(e.header&&i.deflateSetHeader(this.strm,e.header),e.dictionary){var h;if(h="string"==typeof e.dictionary?s.string2buf(e.dictionary):"[object ArrayBuffer]"===c.call(e.dictionary)?new Uint8Array(e.dictionary):e.dictionary,0!==(r=i.deflateSetDictionary(this.strm,h)))throw new Error(o[r]);this._dict_set=!0}}function h(t,e){var r=new l(e);if(r.push(t,!0),r.err)throw r.msg||o[r.err];return r.result}l.prototype.push=function(t,e){var r,o,a=this.strm,l=this.options.chunkSize;if(this.ended)return!1;o=e===~~e?e:!0===e?4:0,"string"==typeof t?a.input=s.string2buf(t):"[object ArrayBuffer]"===c.call(t)?a.input=new Uint8Array(t):a.input=t,a.next_in=0,a.avail_in=a.input.length;do{if(0===a.avail_out&&(a.output=new n.Buf8(l),a.next_out=0,a.avail_out=l),1!==(r=i.deflate(a,o))&&0!==r)return this.onEnd(r),this.ended=!0,!1;0!==a.avail_out&&(0!==a.avail_in||4!==o&&2!==o)||("string"===this.options.to?this.onData(s.buf2binstring(n.shrinkBuf(a.output,a.next_out))):this.onData(n.shrinkBuf(a.output,a.next_out)))}while((a.avail_in>0||0===a.avail_out)&&1!==r);return 4===o?(r=i.deflateEnd(this.strm),this.onEnd(r),this.ended=!0,0===r):2!==o||(this.onEnd(0),a.avail_out=0,!0)},l.prototype.onData=function(t){this.chunks.push(t)},l.prototype.onEnd=function(t){0===t&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Deflate=l,e.deflate=h,e.deflateRaw=function(t,e){return(e=e||{}).raw=!0,h(t,e)},e.gzip=function(t,e){return(e=e||{}).gzip=!0,h(t,e)}},7083:(t,e,r)=>{var i=r(1447),n=r(9805),s=r(1996),o=r(9681),a=r(4674),c=r(4442),l=r(7414),h=Object.prototype.toString;function u(t){if(!(this instanceof u))return new u(t);this.options=n.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,0===e.windowBits&&(e.windowBits=-15)),!(e.windowBits>=0&&e.windowBits<16)||t&&t.windowBits||(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(15&e.windowBits||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new c,this.strm.avail_out=0;var r=i.inflateInit2(this.strm,e.windowBits);if(r!==o.Z_OK)throw new Error(a[r]);if(this.header=new l,i.inflateGetHeader(this.strm,this.header),e.dictionary&&("string"==typeof e.dictionary?e.dictionary=s.string2buf(e.dictionary):"[object ArrayBuffer]"===h.call(e.dictionary)&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=i.inflateSetDictionary(this.strm,e.dictionary))!==o.Z_OK))throw new Error(a[r])}function p(t,e){var r=new u(e);if(r.push(t,!0),r.err)throw r.msg||a[r.err];return r.result}u.prototype.push=function(t,e){var r,a,c,l,u,p=this.strm,d=this.options.chunkSize,f=this.options.dictionary,g=!1;if(this.ended)return!1;a=e===~~e?e:!0===e?o.Z_FINISH:o.Z_NO_FLUSH,"string"==typeof t?p.input=s.binstring2buf(t):"[object ArrayBuffer]"===h.call(t)?p.input=new Uint8Array(t):p.input=t,p.next_in=0,p.avail_in=p.input.length;do{if(0===p.avail_out&&(p.output=new n.Buf8(d),p.next_out=0,p.avail_out=d),(r=i.inflate(p,o.Z_NO_FLUSH))===o.Z_NEED_DICT&&f&&(r=i.inflateSetDictionary(this.strm,f)),r===o.Z_BUF_ERROR&&!0===g&&(r=o.Z_OK,g=!1),r!==o.Z_STREAM_END&&r!==o.Z_OK)return this.onEnd(r),this.ended=!0,!1;p.next_out&&(0!==p.avail_out&&r!==o.Z_STREAM_END&&(0!==p.avail_in||a!==o.Z_FINISH&&a!==o.Z_SYNC_FLUSH)||("string"===this.options.to?(c=s.utf8border(p.output,p.next_out),l=p.next_out-c,u=s.buf2string(p.output,c),p.next_out=l,p.avail_out=d-l,l&&n.arraySet(p.output,p.output,c,l,0),this.onData(u)):this.onData(n.shrinkBuf(p.output,p.next_out)))),0===p.avail_in&&0===p.avail_out&&(g=!0)}while((p.avail_in>0||0===p.avail_out)&&r!==o.Z_STREAM_END);return r===o.Z_STREAM_END&&(a=o.Z_FINISH),a===o.Z_FINISH?(r=i.inflateEnd(this.strm),this.onEnd(r),this.ended=!0,r===o.Z_OK):a!==o.Z_SYNC_FLUSH||(this.onEnd(o.Z_OK),p.avail_out=0,!0)},u.prototype.onData=function(t){this.chunks.push(t)},u.prototype.onEnd=function(t){t===o.Z_OK&&("string"===this.options.to?this.result=this.chunks.join(""):this.result=n.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg},e.Inflate=u,e.inflate=p,e.inflateRaw=function(t,e){return(e=e||{}).raw=!0,p(t,e)},e.ungzip=p},9805:(t,e)=>{var r="undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint16Array&&"undefined"!=typeof Int32Array;function i(t,e){return Object.prototype.hasOwnProperty.call(t,e)}e.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if("object"!=typeof r)throw new TypeError(r+"must be non-object");for(var n in r)i(r,n)&&(t[n]=r[n])}}return t},e.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var n={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray)t.set(e.subarray(r,r+i),n);else for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){var e,r,i,n,s,o;for(i=0,e=0,r=t.length;e<r;e++)i+=t[e].length;for(o=new Uint8Array(i),n=0,e=0,r=t.length;e<r;e++)s=t[e],o.set(s,n),n+=s.length;return o}},s={arraySet:function(t,e,r,i,n){for(var s=0;s<i;s++)t[n+s]=e[r+s]},flattenChunks:function(t){return[].concat.apply([],t)}};e.setTyped=function(t){t?(e.Buf8=Uint8Array,e.Buf16=Uint16Array,e.Buf32=Int32Array,e.assign(e,n)):(e.Buf8=Array,e.Buf16=Array,e.Buf32=Array,e.assign(e,s))},e.setTyped(r)},1996:(t,e,r)=>{var i=r(9805),n=!0,s=!0;try{String.fromCharCode.apply(null,[0])}catch(t){n=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){s=!1}for(var o=new i.Buf8(256),a=0;a<256;a++)o[a]=a>=252?6:a>=248?5:a>=240?4:a>=224?3:a>=192?2:1;function c(t,e){if(e<65534&&(t.subarray&&s||!t.subarray&&n))return String.fromCharCode.apply(null,i.shrinkBuf(t,e));for(var r="",o=0;o<e;o++)r+=String.fromCharCode(t[o]);return r}o[254]=o[254]=1,e.string2buf=function(t){var e,r,n,s,o,a=t.length,c=0;for(s=0;s<a;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<a&&56320==(64512&(n=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(n-56320),s++),c+=r<128?1:r<2048?2:r<65536?3:4;for(e=new i.Buf8(c),o=0,s=0;o<c;s++)55296==(64512&(r=t.charCodeAt(s)))&&s+1<a&&56320==(64512&(n=t.charCodeAt(s+1)))&&(r=65536+(r-55296<<10)+(n-56320),s++),r<128?e[o++]=r:r<2048?(e[o++]=192|r>>>6,e[o++]=128|63&r):r<65536?(e[o++]=224|r>>>12,e[o++]=128|r>>>6&63,e[o++]=128|63&r):(e[o++]=240|r>>>18,e[o++]=128|r>>>12&63,e[o++]=128|r>>>6&63,e[o++]=128|63&r);return e},e.buf2binstring=function(t){return c(t,t.length)},e.binstring2buf=function(t){for(var e=new i.Buf8(t.length),r=0,n=e.length;r<n;r++)e[r]=t.charCodeAt(r);return e},e.buf2string=function(t,e){var r,i,n,s,a=e||t.length,l=new Array(2*a);for(i=0,r=0;r<a;)if((n=t[r++])<128)l[i++]=n;else if((s=o[n])>4)l[i++]=65533,r+=s-1;else{for(n&=2===s?31:3===s?15:7;s>1&&r<a;)n=n<<6|63&t[r++],s--;s>1?l[i++]=65533:n<65536?l[i++]=n:(n-=65536,l[i++]=55296|n>>10&1023,l[i++]=56320|1023&n)}return c(l,i)},e.utf8border=function(t,e){var r;for((e=e||t.length)>t.length&&(e=t.length),r=e-1;r>=0&&128==(192&t[r]);)r--;return r<0||0===r?e:r+o[t[r]]>e?r:e}},3269:t=>{t.exports=function(t,e,r,i){for(var n=65535&t,s=t>>>16&65535,o=0;0!==r;){r-=o=r>2e3?2e3:r;do{s=s+(n=n+e[i++]|0)|0}while(--o);n%=65521,s%=65521}return n|s<<16}},9681:t=>{t.exports={Z_NO_FLUSH:0,Z_PARTIAL_FLUSH:1,Z_SYNC_FLUSH:2,Z_FULL_FLUSH:3,Z_FINISH:4,Z_BLOCK:5,Z_TREES:6,Z_OK:0,Z_STREAM_END:1,Z_NEED_DICT:2,Z_ERRNO:-1,Z_STREAM_ERROR:-2,Z_DATA_ERROR:-3,Z_BUF_ERROR:-5,Z_NO_COMPRESSION:0,Z_BEST_SPEED:1,Z_BEST_COMPRESSION:9,Z_DEFAULT_COMPRESSION:-1,Z_FILTERED:1,Z_HUFFMAN_ONLY:2,Z_RLE:3,Z_FIXED:4,Z_DEFAULT_STRATEGY:0,Z_BINARY:0,Z_TEXT:1,Z_UNKNOWN:2,Z_DEFLATED:8}},4823:t=>{var e=function(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=1&t?3988292384^t>>>1:t>>>1;e[r]=t}return e}();t.exports=function(t,r,i,n){var s=e,o=n+i;t^=-1;for(var a=n;a<o;a++)t=t>>>8^s[255&(t^r[a])];return-1^t}},8411:(t,e,r)=>{var i,n=r(9805),s=r(3665),o=r(3269),a=r(4823),c=r(4674),l=-2,h=258,u=262,p=103,d=113,f=666;function g(t,e){return t.msg=c[e],e}function m(t){return(t<<1)-(t>4?9:0)}function y(t){for(var e=t.length;--e>=0;)t[e]=0}function w(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),0!==r&&(n.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,0===e.pending&&(e.pending_out=0))}function A(t,e){s._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,w(t.strm)}function b(t,e){t.pending_buf[t.pending++]=e}function v(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=255&e}function E(t,e,r,i){var s=t.avail_in;return s>i&&(s=i),0===s?0:(t.avail_in-=s,n.arraySet(e,t.input,t.next_in,s,r),1===t.state.wrap?t.adler=o(t.adler,e,s,r):2===t.state.wrap&&(t.adler=a(t.adler,e,s,r)),t.next_in+=s,t.total_in+=s,s)}function _(t,e){var r,i,n=t.max_chain_length,s=t.strstart,o=t.prev_length,a=t.nice_match,c=t.strstart>t.w_size-u?t.strstart-(t.w_size-u):0,l=t.window,p=t.w_mask,d=t.prev,f=t.strstart+h,g=l[s+o-1],m=l[s+o];t.prev_length>=t.good_match&&(n>>=2),a>t.lookahead&&(a=t.lookahead);do{if(l[(r=e)+o]===m&&l[r+o-1]===g&&l[r]===l[s]&&l[++r]===l[s+1]){s+=2,r++;do{}while(l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&l[++s]===l[++r]&&s<f);if(i=h-(f-s),s=f-h,i>o){if(t.match_start=e,o=i,i>=a)break;g=l[s+o-1],m=l[s+o]}}}while((e=d[e&p])>c&&0!==--n);return o<=t.lookahead?o:t.lookahead}function x(t){var e,r,i,s,o,a=t.w_size;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=a+(a-u)){n.arraySet(t.window,t.window,a,a,0),t.match_start-=a,t.strstart-=a,t.block_start-=a,e=r=t.hash_size;do{i=t.head[--e],t.head[e]=i>=a?i-a:0}while(--r);e=r=a;do{i=t.prev[--e],t.prev[e]=i>=a?i-a:0}while(--r);s+=a}if(0===t.strm.avail_in)break;if(r=E(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=r,t.lookahead+t.insert>=3)for(o=t.strstart-t.insert,t.ins_h=t.window[o],t.ins_h=(t.ins_h<<t.hash_shift^t.window[o+1])&t.hash_mask;t.insert&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[o+3-1])&t.hash_mask,t.prev[o&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=o,o++,t.insert--,!(t.lookahead+t.insert<3)););}while(t.lookahead<u&&0!==t.strm.avail_in)}function I(t,e){for(var r,i;;){if(t.lookahead<u){if(x(t),t.lookahead<u&&0===e)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),0!==r&&t.strstart-r<=t.w_size-u&&(t.match_length=_(t,r)),t.match_length>=3)if(i=s._tr_tally(t,t.strstart-t.match_start,t.match_length-3),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=3){t.match_length--;do{t.strstart++,t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart}while(0!==--t.match_length);t.strstart++}else t.strstart+=t.match_length,t.match_length=0,t.ins_h=t.window[t.strstart],t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+1])&t.hash_mask;else i=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++;if(i&&(A(t,!1),0===t.strm.avail_out))return 1}return t.insert=t.strstart<2?t.strstart:2,4===e?(A(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(A(t,!1),0===t.strm.avail_out)?1:2}function S(t,e){for(var r,i,n;;){if(t.lookahead<u){if(x(t),t.lookahead<u&&0===e)return 1;if(0===t.lookahead)break}if(r=0,t.lookahead>=3&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart),t.prev_length=t.match_length,t.prev_match=t.match_start,t.match_length=2,0!==r&&t.prev_length<t.max_lazy_match&&t.strstart-r<=t.w_size-u&&(t.match_length=_(t,r),t.match_length<=5&&(1===t.strategy||3===t.match_length&&t.strstart-t.match_start>4096)&&(t.match_length=2)),t.prev_length>=3&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-3,i=s._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-3),t.lookahead-=t.prev_length-1,t.prev_length-=2;do{++t.strstart<=n&&(t.ins_h=(t.ins_h<<t.hash_shift^t.window[t.strstart+3-1])&t.hash_mask,r=t.prev[t.strstart&t.w_mask]=t.head[t.ins_h],t.head[t.ins_h]=t.strstart)}while(0!==--t.prev_length);if(t.match_available=0,t.match_length=2,t.strstart++,i&&(A(t,!1),0===t.strm.avail_out))return 1}else if(t.match_available){if((i=s._tr_tally(t,0,t.window[t.strstart-1]))&&A(t,!1),t.strstart++,t.lookahead--,0===t.strm.avail_out)return 1}else t.match_available=1,t.strstart++,t.lookahead--}return t.match_available&&(i=s._tr_tally(t,0,t.window[t.strstart-1]),t.match_available=0),t.insert=t.strstart<2?t.strstart:2,4===e?(A(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(A(t,!1),0===t.strm.avail_out)?1:2}function T(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}function C(){this.strm=null,this.status=0,this.pending_buf=null,this.pending_buf_size=0,this.pending_out=0,this.pending=0,this.wrap=0,this.gzhead=null,this.gzindex=0,this.method=8,this.last_flush=-1,this.w_size=0,this.w_bits=0,this.w_mask=0,this.window=null,this.window_size=0,this.prev=null,this.head=null,this.ins_h=0,this.hash_size=0,this.hash_bits=0,this.hash_mask=0,this.hash_shift=0,this.block_start=0,this.match_length=0,this.prev_match=0,this.match_available=0,this.strstart=0,this.match_start=0,this.lookahead=0,this.prev_length=0,this.max_chain_length=0,this.max_lazy_match=0,this.level=0,this.strategy=0,this.good_match=0,this.nice_match=0,this.dyn_ltree=new n.Buf16(1146),this.dyn_dtree=new n.Buf16(122),this.bl_tree=new n.Buf16(78),y(this.dyn_ltree),y(this.dyn_dtree),y(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new n.Buf16(16),this.heap=new n.Buf16(573),y(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new n.Buf16(573),y(this.depth),this.l_buf=0,this.lit_bufsize=0,this.last_lit=0,this.d_buf=0,this.opt_len=0,this.static_len=0,this.matches=0,this.insert=0,this.bi_buf=0,this.bi_valid=0}function R(t){var e;return t&&t.state?(t.total_in=t.total_out=0,t.data_type=2,(e=t.state).pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?42:d,t.adler=2===e.wrap?0:1,e.last_flush=0,s._tr_init(e),0):g(t,l)}function k(t){var e,r=R(t);return 0===r&&((e=t.state).window_size=2*e.w_size,y(e.head),e.max_lazy_match=i[e.level].max_lazy,e.good_match=i[e.level].good_length,e.nice_match=i[e.level].nice_length,e.max_chain_length=i[e.level].max_chain,e.strstart=0,e.block_start=0,e.lookahead=0,e.insert=0,e.match_length=e.prev_length=2,e.match_available=0,e.ins_h=0),r}function B(t,e,r,i,s,o){if(!t)return l;var a=1;if(-1===e&&(e=6),i<0?(a=0,i=-i):i>15&&(a=2,i-=16),s<1||s>9||8!==r||i<8||i>15||e<0||e>9||o<0||o>4)return g(t,l);8===i&&(i=9);var c=new C;return t.state=c,c.strm=t,c.wrap=a,c.gzhead=null,c.w_bits=i,c.w_size=1<<c.w_bits,c.w_mask=c.w_size-1,c.hash_bits=s+7,c.hash_size=1<<c.hash_bits,c.hash_mask=c.hash_size-1,c.hash_shift=~~((c.hash_bits+3-1)/3),c.window=new n.Buf8(2*c.w_size),c.head=new n.Buf16(c.hash_size),c.prev=new n.Buf16(c.w_size),c.lit_bufsize=1<<s+6,c.pending_buf_size=4*c.lit_bufsize,c.pending_buf=new n.Buf8(c.pending_buf_size),c.d_buf=1*c.lit_bufsize,c.l_buf=3*c.lit_bufsize,c.level=e,c.strategy=o,c.method=r,k(t)}i=[new T(0,0,0,0,function(t,e){var r=65535;for(r>t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(x(t),0===t.lookahead&&0===e)return 1;if(0===t.lookahead)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((0===t.strstart||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,A(t,!1),0===t.strm.avail_out))return 1;if(t.strstart-t.block_start>=t.w_size-u&&(A(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(A(t,!0),0===t.strm.avail_out?3:4):(t.strstart>t.block_start&&(A(t,!1),t.strm.avail_out),1)}),new T(4,4,8,4,I),new T(4,5,16,8,I),new T(4,6,32,32,I),new T(4,4,16,16,S),new T(8,16,32,32,S),new T(8,16,128,128,S),new T(8,32,128,256,S),new T(32,128,258,1024,S),new T(32,258,258,4096,S)],e.deflateInit=function(t,e){return B(t,e,8,15,8,0)},e.deflateInit2=B,e.deflateReset=k,e.deflateResetKeep=R,e.deflateSetHeader=function(t,e){return t&&t.state?2!==t.state.wrap?l:(t.state.gzhead=e,0):l},e.deflate=function(t,e){var r,n,o,c;if(!t||!t.state||e>5||e<0)return t?g(t,l):l;if(n=t.state,!t.output||!t.input&&0!==t.avail_in||n.status===f&&4!==e)return g(t,0===t.avail_out?-5:l);if(n.strm=t,r=n.last_flush,n.last_flush=e,42===n.status)if(2===n.wrap)t.adler=0,b(n,31),b(n,139),b(n,8),n.gzhead?(b(n,(n.gzhead.text?1:0)+(n.gzhead.hcrc?2:0)+(n.gzhead.extra?4:0)+(n.gzhead.name?8:0)+(n.gzhead.comment?16:0)),b(n,255&n.gzhead.time),b(n,n.gzhead.time>>8&255),b(n,n.gzhead.time>>16&255),b(n,n.gzhead.time>>24&255),b(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),b(n,255&n.gzhead.os),n.gzhead.extra&&n.gzhead.extra.length&&(b(n,255&n.gzhead.extra.length),b(n,n.gzhead.extra.length>>8&255)),n.gzhead.hcrc&&(t.adler=a(t.adler,n.pending_buf,n.pending,0)),n.gzindex=0,n.status=69):(b(n,0),b(n,0),b(n,0),b(n,0),b(n,0),b(n,9===n.level?2:n.strategy>=2||n.level<2?4:0),b(n,3),n.status=d);else{var u=8+(n.w_bits-8<<4)<<8;u|=(n.strategy>=2||n.level<2?0:n.level<6?1:6===n.level?2:3)<<6,0!==n.strstart&&(u|=32),u+=31-u%31,n.status=d,v(n,u),0!==n.strstart&&(v(n,t.adler>>>16),v(n,65535&t.adler)),t.adler=1}if(69===n.status)if(n.gzhead.extra){for(o=n.pending;n.gzindex<(65535&n.gzhead.extra.length)&&(n.pending!==n.pending_buf_size||(n.gzhead.hcrc&&n.pending>o&&(t.adler=a(t.adler,n.pending_buf,n.pending-o,o)),w(t),o=n.pending,n.pending!==n.pending_buf_size));)b(n,255&n.gzhead.extra[n.gzindex]),n.gzindex++;n.gzhead.hcrc&&n.pending>o&&(t.adler=a(t.adler,n.pending_buf,n.pending-o,o)),n.gzindex===n.gzhead.extra.length&&(n.gzindex=0,n.status=73)}else n.status=73;if(73===n.status)if(n.gzhead.name){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(t.adler=a(t.adler,n.pending_buf,n.pending-o,o)),w(t),o=n.pending,n.pending===n.pending_buf_size)){c=1;break}c=n.gzindex<n.gzhead.name.length?255&n.gzhead.name.charCodeAt(n.gzindex++):0,b(n,c)}while(0!==c);n.gzhead.hcrc&&n.pending>o&&(t.adler=a(t.adler,n.pending_buf,n.pending-o,o)),0===c&&(n.gzindex=0,n.status=91)}else n.status=91;if(91===n.status)if(n.gzhead.comment){o=n.pending;do{if(n.pending===n.pending_buf_size&&(n.gzhead.hcrc&&n.pending>o&&(t.adler=a(t.adler,n.pending_buf,n.pending-o,o)),w(t),o=n.pending,n.pending===n.pending_buf_size)){c=1;break}c=n.gzindex<n.gzhead.comment.length?255&n.gzhead.comment.charCodeAt(n.gzindex++):0,b(n,c)}while(0!==c);n.gzhead.hcrc&&n.pending>o&&(t.adler=a(t.adler,n.pending_buf,n.pending-o,o)),0===c&&(n.status=p)}else n.status=p;if(n.status===p&&(n.gzhead.hcrc?(n.pending+2>n.pending_buf_size&&w(t),n.pending+2<=n.pending_buf_size&&(b(n,255&t.adler),b(n,t.adler>>8&255),t.adler=0,n.status=d)):n.status=d),0!==n.pending){if(w(t),0===t.avail_out)return n.last_flush=-1,0}else if(0===t.avail_in&&m(e)<=m(r)&&4!==e)return g(t,-5);if(n.status===f&&0!==t.avail_in)return g(t,-5);if(0!==t.avail_in||0!==n.lookahead||0!==e&&n.status!==f){var E=2===n.strategy?function(t,e){for(var r;;){if(0===t.lookahead&&(x(t),0===t.lookahead)){if(0===e)return 1;break}if(t.match_length=0,r=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(A(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(A(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(A(t,!1),0===t.strm.avail_out)?1:2}(n,e):3===n.strategy?function(t,e){for(var r,i,n,o,a=t.window;;){if(t.lookahead<=h){if(x(t),t.lookahead<=h&&0===e)return 1;if(0===t.lookahead)break}if(t.match_length=0,t.lookahead>=3&&t.strstart>0&&(i=a[n=t.strstart-1])===a[++n]&&i===a[++n]&&i===a[++n]){o=t.strstart+h;do{}while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&n<o);t.match_length=h-(o-n),t.match_length>t.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=3?(r=s._tr_tally(t,1,t.match_length-3),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=s._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(A(t,!1),0===t.strm.avail_out))return 1}return t.insert=0,4===e?(A(t,!0),0===t.strm.avail_out?3:4):t.last_lit&&(A(t,!1),0===t.strm.avail_out)?1:2}(n,e):i[n.level].func(n,e);if(3!==E&&4!==E||(n.status=f),1===E||3===E)return 0===t.avail_out&&(n.last_flush=-1),0;if(2===E&&(1===e?s._tr_align(n):5!==e&&(s._tr_stored_block(n,0,0,!1),3===e&&(y(n.head),0===n.lookahead&&(n.strstart=0,n.block_start=0,n.insert=0))),w(t),0===t.avail_out))return n.last_flush=-1,0}return 4!==e?0:n.wrap<=0?1:(2===n.wrap?(b(n,255&t.adler),b(n,t.adler>>8&255),b(n,t.adler>>16&255),b(n,t.adler>>24&255),b(n,255&t.total_in),b(n,t.total_in>>8&255),b(n,t.total_in>>16&255),b(n,t.total_in>>24&255)):(v(n,t.adler>>>16),v(n,65535&t.adler)),w(t),n.wrap>0&&(n.wrap=-n.wrap),0!==n.pending?0:1)},e.deflateEnd=function(t){var e;return t&&t.state?42!==(e=t.state.status)&&69!==e&&73!==e&&91!==e&&e!==p&&e!==d&&e!==f?g(t,l):(t.state=null,e===d?g(t,-3):0):l},e.deflateSetDictionary=function(t,e){var r,i,s,a,c,h,u,p,d=e.length;if(!t||!t.state)return l;if(2===(a=(r=t.state).wrap)||1===a&&42!==r.status||r.lookahead)return l;for(1===a&&(t.adler=o(t.adler,e,d,0)),r.wrap=0,d>=r.w_size&&(0===a&&(y(r.head),r.strstart=0,r.block_start=0,r.insert=0),p=new n.Buf8(r.w_size),n.arraySet(p,e,d-r.w_size,r.w_size,0),e=p,d=r.w_size),c=t.avail_in,h=t.next_in,u=t.input,t.avail_in=d,t.next_in=0,t.input=e,x(r);r.lookahead>=3;){i=r.strstart,s=r.lookahead-2;do{r.ins_h=(r.ins_h<<r.hash_shift^r.window[i+3-1])&r.hash_mask,r.prev[i&r.w_mask]=r.head[r.ins_h],r.head[r.ins_h]=i,i++}while(--s);r.strstart=i,r.lookahead=2,x(r)}return r.strstart+=r.lookahead,r.block_start=r.strstart,r.insert=r.lookahead,r.lookahead=0,r.match_length=r.prev_length=2,r.match_available=0,t.next_in=h,t.input=u,t.avail_in=c,r.wrap=a,0},e.deflateInfo="pako deflate (from Nodeca project)"},7414:t=>{t.exports=function(){this.text=0,this.time=0,this.xflags=0,this.os=0,this.extra=null,this.extra_len=0,this.name="",this.comment="",this.hcrc=0,this.done=!1}},7293:t=>{t.exports=function(t,e){var r,i,n,s,o,a,c,l,h,u,p,d,f,g,m,y,w,A,b,v,E,_,x,I,S;r=t.state,i=t.next_in,I=t.input,n=i+(t.avail_in-5),s=t.next_out,S=t.output,o=s-(e-t.avail_out),a=s+(t.avail_out-257),c=r.dmax,l=r.wsize,h=r.whave,u=r.wnext,p=r.window,d=r.hold,f=r.bits,g=r.lencode,m=r.distcode,y=(1<<r.lenbits)-1,w=(1<<r.distbits)-1;t:do{f<15&&(d+=I[i++]<<f,f+=8,d+=I[i++]<<f,f+=8),A=g[d&y];e:for(;;){if(d>>>=b=A>>>24,f-=b,0===(b=A>>>16&255))S[s++]=65535&A;else{if(!(16&b)){if(64&b){if(32&b){r.mode=12;break t}t.msg="invalid literal/length code",r.mode=30;break t}A=g[(65535&A)+(d&(1<<b)-1)];continue e}for(v=65535&A,(b&=15)&&(f<b&&(d+=I[i++]<<f,f+=8),v+=d&(1<<b)-1,d>>>=b,f-=b),f<15&&(d+=I[i++]<<f,f+=8,d+=I[i++]<<f,f+=8),A=m[d&w];;){if(d>>>=b=A>>>24,f-=b,16&(b=A>>>16&255)){if(E=65535&A,f<(b&=15)&&(d+=I[i++]<<f,(f+=8)<b&&(d+=I[i++]<<f,f+=8)),(E+=d&(1<<b)-1)>c){t.msg="invalid distance too far back",r.mode=30;break t}if(d>>>=b,f-=b,E>(b=s-o)){if((b=E-b)>h&&r.sane){t.msg="invalid distance too far back",r.mode=30;break t}if(_=0,x=p,0===u){if(_+=l-b,b<v){v-=b;do{S[s++]=p[_++]}while(--b);_=s-E,x=S}}else if(u<b){if(_+=l+u-b,(b-=u)<v){v-=b;do{S[s++]=p[_++]}while(--b);if(_=0,u<v){v-=b=u;do{S[s++]=p[_++]}while(--b);_=s-E,x=S}}}else if(_+=u-b,b<v){v-=b;do{S[s++]=p[_++]}while(--b);_=s-E,x=S}for(;v>2;)S[s++]=x[_++],S[s++]=x[_++],S[s++]=x[_++],v-=3;v&&(S[s++]=x[_++],v>1&&(S[s++]=x[_++]))}else{_=s-E;do{S[s++]=S[_++],S[s++]=S[_++],S[s++]=S[_++],v-=3}while(v>2);v&&(S[s++]=S[_++],v>1&&(S[s++]=S[_++]))}break}if(64&b){t.msg="invalid distance code",r.mode=30;break t}A=m[(65535&A)+(d&(1<<b)-1)]}}break}}while(i<n&&s<a);i-=v=f>>3,d&=(1<<(f-=v<<3))-1,t.next_in=i,t.next_out=s,t.avail_in=i<n?n-i+5:5-(i-n),t.avail_out=s<a?a-s+257:257-(s-a),r.hold=d,r.bits=f}},1447:(t,e,r)=>{var i=r(9805),n=r(3269),s=r(4823),o=r(7293),a=r(1998),c=-2,l=12,h=30;function u(t){return(t>>>24&255)+(t>>>8&65280)+((65280&t)<<8)+((255&t)<<24)}function p(){this.mode=0,this.last=!1,this.wrap=0,this.havedict=!1,this.flags=0,this.dmax=0,this.check=0,this.total=0,this.head=null,this.wbits=0,this.wsize=0,this.whave=0,this.wnext=0,this.window=null,this.hold=0,this.bits=0,this.length=0,this.offset=0,this.extra=0,this.lencode=null,this.distcode=null,this.lenbits=0,this.distbits=0,this.ncode=0,this.nlen=0,this.ndist=0,this.have=0,this.next=null,this.lens=new i.Buf16(320),this.work=new i.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function d(t){var e;return t&&t.state?(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=1&e.wrap),e.mode=1,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new i.Buf32(852),e.distcode=e.distdyn=new i.Buf32(592),e.sane=1,e.back=-1,0):c}function f(t){var e;return t&&t.state?((e=t.state).wsize=0,e.whave=0,e.wnext=0,d(t)):c}function g(t,e){var r,i;return t&&t.state?(i=t.state,e<0?(r=0,e=-e):(r=1+(e>>4),e<48&&(e&=15)),e&&(e<8||e>15)?c:(null!==i.window&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,f(t))):c}function m(t,e){var r,i;return t?(i=new p,t.state=i,i.window=null,0!==(r=g(t,e))&&(t.state=null),r):c}var y,w,A=!0;function b(t){if(A){var e;for(y=new i.Buf32(512),w=new i.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(a(1,t.lens,0,288,y,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;a(2,t.lens,0,32,w,0,t.work,{bits:5}),A=!1}t.lencode=y,t.lenbits=9,t.distcode=w,t.distbits=5}function v(t,e,r,n){var s,o=t.state;return null===o.window&&(o.wsize=1<<o.wbits,o.wnext=0,o.whave=0,o.window=new i.Buf8(o.wsize)),n>=o.wsize?(i.arraySet(o.window,e,r-o.wsize,o.wsize,0),o.wnext=0,o.whave=o.wsize):((s=o.wsize-o.wnext)>n&&(s=n),i.arraySet(o.window,e,r-n,s,o.wnext),(n-=s)?(i.arraySet(o.window,e,r-n,n,0),o.wnext=n,o.whave=o.wsize):(o.wnext+=s,o.wnext===o.wsize&&(o.wnext=0),o.whave<o.wsize&&(o.whave+=s))),0}e.inflateReset=f,e.inflateReset2=g,e.inflateResetKeep=d,e.inflateInit=function(t){return m(t,15)},e.inflateInit2=m,e.inflate=function(t,e){var r,p,d,f,g,m,y,w,A,E,_,x,I,S,T,C,R,k,B,N,O,D,P,L,U=0,M=new i.Buf8(4),F=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];if(!t||!t.state||!t.output||!t.input&&0!==t.avail_in)return c;(r=t.state).mode===l&&(r.mode=13),g=t.next_out,d=t.output,y=t.avail_out,f=t.next_in,p=t.input,m=t.avail_in,w=r.hold,A=r.bits,E=m,_=y,D=0;t:for(;;)switch(r.mode){case 1:if(0===r.wrap){r.mode=13;break}for(;A<16;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(2&r.wrap&&35615===w){r.check=0,M[0]=255&w,M[1]=w>>>8&255,r.check=s(r.check,M,2,0),w=0,A=0,r.mode=2;break}if(r.flags=0,r.head&&(r.head.done=!1),!(1&r.wrap)||(((255&w)<<8)+(w>>8))%31){t.msg="incorrect header check",r.mode=h;break}if(8!=(15&w)){t.msg="unknown compression method",r.mode=h;break}if(A-=4,O=8+(15&(w>>>=4)),0===r.wbits)r.wbits=O;else if(O>r.wbits){t.msg="invalid window size",r.mode=h;break}r.dmax=1<<O,t.adler=r.check=1,r.mode=512&w?10:l,w=0,A=0;break;case 2:for(;A<16;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(r.flags=w,8!=(255&r.flags)){t.msg="unknown compression method",r.mode=h;break}if(57344&r.flags){t.msg="unknown header flags set",r.mode=h;break}r.head&&(r.head.text=w>>8&1),512&r.flags&&(M[0]=255&w,M[1]=w>>>8&255,r.check=s(r.check,M,2,0)),w=0,A=0,r.mode=3;case 3:for(;A<32;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}r.head&&(r.head.time=w),512&r.flags&&(M[0]=255&w,M[1]=w>>>8&255,M[2]=w>>>16&255,M[3]=w>>>24&255,r.check=s(r.check,M,4,0)),w=0,A=0,r.mode=4;case 4:for(;A<16;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}r.head&&(r.head.xflags=255&w,r.head.os=w>>8),512&r.flags&&(M[0]=255&w,M[1]=w>>>8&255,r.check=s(r.check,M,2,0)),w=0,A=0,r.mode=5;case 5:if(1024&r.flags){for(;A<16;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}r.length=w,r.head&&(r.head.extra_len=w),512&r.flags&&(M[0]=255&w,M[1]=w>>>8&255,r.check=s(r.check,M,2,0)),w=0,A=0}else r.head&&(r.head.extra=null);r.mode=6;case 6:if(1024&r.flags&&((x=r.length)>m&&(x=m),x&&(r.head&&(O=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),i.arraySet(r.head.extra,p,f,x,O)),512&r.flags&&(r.check=s(r.check,p,x,f)),m-=x,f+=x,r.length-=x),r.length))break t;r.length=0,r.mode=7;case 7:if(2048&r.flags){if(0===m)break t;x=0;do{O=p[f+x++],r.head&&O&&r.length<65536&&(r.head.name+=String.fromCharCode(O))}while(O&&x<m);if(512&r.flags&&(r.check=s(r.check,p,x,f)),m-=x,f+=x,O)break t}else r.head&&(r.head.name=null);r.length=0,r.mode=8;case 8:if(4096&r.flags){if(0===m)break t;x=0;do{O=p[f+x++],r.head&&O&&r.length<65536&&(r.head.comment+=String.fromCharCode(O))}while(O&&x<m);if(512&r.flags&&(r.check=s(r.check,p,x,f)),m-=x,f+=x,O)break t}else r.head&&(r.head.comment=null);r.mode=9;case 9:if(512&r.flags){for(;A<16;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(w!==(65535&r.check)){t.msg="header crc mismatch",r.mode=h;break}w=0,A=0}r.head&&(r.head.hcrc=r.flags>>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=l;break;case 10:for(;A<32;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}t.adler=r.check=u(w),w=0,A=0,r.mode=11;case 11:if(0===r.havedict)return t.next_out=g,t.avail_out=y,t.next_in=f,t.avail_in=m,r.hold=w,r.bits=A,2;t.adler=r.check=1,r.mode=l;case l:if(5===e||6===e)break t;case 13:if(r.last){w>>>=7&A,A-=7&A,r.mode=27;break}for(;A<3;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}switch(r.last=1&w,A-=1,3&(w>>>=1)){case 0:r.mode=14;break;case 1:if(b(r),r.mode=20,6===e){w>>>=2,A-=2;break t}break;case 2:r.mode=17;break;case 3:t.msg="invalid block type",r.mode=h}w>>>=2,A-=2;break;case 14:for(w>>>=7&A,A-=7&A;A<32;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if((65535&w)!=(w>>>16^65535)){t.msg="invalid stored block lengths",r.mode=h;break}if(r.length=65535&w,w=0,A=0,r.mode=15,6===e)break t;case 15:r.mode=16;case 16:if(x=r.length){if(x>m&&(x=m),x>y&&(x=y),0===x)break t;i.arraySet(d,p,f,x,g),m-=x,f+=x,y-=x,g+=x,r.length-=x;break}r.mode=l;break;case 17:for(;A<14;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(r.nlen=257+(31&w),w>>>=5,A-=5,r.ndist=1+(31&w),w>>>=5,A-=5,r.ncode=4+(15&w),w>>>=4,A-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=h;break}r.have=0,r.mode=18;case 18:for(;r.have<r.ncode;){for(;A<3;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}r.lens[F[r.have++]]=7&w,w>>>=3,A-=3}for(;r.have<19;)r.lens[F[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,P={bits:r.lenbits},D=a(0,r.lens,0,19,r.lencode,0,r.work,P),r.lenbits=P.bits,D){t.msg="invalid code lengths set",r.mode=h;break}r.have=0,r.mode=19;case 19:for(;r.have<r.nlen+r.ndist;){for(;C=(U=r.lencode[w&(1<<r.lenbits)-1])>>>16&255,R=65535&U,!((T=U>>>24)<=A);){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(R<16)w>>>=T,A-=T,r.lens[r.have++]=R;else{if(16===R){for(L=T+2;A<L;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(w>>>=T,A-=T,0===r.have){t.msg="invalid bit length repeat",r.mode=h;break}O=r.lens[r.have-1],x=3+(3&w),w>>>=2,A-=2}else if(17===R){for(L=T+3;A<L;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}A-=T,O=0,x=3+(7&(w>>>=T)),w>>>=3,A-=3}else{for(L=T+7;A<L;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}A-=T,O=0,x=11+(127&(w>>>=T)),w>>>=7,A-=7}if(r.have+x>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=h;break}for(;x--;)r.lens[r.have++]=O}}if(r.mode===h)break;if(0===r.lens[256]){t.msg="invalid code -- missing end-of-block",r.mode=h;break}if(r.lenbits=9,P={bits:r.lenbits},D=a(1,r.lens,0,r.nlen,r.lencode,0,r.work,P),r.lenbits=P.bits,D){t.msg="invalid literal/lengths set",r.mode=h;break}if(r.distbits=6,r.distcode=r.distdyn,P={bits:r.distbits},D=a(2,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,P),r.distbits=P.bits,D){t.msg="invalid distances set",r.mode=h;break}if(r.mode=20,6===e)break t;case 20:r.mode=21;case 21:if(m>=6&&y>=258){t.next_out=g,t.avail_out=y,t.next_in=f,t.avail_in=m,r.hold=w,r.bits=A,o(t,_),g=t.next_out,d=t.output,y=t.avail_out,f=t.next_in,p=t.input,m=t.avail_in,w=r.hold,A=r.bits,r.mode===l&&(r.back=-1);break}for(r.back=0;C=(U=r.lencode[w&(1<<r.lenbits)-1])>>>16&255,R=65535&U,!((T=U>>>24)<=A);){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(C&&!(240&C)){for(k=T,B=C,N=R;C=(U=r.lencode[N+((w&(1<<k+B)-1)>>k)])>>>16&255,R=65535&U,!(k+(T=U>>>24)<=A);){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}w>>>=k,A-=k,r.back+=k}if(w>>>=T,A-=T,r.back+=T,r.length=R,0===C){r.mode=26;break}if(32&C){r.back=-1,r.mode=l;break}if(64&C){t.msg="invalid literal/length code",r.mode=h;break}r.extra=15&C,r.mode=22;case 22:if(r.extra){for(L=r.extra;A<L;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}r.length+=w&(1<<r.extra)-1,w>>>=r.extra,A-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=23;case 23:for(;C=(U=r.distcode[w&(1<<r.distbits)-1])>>>16&255,R=65535&U,!((T=U>>>24)<=A);){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(!(240&C)){for(k=T,B=C,N=R;C=(U=r.distcode[N+((w&(1<<k+B)-1)>>k)])>>>16&255,R=65535&U,!(k+(T=U>>>24)<=A);){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}w>>>=k,A-=k,r.back+=k}if(w>>>=T,A-=T,r.back+=T,64&C){t.msg="invalid distance code",r.mode=h;break}r.offset=R,r.extra=15&C,r.mode=24;case 24:if(r.extra){for(L=r.extra;A<L;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}r.offset+=w&(1<<r.extra)-1,w>>>=r.extra,A-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=h;break}r.mode=25;case 25:if(0===y)break t;if(x=_-y,r.offset>x){if((x=r.offset-x)>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=h;break}x>r.wnext?(x-=r.wnext,I=r.wsize-x):I=r.wnext-x,x>r.length&&(x=r.length),S=r.window}else S=d,I=g-r.offset,x=r.length;x>y&&(x=y),y-=x,r.length-=x;do{d[g++]=S[I++]}while(--x);0===r.length&&(r.mode=21);break;case 26:if(0===y)break t;d[g++]=r.length,y--,r.mode=21;break;case 27:if(r.wrap){for(;A<32;){if(0===m)break t;m--,w|=p[f++]<<A,A+=8}if(_-=y,t.total_out+=_,r.total+=_,_&&(t.adler=r.check=r.flags?s(r.check,d,_,g-_):n(r.check,d,_,g-_)),_=y,(r.flags?w:u(w))!==r.check){t.msg="incorrect data check",r.mode=h;break}w=0,A=0}r.mode=28;case 28:if(r.wrap&&r.flags){for(;A<32;){if(0===m)break t;m--,w+=p[f++]<<A,A+=8}if(w!==(4294967295&r.total)){t.msg="incorrect length check",r.mode=h;break}w=0,A=0}r.mode=29;case 29:D=1;break t;case h:D=-3;break t;case 31:return-4;default:return c}return t.next_out=g,t.avail_out=y,t.next_in=f,t.avail_in=m,r.hold=w,r.bits=A,(r.wsize||_!==t.avail_out&&r.mode<h&&(r.mode<27||4!==e))&&v(t,t.output,t.next_out,_-t.avail_out)?(r.mode=31,-4):(E-=t.avail_in,_-=t.avail_out,t.total_in+=E,t.total_out+=_,r.total+=_,r.wrap&&_&&(t.adler=r.check=r.flags?s(r.check,d,_,t.next_out-_):n(r.check,d,_,t.next_out-_)),t.data_type=r.bits+(r.last?64:0)+(r.mode===l?128:0)+(20===r.mode||15===r.mode?256:0),(0===E&&0===_||4===e)&&0===D&&(D=-5),D)},e.inflateEnd=function(t){if(!t||!t.state)return c;var e=t.state;return e.window&&(e.window=null),t.state=null,0},e.inflateGetHeader=function(t,e){var r;return t&&t.state&&2&(r=t.state).wrap?(r.head=e,e.done=!1,0):c},e.inflateSetDictionary=function(t,e){var r,i=e.length;return t&&t.state?0!==(r=t.state).wrap&&11!==r.mode?c:11===r.mode&&n(1,e,i,0)!==r.check?-3:v(t,e,i,i)?(r.mode=31,-4):(r.havedict=1,0):c},e.inflateInfo="pako inflate (from Nodeca project)"},1998:(t,e,r)=>{var i=r(9805),n=15,s=[3,4,5,6,7,8,9,10,11,13,15,17,19,23,27,31,35,43,51,59,67,83,99,115,131,163,195,227,258,0,0],o=[16,16,16,16,16,16,16,16,17,17,17,17,18,18,18,18,19,19,19,19,20,20,20,20,21,21,21,21,16,72,78],a=[1,2,3,4,5,7,9,13,17,25,33,49,65,97,129,193,257,385,513,769,1025,1537,2049,3073,4097,6145,8193,12289,16385,24577,0,0],c=[16,16,16,16,17,17,18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25,26,26,27,27,28,28,29,29,64,64];t.exports=function(t,e,r,l,h,u,p,d){var f,g,m,y,w,A,b,v,E,_=d.bits,x=0,I=0,S=0,T=0,C=0,R=0,k=0,B=0,N=0,O=0,D=null,P=0,L=new i.Buf16(16),U=new i.Buf16(16),M=null,F=0;for(x=0;x<=n;x++)L[x]=0;for(I=0;I<l;I++)L[e[r+I]]++;for(C=_,T=n;T>=1&&0===L[T];T--);if(C>T&&(C=T),0===T)return h[u++]=20971520,h[u++]=20971520,d.bits=1,0;for(S=1;S<T&&0===L[S];S++);for(C<S&&(C=S),B=1,x=1;x<=n;x++)if(B<<=1,(B-=L[x])<0)return-1;if(B>0&&(0===t||1!==T))return-1;for(U[1]=0,x=1;x<n;x++)U[x+1]=U[x]+L[x];for(I=0;I<l;I++)0!==e[r+I]&&(p[U[e[r+I]]++]=I);if(0===t?(D=M=p,A=19):1===t?(D=s,P-=257,M=o,F-=257,A=256):(D=a,M=c,A=-1),O=0,I=0,x=S,w=u,R=C,k=0,m=-1,y=(N=1<<C)-1,1===t&&N>852||2===t&&N>592)return 1;for(;;){b=x-k,p[I]<A?(v=0,E=p[I]):p[I]>A?(v=M[F+p[I]],E=D[P+p[I]]):(v=96,E=0),f=1<<x-k,S=g=1<<R;do{h[w+(O>>k)+(g-=f)]=b<<24|v<<16|E}while(0!==g);for(f=1<<x-1;O&f;)f>>=1;if(0!==f?(O&=f-1,O+=f):O=0,I++,0===--L[x]){if(x===T)break;x=e[r+p[I]]}if(x>C&&(O&y)!==m){for(0===k&&(k=C),w+=S,B=1<<(R=x-k);R+k<T&&!((B-=L[R+k])<=0);)R++,B<<=1;if(N+=1<<R,1===t&&N>852||2===t&&N>592)return 1;h[m=O&y]=C<<24|R<<16|w-u}}return 0!==O&&(h[w+O]=x-k<<24|64<<16),d.bits=C,0}},4674:t=>{t.exports={2:"need dictionary",1:"stream end",0:"","-1":"file error","-2":"stream error","-3":"data error","-4":"insufficient memory","-5":"buffer error","-6":"incompatible version"}},3665:(t,e,r)=>{var i=r(9805);function n(t){for(var e=t.length;--e>=0;)t[e]=0}var s=256,o=286,a=30,c=15,l=[0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0],h=[0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13],u=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],p=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],d=new Array(576);n(d);var f=new Array(60);n(f);var g=new Array(512);n(g);var m=new Array(256);n(m);var y=new Array(29);n(y);var w,A,b,v=new Array(a);function E(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}function _(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function x(t){return t<256?g[t]:g[256+(t>>>7)]}function I(t,e){t.pending_buf[t.pending++]=255&e,t.pending_buf[t.pending++]=e>>>8&255}function S(t,e,r){t.bi_valid>16-r?(t.bi_buf|=e<<t.bi_valid&65535,I(t,t.bi_buf),t.bi_buf=e>>16-t.bi_valid,t.bi_valid+=r-16):(t.bi_buf|=e<<t.bi_valid&65535,t.bi_valid+=r)}function T(t,e,r){S(t,r[2*e],r[2*e+1])}function C(t,e){var r=0;do{r|=1&t,t>>>=1,r<<=1}while(--e>0);return r>>>1}function R(t,e,r){var i,n,s=new Array(16),o=0;for(i=1;i<=c;i++)s[i]=o=o+r[i-1]<<1;for(n=0;n<=e;n++){var a=t[2*n+1];0!==a&&(t[2*n]=C(s[a]++,a))}}function k(t){var e;for(e=0;e<o;e++)t.dyn_ltree[2*e]=0;for(e=0;e<a;e++)t.dyn_dtree[2*e]=0;for(e=0;e<19;e++)t.bl_tree[2*e]=0;t.dyn_ltree[512]=1,t.opt_len=t.static_len=0,t.last_lit=t.matches=0}function B(t){t.bi_valid>8?I(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function N(t,e,r,i){var n=2*e,s=2*r;return t[n]<t[s]||t[n]===t[s]&&i[e]<=i[r]}function O(t,e,r){for(var i=t.heap[r],n=r<<1;n<=t.heap_len&&(n<t.heap_len&&N(e,t.heap[n+1],t.heap[n],t.depth)&&n++,!N(e,i,t.heap[n],t.depth));)t.heap[r]=t.heap[n],r=n,n<<=1;t.heap[r]=i}function D(t,e,r){var i,n,o,a,c=0;if(0!==t.last_lit)do{i=t.pending_buf[t.d_buf+2*c]<<8|t.pending_buf[t.d_buf+2*c+1],n=t.pending_buf[t.l_buf+c],c++,0===i?T(t,n,e):(T(t,(o=m[n])+s+1,e),0!==(a=l[o])&&S(t,n-=y[o],a),T(t,o=x(--i),r),0!==(a=h[o])&&S(t,i-=v[o],a))}while(c<t.last_lit);T(t,256,e)}function P(t,e){var r,i,n,s=e.dyn_tree,o=e.stat_desc.static_tree,a=e.stat_desc.has_stree,l=e.stat_desc.elems,h=-1;for(t.heap_len=0,t.heap_max=573,r=0;r<l;r++)0!==s[2*r]?(t.heap[++t.heap_len]=h=r,t.depth[r]=0):s[2*r+1]=0;for(;t.heap_len<2;)s[2*(n=t.heap[++t.heap_len]=h<2?++h:0)]=1,t.depth[n]=0,t.opt_len--,a&&(t.static_len-=o[2*n+1]);for(e.max_code=h,r=t.heap_len>>1;r>=1;r--)O(t,s,r);n=l;do{r=t.heap[1],t.heap[1]=t.heap[t.heap_len--],O(t,s,1),i=t.heap[1],t.heap[--t.heap_max]=r,t.heap[--t.heap_max]=i,s[2*n]=s[2*r]+s[2*i],t.depth[n]=(t.depth[r]>=t.depth[i]?t.depth[r]:t.depth[i])+1,s[2*r+1]=s[2*i+1]=n,t.heap[1]=n++,O(t,s,1)}while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],function(t,e){var r,i,n,s,o,a,l=e.dyn_tree,h=e.max_code,u=e.stat_desc.static_tree,p=e.stat_desc.has_stree,d=e.stat_desc.extra_bits,f=e.stat_desc.extra_base,g=e.stat_desc.max_length,m=0;for(s=0;s<=c;s++)t.bl_count[s]=0;for(l[2*t.heap[t.heap_max]+1]=0,r=t.heap_max+1;r<573;r++)(s=l[2*l[2*(i=t.heap[r])+1]+1]+1)>g&&(s=g,m++),l[2*i+1]=s,i>h||(t.bl_count[s]++,o=0,i>=f&&(o=d[i-f]),a=l[2*i],t.opt_len+=a*(s+o),p&&(t.static_len+=a*(u[2*i+1]+o)));if(0!==m){do{for(s=g-1;0===t.bl_count[s];)s--;t.bl_count[s]--,t.bl_count[s+1]+=2,t.bl_count[g]--,m-=2}while(m>0);for(s=g;0!==s;s--)for(i=t.bl_count[s];0!==i;)(n=t.heap[--r])>h||(l[2*n+1]!==s&&(t.opt_len+=(s-l[2*n+1])*l[2*n],l[2*n+1]=s),i--)}}(t,e),R(s,h,t.bl_count)}function L(t,e,r){var i,n,s=-1,o=e[1],a=0,c=7,l=4;for(0===o&&(c=138,l=3),e[2*(r+1)+1]=65535,i=0;i<=r;i++)n=o,o=e[2*(i+1)+1],++a<c&&n===o||(a<l?t.bl_tree[2*n]+=a:0!==n?(n!==s&&t.bl_tree[2*n]++,t.bl_tree[32]++):a<=10?t.bl_tree[34]++:t.bl_tree[36]++,a=0,s=n,0===o?(c=138,l=3):n===o?(c=6,l=3):(c=7,l=4))}function U(t,e,r){var i,n,s=-1,o=e[1],a=0,c=7,l=4;for(0===o&&(c=138,l=3),i=0;i<=r;i++)if(n=o,o=e[2*(i+1)+1],!(++a<c&&n===o)){if(a<l)do{T(t,n,t.bl_tree)}while(0!==--a);else 0!==n?(n!==s&&(T(t,n,t.bl_tree),a--),T(t,16,t.bl_tree),S(t,a-3,2)):a<=10?(T(t,17,t.bl_tree),S(t,a-3,3)):(T(t,18,t.bl_tree),S(t,a-11,7));a=0,s=n,0===o?(c=138,l=3):n===o?(c=6,l=3):(c=7,l=4)}}n(v);var M=!1;function F(t,e,r,n){S(t,0+(n?1:0),3),function(t,e,r,n){B(t),n&&(I(t,r),I(t,~r)),i.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}(t,e,r,!0)}e._tr_init=function(t){M||(!function(){var t,e,r,i,n,s=new Array(16);for(r=0,i=0;i<28;i++)for(y[i]=r,t=0;t<1<<l[i];t++)m[r++]=i;for(m[r-1]=i,n=0,i=0;i<16;i++)for(v[i]=n,t=0;t<1<<h[i];t++)g[n++]=i;for(n>>=7;i<a;i++)for(v[i]=n<<7,t=0;t<1<<h[i]-7;t++)g[256+n++]=i;for(e=0;e<=c;e++)s[e]=0;for(t=0;t<=143;)d[2*t+1]=8,t++,s[8]++;for(;t<=255;)d[2*t+1]=9,t++,s[9]++;for(;t<=279;)d[2*t+1]=7,t++,s[7]++;for(;t<=287;)d[2*t+1]=8,t++,s[8]++;for(R(d,287,s),t=0;t<a;t++)f[2*t+1]=5,f[2*t]=C(t,5);w=new E(d,l,257,o,c),A=new E(f,h,0,a,c),b=new E(new Array(0),u,0,19,7)}(),M=!0),t.l_desc=new _(t.dyn_ltree,w),t.d_desc=new _(t.dyn_dtree,A),t.bl_desc=new _(t.bl_tree,b),t.bi_buf=0,t.bi_valid=0,k(t)},e._tr_stored_block=F,e._tr_flush_block=function(t,e,r,i){var n,o,a=0;t.level>0?(2===t.strm.data_type&&(t.strm.data_type=function(t){var e,r=4093624447;for(e=0;e<=31;e++,r>>>=1)if(1&r&&0!==t.dyn_ltree[2*e])return 0;if(0!==t.dyn_ltree[18]||0!==t.dyn_ltree[20]||0!==t.dyn_ltree[26])return 1;for(e=32;e<s;e++)if(0!==t.dyn_ltree[2*e])return 1;return 0}(t)),P(t,t.l_desc),P(t,t.d_desc),a=function(t){var e;for(L(t,t.dyn_ltree,t.l_desc.max_code),L(t,t.dyn_dtree,t.d_desc.max_code),P(t,t.bl_desc),e=18;e>=3&&0===t.bl_tree[2*p[e]+1];e--);return t.opt_len+=3*(e+1)+5+5+4,e}(t),n=t.opt_len+3+7>>>3,(o=t.static_len+3+7>>>3)<=n&&(n=o)):n=o=r+5,r+4<=n&&-1!==e?F(t,e,r,i):4===t.strategy||o===n?(S(t,2+(i?1:0),3),D(t,d,f)):(S(t,4+(i?1:0),3),function(t,e,r,i){var n;for(S(t,e-257,5),S(t,r-1,5),S(t,i-4,4),n=0;n<i;n++)S(t,t.bl_tree[2*p[n]+1],3);U(t,t.dyn_ltree,e-1),U(t,t.dyn_dtree,r-1)}(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),D(t,t.dyn_ltree,t.dyn_dtree)),k(t),i&&B(t)},e._tr_tally=function(t,e,r){return t.pending_buf[t.d_buf+2*t.last_lit]=e>>>8&255,t.pending_buf[t.d_buf+2*t.last_lit+1]=255&e,t.pending_buf[t.l_buf+t.last_lit]=255&r,t.last_lit++,0===e?t.dyn_ltree[2*r]++:(t.matches++,e--,t.dyn_ltree[2*(m[r]+s+1)]++,t.dyn_dtree[2*x(e)]++),t.last_lit===t.lit_bufsize-1},e._tr_align=function(t){S(t,2,3),T(t,256,d),function(t){16===t.bi_valid?(I(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=255&t.bi_buf,t.bi_buf>>=8,t.bi_valid-=8)}(t)}},4442:t=>{t.exports=function(){this.input=null,this.next_in=0,this.avail_in=0,this.total_in=0,this.output=null,this.next_out=0,this.avail_out=0,this.total_out=0,this.msg="",this.state=null,this.data_type=2,this.adler=0}},5606:t=>{var e,r,i=t.exports={};function n(){throw new Error("setTimeout has not been defined")}function s(){throw new Error("clearTimeout has not been defined")}function o(t){if(e===setTimeout)return setTimeout(t,0);if((e===n||!e)&&setTimeout)return e=setTimeout,setTimeout(t,0);try{return e(t,0)}catch(r){try{return e.call(null,t,0)}catch(r){return e.call(this,t,0)}}}!function(){try{e="function"==typeof setTimeout?setTimeout:n}catch(t){e=n}try{r="function"==typeof clearTimeout?clearTimeout:s}catch(t){r=s}}();var a,c=[],l=!1,h=-1;function u(){l&&a&&(l=!1,a.length?c=a.concat(c):h=-1,c.length&&p())}function p(){if(!l){var t=o(u);l=!0;for(var e=c.length;e;){for(a=c,c=[];++h<e;)a&&a[h].run();h=-1,e=c.length}a=null,l=!1,function(t){if(r===clearTimeout)return clearTimeout(t);if((r===s||!r)&&clearTimeout)return r=clearTimeout,clearTimeout(t);try{return r(t)}catch(e){try{return r.call(null,t)}catch(e){return r.call(this,t)}}}(t)}}function d(t,e){this.fun=t,this.array=e}function f(){}i.nextTick=function(t){var e=new Array(arguments.length-1);if(arguments.length>1)for(var r=1;r<arguments.length;r++)e[r-1]=arguments[r];c.push(new d(t,e)),1!==c.length||l||o(p)},d.prototype.run=function(){this.fun.apply(null,this.array)},i.title="browser",i.browser=!0,i.env={},i.argv=[],i.version="",i.versions={},i.on=f,i.addListener=f,i.once=f,i.off=f,i.removeListener=f,i.removeAllListeners=f,i.emit=f,i.prependListener=f,i.prependOnceListener=f,i.listeners=function(t){return[]},i.binding=function(t){throw new Error("process.binding is not supported")},i.cwd=function(){return"/"},i.chdir=function(t){throw new Error("process.chdir is not supported")},i.umask=function(){return 0}},152:(t,e)=>{class r{static isArrayBuffer(t){return"[object ArrayBuffer]"===Object.prototype.toString.call(t)}static toArrayBuffer(t){return this.isArrayBuffer(t)?t:t.byteLength===t.buffer.byteLength?t.buffer:this.toUint8Array(t).slice().buffer}static toUint8Array(t){return this.toView(t,Uint8Array)}static toView(t,e){if(t.constructor===e)return t;if(this.isArrayBuffer(t))return new e(t);if(this.isArrayBufferView(t))return new e(t.buffer,t.byteOffset,t.byteLength);throw new TypeError("The provided value is not of type '(ArrayBuffer or ArrayBufferView)'")}static isBufferSource(t){return this.isArrayBufferView(t)||this.isArrayBuffer(t)}static isArrayBufferView(t){return ArrayBuffer.isView(t)||t&&this.isArrayBuffer(t.buffer)}static isEqual(t,e){const i=r.toUint8Array(t),n=r.toUint8Array(e);if(i.length!==n.byteLength)return!1;for(let t=0;t<i.length;t++)if(i[t]!==n[t])return!1;return!0}static concat(...t){if(Array.isArray(t[0])){const e=t[0];let r=0;for(const t of e)r+=t.byteLength;const i=new Uint8Array(r);let n=0;for(const t of e){const e=this.toUint8Array(t);i.set(e,n),n+=e.length}return t[1]?this.toView(i,t[1]):i.buffer}return this.concat(t)}}class i{static fromString(t){const e=unescape(encodeURIComponent(t)),r=new Uint8Array(e.length);for(let t=0;t<e.length;t++)r[t]=e.charCodeAt(t);return r.buffer}static toString(t){const e=r.toUint8Array(t);let i="";for(let t=0;t<e.length;t++)i+=String.fromCharCode(e[t]);return decodeURIComponent(escape(i))}}class n{static toString(t,e=!1){const i=r.toArrayBuffer(t),n=new DataView(i);let s="";for(let t=0;t<i.byteLength;t+=2){const r=n.getUint16(t,e);s+=String.fromCharCode(r)}return s}static fromString(t,e=!1){const r=new ArrayBuffer(2*t.length),i=new DataView(r);for(let r=0;r<t.length;r++)i.setUint16(2*r,t.charCodeAt(r),e);return r}}class s{static isHex(t){return"string"==typeof t&&/^[a-z0-9]+$/i.test(t)}static isBase64(t){return"string"==typeof t&&/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}static isBase64Url(t){return"string"==typeof t&&/^[a-zA-Z0-9-_]+$/i.test(t)}static ToString(t,e="utf8"){const i=r.toUint8Array(t);switch(e.toLowerCase()){case"utf8":return this.ToUtf8String(i);case"binary":return this.ToBinary(i);case"hex":return this.ToHex(i);case"base64":return this.ToBase64(i);case"base64url":return this.ToBase64Url(i);case"utf16le":return n.toString(i,!0);case"utf16":case"utf16be":return n.toString(i);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromString(t,e="utf8"){if(!t)return new ArrayBuffer(0);switch(e.toLowerCase()){case"utf8":return this.FromUtf8String(t);case"binary":return this.FromBinary(t);case"hex":return this.FromHex(t);case"base64":return this.FromBase64(t);case"base64url":return this.FromBase64Url(t);case"utf16le":return n.fromString(t,!0);case"utf16":case"utf16be":return n.fromString(t);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToBase64(t){const e=r.toUint8Array(t);if("undefined"!=typeof btoa){const t=this.ToString(e,"binary");return btoa(t)}return Buffer.from(e).toString("base64")}static FromBase64(t){const e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isBase64(e))throw new TypeError("Argument 'base64Text' is not Base64 encoded");return"undefined"!=typeof atob?this.FromBinary(atob(e)):new Uint8Array(Buffer.from(e,"base64")).buffer}static FromBase64Url(t){const e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isBase64Url(e))throw new TypeError("Argument 'base64url' is not Base64Url encoded");return this.FromBase64(this.Base64Padding(e.replace(/\-/g,"+").replace(/\_/g,"/")))}static ToBase64Url(t){return this.ToBase64(t).replace(/\+/g,"-").replace(/\//g,"_").replace(/\=/g,"")}static FromUtf8String(t,e=s.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.FromBinary(t);case"utf8":return i.fromString(t);case"utf16":case"utf16be":return n.fromString(t);case"utf16le":case"usc2":return n.fromString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static ToUtf8String(t,e=s.DEFAULT_UTF8_ENCODING){switch(e){case"ascii":return this.ToBinary(t);case"utf8":return i.toString(t);case"utf16":case"utf16be":return n.toString(t);case"utf16le":case"usc2":return n.toString(t,!0);default:throw new Error(`Unknown type of encoding '${e}'`)}}static FromBinary(t){const e=t.length,r=new Uint8Array(e);for(let i=0;i<e;i++)r[i]=t.charCodeAt(i);return r.buffer}static ToBinary(t){const e=r.toUint8Array(t);let i="";for(let t=0;t<e.length;t++)i+=String.fromCharCode(e[t]);return i}static ToHex(t){const e=r.toUint8Array(t),i=[],n=e.length;for(let t=0;t<n;t++){const r=e[t].toString(16).padStart(2,"0");i.push(r)}return i.join("")}static FromHex(t){let e=this.formatString(t);if(!e)return new ArrayBuffer(0);if(!s.isHex(e))throw new TypeError("Argument 'hexString' is not HEX encoded");e.length%2&&(e=`0${e}`);const r=new Uint8Array(e.length/2);for(let t=0;t<e.length;t+=2){const i=e.slice(t,t+2);r[t/2]=parseInt(i,16)}return r.buffer}static ToUtf16String(t,e=!1){return n.toString(t,e)}static FromUtf16String(t,e=!1){return n.fromString(t,e)}static Base64Padding(t){const e=4-t.length%4;if(e<4)for(let r=0;r<e;r++)t+="=";return t}static formatString(t){return(null==t?void 0:t.replace(/[\n\r\t ]/g,""))||""}}s.DEFAULT_UTF8_ENCODING="utf8",e._H=r,e.U$=s,e.kg=function(...t){const e=t.map(t=>t.byteLength).reduce((t,e)=>t+e),r=new Uint8Array(e);let i=0;return t.map(t=>new Uint8Array(t)).forEach(t=>{for(const e of t)r[i++]=e}),r.buffer},e.n4=function(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const r=new Uint8Array(t),i=new Uint8Array(e);for(let e=0;e<t.byteLength;e++)if(r[e]!==i[e])return!1;return!0}},6048:t=>{var e={};function r(t,r,i){i||(i=Error);var n=function(t){var e,i;function n(e,i,n){return t.call(this,function(t,e,i){return"string"==typeof r?r:r(t,e,i)}(e,i,n))||this}return i=t,(e=n).prototype=Object.create(i.prototype),e.prototype.constructor=e,e.__proto__=i,n}(i);n.prototype.name=i.name,n.prototype.code=t,e[t]=n}function i(t,e){if(Array.isArray(t)){var r=t.length;return t=t.map(function(t){return String(t)}),r>2?"one of ".concat(e," ").concat(t.slice(0,r-1).join(", "),", or ")+t[r-1]:2===r?"one of ".concat(e," ").concat(t[0]," or ").concat(t[1]):"of ".concat(e," ").concat(t[0])}return"of ".concat(e," ").concat(String(t))}r("ERR_INVALID_OPT_VALUE",function(t,e){return'The value "'+e+'" is invalid for option "'+t+'"'},TypeError),r("ERR_INVALID_ARG_TYPE",function(t,e,r){var n,s;if("string"==typeof e&&function(t,e,r){return t.substr(!r||r<0?0:+r,e.length)===e}(e,"not ")?(n="must not be",e=e.replace(/^not /,"")):n="must be",function(t,e,r){return(void 0===r||r>t.length)&&(r=t.length),t.substring(r-e.length,r)===e}(t," argument"))s="The ".concat(t," ").concat(n," ").concat(i(e,"type"));else{var o=function(t,e,r){return"number"!=typeof r&&(r=0),!(r+e.length>t.length)&&-1!==t.indexOf(e,r)}(t,".")?"property":"argument";s='The "'.concat(t,'" ').concat(o," ").concat(n," ").concat(i(e,"type"))}return s+=". Received type ".concat(typeof r)},TypeError),r("ERR_STREAM_PUSH_AFTER_EOF","stream.push() after EOF"),r("ERR_METHOD_NOT_IMPLEMENTED",function(t){return"The "+t+" method is not implemented"}),r("ERR_STREAM_PREMATURE_CLOSE","Premature close"),r("ERR_STREAM_DESTROYED",function(t){return"Cannot call "+t+" after a stream was destroyed"}),r("ERR_MULTIPLE_CALLBACK","Callback called multiple times"),r("ERR_STREAM_CANNOT_PIPE","Cannot pipe, not readable"),r("ERR_STREAM_WRITE_AFTER_END","write after end"),r("ERR_STREAM_NULL_VALUES","May not write null values to stream",TypeError),r("ERR_UNKNOWN_ENCODING",function(t){return"Unknown encoding: "+t},TypeError),r("ERR_STREAM_UNSHIFT_AFTER_END_EVENT","stream.unshift() after end event"),t.exports.F=e},5382:(t,e,r)=>{var i=r(5606),n=Object.keys||function(t){var e=[];for(var r in t)e.push(r);return e};t.exports=h;var s=r(5412),o=r(6708);r(6698)(h,s);for(var a=n(o.prototype),c=0;c<a.length;c++){var l=a[c];h.prototype[l]||(h.prototype[l]=o.prototype[l])}function h(t){if(!(this instanceof h))return new h(t);s.call(this,t),o.call(this,t),this.allowHalfOpen=!0,t&&(!1===t.readable&&(this.readable=!1),!1===t.writable&&(this.writable=!1),!1===t.allowHalfOpen&&(this.allowHalfOpen=!1,this.once("end",u)))}function u(){this._writableState.ended||i.nextTick(p,this)}function p(t){t.end()}Object.defineProperty(h.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),Object.defineProperty(h.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(h.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(h.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed&&this._writableState.destroyed)},set:function(t){void 0!==this._readableState&&void 0!==this._writableState&&(this._readableState.destroyed=t,this._writableState.destroyed=t)}})},3600:(t,e,r)=>{t.exports=n;var i=r(4610);function n(t){if(!(this instanceof n))return new n(t);i.call(this,t)}r(6698)(n,i),n.prototype._transform=function(t,e,r){r(null,t)}},5412:(t,e,r)=>{var i,n=r(5606);t.exports=I,I.ReadableState=x;r(7007).EventEmitter;var s=function(t,e){return t.listeners(e).length},o=r(345),a=r(8287).Buffer,c=r.g.Uint8Array||function(){};var l,h=r(9838);l=h&&h.debuglog?h.debuglog("stream"):function(){};var u,p,d,f=r(2726),g=r(5896),m=r(5291).getHighWaterMark,y=r(6048).F,w=y.ERR_INVALID_ARG_TYPE,A=y.ERR_STREAM_PUSH_AFTER_EOF,b=y.ERR_METHOD_NOT_IMPLEMENTED,v=y.ERR_STREAM_UNSHIFT_AFTER_END_EVENT;r(6698)(I,o);var E=g.errorOrDestroy,_=["error","close","destroy","pause","resume"];function x(t,e,n){i=i||r(5382),t=t||{},"boolean"!=typeof n&&(n=e instanceof i),this.objectMode=!!t.objectMode,n&&(this.objectMode=this.objectMode||!!t.readableObjectMode),this.highWaterMark=m(this,t,"readableHighWaterMark",n),this.buffer=new f,this.length=0,this.pipes=null,this.pipesCount=0,this.flowing=null,this.ended=!1,this.endEmitted=!1,this.reading=!1,this.sync=!0,this.needReadable=!1,this.emittedReadable=!1,this.readableListening=!1,this.resumeScheduled=!1,this.paused=!0,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.destroyed=!1,this.defaultEncoding=t.defaultEncoding||"utf8",this.awaitDrain=0,this.readingMore=!1,this.decoder=null,this.encoding=null,t.encoding&&(u||(u=r(3141).I),this.decoder=new u(t.encoding),this.encoding=t.encoding)}function I(t){if(i=i||r(5382),!(this instanceof I))return new I(t);var e=this instanceof i;this._readableState=new x(t,this,e),this.readable=!0,t&&("function"==typeof t.read&&(this._read=t.read),"function"==typeof t.destroy&&(this._destroy=t.destroy)),o.call(this)}function S(t,e,r,i,n){l("readableAddChunk",e);var s,o=t._readableState;if(null===e)o.reading=!1,function(t,e){if(l("onEofChunk"),e.ended)return;if(e.decoder){var r=e.decoder.end();r&&r.length&&(e.buffer.push(r),e.length+=e.objectMode?1:r.length)}e.ended=!0,e.sync?k(t):(e.needReadable=!1,e.emittedReadable||(e.emittedReadable=!0,B(t)))}(t,o);else if(n||(s=function(t,e){var r;i=e,a.isBuffer(i)||i instanceof c||"string"==typeof e||void 0===e||t.objectMode||(r=new w("chunk",["string","Buffer","Uint8Array"],e));var i;return r}(o,e)),s)E(t,s);else if(o.objectMode||e&&e.length>0)if("string"==typeof e||o.objectMode||Object.getPrototypeOf(e)===a.prototype||(e=function(t){return a.from(t)}(e)),i)o.endEmitted?E(t,new v):T(t,o,e,!0);else if(o.ended)E(t,new A);else{if(o.destroyed)return!1;o.reading=!1,o.decoder&&!r?(e=o.decoder.write(e),o.objectMode||0!==e.length?T(t,o,e,!1):N(t,o)):T(t,o,e,!1)}else i||(o.reading=!1,N(t,o));return!o.ended&&(o.length<o.highWaterMark||0===o.length)}function T(t,e,r,i){e.flowing&&0===e.length&&!e.sync?(e.awaitDrain=0,t.emit("data",r)):(e.length+=e.objectMode?1:r.length,i?e.buffer.unshift(r):e.buffer.push(r),e.needReadable&&k(t)),N(t,e)}Object.defineProperty(I.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._readableState&&this._readableState.destroyed},set:function(t){this._readableState&&(this._readableState.destroyed=t)}}),I.prototype.destroy=g.destroy,I.prototype._undestroy=g.undestroy,I.prototype._destroy=function(t,e){e(t)},I.prototype.push=function(t,e){var r,i=this._readableState;return i.objectMode?r=!0:"string"==typeof t&&((e=e||i.defaultEncoding)!==i.encoding&&(t=a.from(t,e),e=""),r=!0),S(this,t,e,!1,r)},I.prototype.unshift=function(t){return S(this,t,null,!0,!1)},I.prototype.isPaused=function(){return!1===this._readableState.flowing},I.prototype.setEncoding=function(t){u||(u=r(3141).I);var e=new u(t);this._readableState.decoder=e,this._readableState.encoding=this._readableState.decoder.encoding;for(var i=this._readableState.buffer.head,n="";null!==i;)n+=e.write(i.data),i=i.next;return this._readableState.buffer.clear(),""!==n&&this._readableState.buffer.push(n),this._readableState.length=n.length,this};var C=1073741824;function R(t,e){return t<=0||0===e.length&&e.ended?0:e.objectMode?1:t!=t?e.flowing&&e.length?e.buffer.head.data.length:e.length:(t>e.highWaterMark&&(e.highWaterMark=function(t){return t>=C?t=C:(t--,t|=t>>>1,t|=t>>>2,t|=t>>>4,t|=t>>>8,t|=t>>>16,t++),t}(t)),t<=e.length?t:e.ended?e.length:(e.needReadable=!0,0))}function k(t){var e=t._readableState;l("emitReadable",e.needReadable,e.emittedReadable),e.needReadable=!1,e.emittedReadable||(l("emitReadable",e.flowing),e.emittedReadable=!0,n.nextTick(B,t))}function B(t){var e=t._readableState;l("emitReadable_",e.destroyed,e.length,e.ended),e.destroyed||!e.length&&!e.ended||(t.emit("readable"),e.emittedReadable=!1),e.needReadable=!e.flowing&&!e.ended&&e.length<=e.highWaterMark,U(t)}function N(t,e){e.readingMore||(e.readingMore=!0,n.nextTick(O,t,e))}function O(t,e){for(;!e.reading&&!e.ended&&(e.length<e.highWaterMark||e.flowing&&0===e.length);){var r=e.length;if(l("maybeReadMore read 0"),t.read(0),r===e.length)break}e.readingMore=!1}function D(t){var e=t._readableState;e.readableListening=t.listenerCount("readable")>0,e.resumeScheduled&&!e.paused?e.flowing=!0:t.listenerCount("data")>0&&t.resume()}function P(t){l("readable nexttick read 0"),t.read(0)}function L(t,e){l("resume",e.reading),e.reading||t.read(0),e.resumeScheduled=!1,t.emit("resume"),U(t),e.flowing&&!e.reading&&t.read(0)}function U(t){var e=t._readableState;for(l("flow",e.flowing);e.flowing&&null!==t.read(););}function M(t,e){return 0===e.length?null:(e.objectMode?r=e.buffer.shift():!t||t>=e.length?(r=e.decoder?e.buffer.join(""):1===e.buffer.length?e.buffer.first():e.buffer.concat(e.length),e.buffer.clear()):r=e.buffer.consume(t,e.decoder),r);var r}function F(t){var e=t._readableState;l("endReadable",e.endEmitted),e.endEmitted||(e.ended=!0,n.nextTick(H,e,t))}function H(t,e){if(l("endReadableNT",t.endEmitted,t.length),!t.endEmitted&&0===t.length&&(t.endEmitted=!0,e.readable=!1,e.emit("end"),t.autoDestroy)){var r=e._writableState;(!r||r.autoDestroy&&r.finished)&&e.destroy()}}function j(t,e){for(var r=0,i=t.length;r<i;r++)if(t[r]===e)return r;return-1}I.prototype.read=function(t){l("read",t),t=parseInt(t,10);var e=this._readableState,r=t;if(0!==t&&(e.emittedReadable=!1),0===t&&e.needReadable&&((0!==e.highWaterMark?e.length>=e.highWaterMark:e.length>0)||e.ended))return l("read: emitReadable",e.length,e.ended),0===e.length&&e.ended?F(this):k(this),null;if(0===(t=R(t,e))&&e.ended)return 0===e.length&&F(this),null;var i,n=e.needReadable;return l("need readable",n),(0===e.length||e.length-t<e.highWaterMark)&&l("length less than watermark",n=!0),e.ended||e.reading?l("reading or ended",n=!1):n&&(l("do read"),e.reading=!0,e.sync=!0,0===e.length&&(e.needReadable=!0),this._read(e.highWaterMark),e.sync=!1,e.reading||(t=R(r,e))),null===(i=t>0?M(t,e):null)?(e.needReadable=e.length<=e.highWaterMark,t=0):(e.length-=t,e.awaitDrain=0),0===e.length&&(e.ended||(e.needReadable=!0),r!==t&&e.ended&&F(this)),null!==i&&this.emit("data",i),i},I.prototype._read=function(t){E(this,new b("_read()"))},I.prototype.pipe=function(t,e){var r=this,i=this._readableState;switch(i.pipesCount){case 0:i.pipes=t;break;case 1:i.pipes=[i.pipes,t];break;default:i.pipes.push(t)}i.pipesCount+=1,l("pipe count=%d opts=%j",i.pipesCount,e);var o=(!e||!1!==e.end)&&t!==n.stdout&&t!==n.stderr?c:m;function a(e,n){l("onunpipe"),e===r&&n&&!1===n.hasUnpiped&&(n.hasUnpiped=!0,l("cleanup"),t.removeListener("close",f),t.removeListener("finish",g),t.removeListener("drain",h),t.removeListener("error",d),t.removeListener("unpipe",a),r.removeListener("end",c),r.removeListener("end",m),r.removeListener("data",p),u=!0,!i.awaitDrain||t._writableState&&!t._writableState.needDrain||h())}function c(){l("onend"),t.end()}i.endEmitted?n.nextTick(o):r.once("end",o),t.on("unpipe",a);var h=function(t){return function(){var e=t._readableState;l("pipeOnDrain",e.awaitDrain),e.awaitDrain&&e.awaitDrain--,0===e.awaitDrain&&s(t,"data")&&(e.flowing=!0,U(t))}}(r);t.on("drain",h);var u=!1;function p(e){l("ondata");var n=t.write(e);l("dest.write",n),!1===n&&((1===i.pipesCount&&i.pipes===t||i.pipesCount>1&&-1!==j(i.pipes,t))&&!u&&(l("false write response, pause",i.awaitDrain),i.awaitDrain++),r.pause())}function d(e){l("onerror",e),m(),t.removeListener("error",d),0===s(t,"error")&&E(t,e)}function f(){t.removeListener("finish",g),m()}function g(){l("onfinish"),t.removeListener("close",f),m()}function m(){l("unpipe"),r.unpipe(t)}return r.on("data",p),function(t,e,r){if("function"==typeof t.prependListener)return t.prependListener(e,r);t._events&&t._events[e]?Array.isArray(t._events[e])?t._events[e].unshift(r):t._events[e]=[r,t._events[e]]:t.on(e,r)}(t,"error",d),t.once("close",f),t.once("finish",g),t.emit("pipe",r),i.flowing||(l("pipe resume"),r.resume()),t},I.prototype.unpipe=function(t){var e=this._readableState,r={hasUnpiped:!1};if(0===e.pipesCount)return this;if(1===e.pipesCount)return t&&t!==e.pipes||(t||(t=e.pipes),e.pipes=null,e.pipesCount=0,e.flowing=!1,t&&t.emit("unpipe",this,r)),this;if(!t){var i=e.pipes,n=e.pipesCount;e.pipes=null,e.pipesCount=0,e.flowing=!1;for(var s=0;s<n;s++)i[s].emit("unpipe",this,{hasUnpiped:!1});return this}var o=j(e.pipes,t);return-1===o||(e.pipes.splice(o,1),e.pipesCount-=1,1===e.pipesCount&&(e.pipes=e.pipes[0]),t.emit("unpipe",this,r)),this},I.prototype.on=function(t,e){var r=o.prototype.on.call(this,t,e),i=this._readableState;return"data"===t?(i.readableListening=this.listenerCount("readable")>0,!1!==i.flowing&&this.resume()):"readable"===t&&(i.endEmitted||i.readableListening||(i.readableListening=i.needReadable=!0,i.flowing=!1,i.emittedReadable=!1,l("on readable",i.length,i.reading),i.length?k(this):i.reading||n.nextTick(P,this))),r},I.prototype.addListener=I.prototype.on,I.prototype.removeListener=function(t,e){var r=o.prototype.removeListener.call(this,t,e);return"readable"===t&&n.nextTick(D,this),r},I.prototype.removeAllListeners=function(t){var e=o.prototype.removeAllListeners.apply(this,arguments);return"readable"!==t&&void 0!==t||n.nextTick(D,this),e},I.prototype.resume=function(){var t=this._readableState;return t.flowing||(l("resume"),t.flowing=!t.readableListening,function(t,e){e.resumeScheduled||(e.resumeScheduled=!0,n.nextTick(L,t,e))}(this,t)),t.paused=!1,this},I.prototype.pause=function(){return l("call pause flowing=%j",this._readableState.flowing),!1!==this._readableState.flowing&&(l("pause"),this._readableState.flowing=!1,this.emit("pause")),this._readableState.paused=!0,this},I.prototype.wrap=function(t){var e=this,r=this._readableState,i=!1;for(var n in t.on("end",function(){if(l("wrapped end"),r.decoder&&!r.ended){var t=r.decoder.end();t&&t.length&&e.push(t)}e.push(null)}),t.on("data",function(n){(l("wrapped data"),r.decoder&&(n=r.decoder.write(n)),r.objectMode&&null==n)||(r.objectMode||n&&n.length)&&(e.push(n)||(i=!0,t.pause()))}),t)void 0===this[n]&&"function"==typeof t[n]&&(this[n]=function(e){return function(){return t[e].apply(t,arguments)}}(n));for(var s=0;s<_.length;s++)t.on(_[s],this.emit.bind(this,_[s]));return this._read=function(e){l("wrapped _read",e),i&&(i=!1,t.resume())},this},"function"==typeof Symbol&&(I.prototype[Symbol.asyncIterator]=function(){return void 0===p&&(p=r(2955)),p(this)}),Object.defineProperty(I.prototype,"readableHighWaterMark",{enumerable:!1,get:function(){return this._readableState.highWaterMark}}),Object.defineProperty(I.prototype,"readableBuffer",{enumerable:!1,get:function(){return this._readableState&&this._readableState.buffer}}),Object.defineProperty(I.prototype,"readableFlowing",{enumerable:!1,get:function(){return this._readableState.flowing},set:function(t){this._readableState&&(this._readableState.flowing=t)}}),I._fromList=M,Object.defineProperty(I.prototype,"readableLength",{enumerable:!1,get:function(){return this._readableState.length}}),"function"==typeof Symbol&&(I.from=function(t,e){return void 0===d&&(d=r(5157)),d(I,t,e)})},4610:(t,e,r)=>{t.exports=h;var i=r(6048).F,n=i.ERR_METHOD_NOT_IMPLEMENTED,s=i.ERR_MULTIPLE_CALLBACK,o=i.ERR_TRANSFORM_ALREADY_TRANSFORMING,a=i.ERR_TRANSFORM_WITH_LENGTH_0,c=r(5382);function l(t,e){var r=this._transformState;r.transforming=!1;var i=r.writecb;if(null===i)return this.emit("error",new s);r.writechunk=null,r.writecb=null,null!=e&&this.push(e),i(t);var n=this._readableState;n.reading=!1,(n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}function h(t){if(!(this instanceof h))return new h(t);c.call(this,t),this._transformState={afterTransform:l.bind(this),needTransform:!1,transforming:!1,writecb:null,writechunk:null,writeencoding:null},this._readableState.needReadable=!0,this._readableState.sync=!1,t&&("function"==typeof t.transform&&(this._transform=t.transform),"function"==typeof t.flush&&(this._flush=t.flush)),this.on("prefinish",u)}function u(){var t=this;"function"!=typeof this._flush||this._readableState.destroyed?p(this,null,null):this._flush(function(e,r){p(t,e,r)})}function p(t,e,r){if(e)return t.emit("error",e);if(null!=r&&t.push(r),t._writableState.length)throw new a;if(t._transformState.transforming)throw new o;return t.push(null)}r(6698)(h,c),h.prototype.push=function(t,e){return this._transformState.needTransform=!1,c.prototype.push.call(this,t,e)},h.prototype._transform=function(t,e,r){r(new n("_transform()"))},h.prototype._write=function(t,e,r){var i=this._transformState;if(i.writecb=r,i.writechunk=t,i.writeencoding=e,!i.transforming){var n=this._readableState;(i.needTransform||n.needReadable||n.length<n.highWaterMark)&&this._read(n.highWaterMark)}},h.prototype._read=function(t){var e=this._transformState;null===e.writechunk||e.transforming?e.needTransform=!0:(e.transforming=!0,this._transform(e.writechunk,e.writeencoding,e.afterTransform))},h.prototype._destroy=function(t,e){c.prototype._destroy.call(this,t,function(t){e(t)})}},6708:(t,e,r)=>{var i,n=r(5606);function s(t){var e=this;this.next=null,this.entry=null,this.finish=function(){!function(t,e,r){var i=t.entry;t.entry=null;for(;i;){var n=i.callback;e.pendingcb--,n(r),i=i.next}e.corkedRequestsFree.next=t}(e,t)}}t.exports=I,I.WritableState=x;var o={deprecate:r(4643)},a=r(345),c=r(8287).Buffer,l=r.g.Uint8Array||function(){};var h,u=r(5896),p=r(5291).getHighWaterMark,d=r(6048).F,f=d.ERR_INVALID_ARG_TYPE,g=d.ERR_METHOD_NOT_IMPLEMENTED,m=d.ERR_MULTIPLE_CALLBACK,y=d.ERR_STREAM_CANNOT_PIPE,w=d.ERR_STREAM_DESTROYED,A=d.ERR_STREAM_NULL_VALUES,b=d.ERR_STREAM_WRITE_AFTER_END,v=d.ERR_UNKNOWN_ENCODING,E=u.errorOrDestroy;function _(){}function x(t,e,o){i=i||r(5382),t=t||{},"boolean"!=typeof o&&(o=e instanceof i),this.objectMode=!!t.objectMode,o&&(this.objectMode=this.objectMode||!!t.writableObjectMode),this.highWaterMark=p(this,t,"writableHighWaterMark",o),this.finalCalled=!1,this.needDrain=!1,this.ending=!1,this.ended=!1,this.finished=!1,this.destroyed=!1;var a=!1===t.decodeStrings;this.decodeStrings=!a,this.defaultEncoding=t.defaultEncoding||"utf8",this.length=0,this.writing=!1,this.corked=0,this.sync=!0,this.bufferProcessing=!1,this.onwrite=function(t){!function(t,e){var r=t._writableState,i=r.sync,s=r.writecb;if("function"!=typeof s)throw new m;if(function(t){t.writing=!1,t.writecb=null,t.length-=t.writelen,t.writelen=0}(r),e)!function(t,e,r,i,s){--e.pendingcb,r?(n.nextTick(s,i),n.nextTick(B,t,e),t._writableState.errorEmitted=!0,E(t,i)):(s(i),t._writableState.errorEmitted=!0,E(t,i),B(t,e))}(t,r,i,e,s);else{var o=R(r)||t.destroyed;o||r.corked||r.bufferProcessing||!r.bufferedRequest||C(t,r),i?n.nextTick(T,t,r,o,s):T(t,r,o,s)}}(e,t)},this.writecb=null,this.writelen=0,this.bufferedRequest=null,this.lastBufferedRequest=null,this.pendingcb=0,this.prefinished=!1,this.errorEmitted=!1,this.emitClose=!1!==t.emitClose,this.autoDestroy=!!t.autoDestroy,this.bufferedRequestCount=0,this.corkedRequestsFree=new s(this)}function I(t){var e=this instanceof(i=i||r(5382));if(!e&&!h.call(I,this))return new I(t);this._writableState=new x(t,this,e),this.writable=!0,t&&("function"==typeof t.write&&(this._write=t.write),"function"==typeof t.writev&&(this._writev=t.writev),"function"==typeof t.destroy&&(this._destroy=t.destroy),"function"==typeof t.final&&(this._final=t.final)),a.call(this)}function S(t,e,r,i,n,s,o){e.writelen=i,e.writecb=o,e.writing=!0,e.sync=!0,e.destroyed?e.onwrite(new w("write")):r?t._writev(n,e.onwrite):t._write(n,s,e.onwrite),e.sync=!1}function T(t,e,r,i){r||function(t,e){0===e.length&&e.needDrain&&(e.needDrain=!1,t.emit("drain"))}(t,e),e.pendingcb--,i(),B(t,e)}function C(t,e){e.bufferProcessing=!0;var r=e.bufferedRequest;if(t._writev&&r&&r.next){var i=e.bufferedRequestCount,n=new Array(i),o=e.corkedRequestsFree;o.entry=r;for(var a=0,c=!0;r;)n[a]=r,r.isBuf||(c=!1),r=r.next,a+=1;n.allBuffers=c,S(t,e,!0,e.length,n,"",o.finish),e.pendingcb++,e.lastBufferedRequest=null,o.next?(e.corkedRequestsFree=o.next,o.next=null):e.corkedRequestsFree=new s(e),e.bufferedRequestCount=0}else{for(;r;){var l=r.chunk,h=r.encoding,u=r.callback;if(S(t,e,!1,e.objectMode?1:l.length,l,h,u),r=r.next,e.bufferedRequestCount--,e.writing)break}null===r&&(e.lastBufferedRequest=null)}e.bufferedRequest=r,e.bufferProcessing=!1}function R(t){return t.ending&&0===t.length&&null===t.bufferedRequest&&!t.finished&&!t.writing}function k(t,e){t._final(function(r){e.pendingcb--,r&&E(t,r),e.prefinished=!0,t.emit("prefinish"),B(t,e)})}function B(t,e){var r=R(e);if(r&&(function(t,e){e.prefinished||e.finalCalled||("function"!=typeof t._final||e.destroyed?(e.prefinished=!0,t.emit("prefinish")):(e.pendingcb++,e.finalCalled=!0,n.nextTick(k,t,e)))}(t,e),0===e.pendingcb&&(e.finished=!0,t.emit("finish"),e.autoDestroy))){var i=t._readableState;(!i||i.autoDestroy&&i.endEmitted)&&t.destroy()}return r}r(6698)(I,a),x.prototype.getBuffer=function(){for(var t=this.bufferedRequest,e=[];t;)e.push(t),t=t.next;return e},function(){try{Object.defineProperty(x.prototype,"buffer",{get:o.deprecate(function(){return this.getBuffer()},"_writableState.buffer is deprecated. Use _writableState.getBuffer instead.","DEP0003")})}catch(t){}}(),"function"==typeof Symbol&&Symbol.hasInstance&&"function"==typeof Function.prototype[Symbol.hasInstance]?(h=Function.prototype[Symbol.hasInstance],Object.defineProperty(I,Symbol.hasInstance,{value:function(t){return!!h.call(this,t)||this===I&&(t&&t._writableState instanceof x)}})):h=function(t){return t instanceof this},I.prototype.pipe=function(){E(this,new y)},I.prototype.write=function(t,e,r){var i,s=this._writableState,o=!1,a=!s.objectMode&&(i=t,c.isBuffer(i)||i instanceof l);return a&&!c.isBuffer(t)&&(t=function(t){return c.from(t)}(t)),"function"==typeof e&&(r=e,e=null),a?e="buffer":e||(e=s.defaultEncoding),"function"!=typeof r&&(r=_),s.ending?function(t,e){var r=new b;E(t,r),n.nextTick(e,r)}(this,r):(a||function(t,e,r,i){var s;return null===r?s=new A:"string"==typeof r||e.objectMode||(s=new f("chunk",["string","Buffer"],r)),!s||(E(t,s),n.nextTick(i,s),!1)}(this,s,t,r))&&(s.pendingcb++,o=function(t,e,r,i,n,s){if(!r){var o=function(t,e,r){t.objectMode||!1===t.decodeStrings||"string"!=typeof e||(e=c.from(e,r));return e}(e,i,n);i!==o&&(r=!0,n="buffer",i=o)}var a=e.objectMode?1:i.length;e.length+=a;var l=e.length<e.highWaterMark;l||(e.needDrain=!0);if(e.writing||e.corked){var h=e.lastBufferedRequest;e.lastBufferedRequest={chunk:i,encoding:n,isBuf:r,callback:s,next:null},h?h.next=e.lastBufferedRequest:e.bufferedRequest=e.lastBufferedRequest,e.bufferedRequestCount+=1}else S(t,e,!1,a,i,n,s);return l}(this,s,a,t,e,r)),o},I.prototype.cork=function(){this._writableState.corked++},I.prototype.uncork=function(){var t=this._writableState;t.corked&&(t.corked--,t.writing||t.corked||t.bufferProcessing||!t.bufferedRequest||C(this,t))},I.prototype.setDefaultEncoding=function(t){if("string"==typeof t&&(t=t.toLowerCase()),!(["hex","utf8","utf-8","ascii","binary","base64","ucs2","ucs-2","utf16le","utf-16le","raw"].indexOf((t+"").toLowerCase())>-1))throw new v(t);return this._writableState.defaultEncoding=t,this},Object.defineProperty(I.prototype,"writableBuffer",{enumerable:!1,get:function(){return this._writableState&&this._writableState.getBuffer()}}),Object.defineProperty(I.prototype,"writableHighWaterMark",{enumerable:!1,get:function(){return this._writableState.highWaterMark}}),I.prototype._write=function(t,e,r){r(new g("_write()"))},I.prototype._writev=null,I.prototype.end=function(t,e,r){var i=this._writableState;return"function"==typeof t?(r=t,t=null,e=null):"function"==typeof e&&(r=e,e=null),null!=t&&this.write(t,e),i.corked&&(i.corked=1,this.uncork()),i.ending||function(t,e,r){e.ending=!0,B(t,e),r&&(e.finished?n.nextTick(r):t.once("finish",r));e.ended=!0,t.writable=!1}(this,i,r),this},Object.defineProperty(I.prototype,"writableLength",{enumerable:!1,get:function(){return this._writableState.length}}),Object.defineProperty(I.prototype,"destroyed",{enumerable:!1,get:function(){return void 0!==this._writableState&&this._writableState.destroyed},set:function(t){this._writableState&&(this._writableState.destroyed=t)}}),I.prototype.destroy=u.destroy,I.prototype._undestroy=u.undestroy,I.prototype._destroy=function(t,e){e(t)}},2955:(t,e,r)=>{var i,n=r(5606);function s(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}var o=r(6238),a=Symbol("lastResolve"),c=Symbol("lastReject"),l=Symbol("error"),h=Symbol("ended"),u=Symbol("lastPromise"),p=Symbol("handlePromise"),d=Symbol("stream");function f(t,e){return{value:t,done:e}}function g(t){var e=t[a];if(null!==e){var r=t[d].read();null!==r&&(t[u]=null,t[a]=null,t[c]=null,e(f(r,!1)))}}function m(t){n.nextTick(g,t)}var y=Object.getPrototypeOf(function(){}),w=Object.setPrototypeOf((i={get stream(){return this[d]},next:function(){var t=this,e=this[l];if(null!==e)return Promise.reject(e);if(this[h])return Promise.resolve(f(void 0,!0));if(this[d].destroyed)return new Promise(function(e,r){n.nextTick(function(){t[l]?r(t[l]):e(f(void 0,!0))})});var r,i=this[u];if(i)r=new Promise(function(t,e){return function(r,i){t.then(function(){e[h]?r(f(void 0,!0)):e[p](r,i)},i)}}(i,this));else{var s=this[d].read();if(null!==s)return Promise.resolve(f(s,!1));r=new Promise(this[p])}return this[u]=r,r}},s(i,Symbol.asyncIterator,function(){return this}),s(i,"return",function(){var t=this;return new Promise(function(e,r){t[d].destroy(null,function(t){t?r(t):e(f(void 0,!0))})})}),i),y);t.exports=function(t){var e,r=Object.create(w,(s(e={},d,{value:t,writable:!0}),s(e,a,{value:null,writable:!0}),s(e,c,{value:null,writable:!0}),s(e,l,{value:null,writable:!0}),s(e,h,{value:t._readableState.endEmitted,writable:!0}),s(e,p,{value:function(t,e){var i=r[d].read();i?(r[u]=null,r[a]=null,r[c]=null,t(f(i,!1))):(r[a]=t,r[c]=e)},writable:!0}),e));return r[u]=null,o(t,function(t){if(t&&"ERR_STREAM_PREMATURE_CLOSE"!==t.code){var e=r[c];return null!==e&&(r[u]=null,r[a]=null,r[c]=null,e(t)),void(r[l]=t)}var i=r[a];null!==i&&(r[u]=null,r[a]=null,r[c]=null,i(f(void 0,!0))),r[h]=!0}),t.on("readable",m.bind(null,r)),r}},2726:(t,e,r)=>{function i(t,e){var r=Object.keys(t);if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);e&&(i=i.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),r.push.apply(r,i)}return r}function n(t,e,r){return e in t?Object.defineProperty(t,e,{value:r,enumerable:!0,configurable:!0,writable:!0}):t[e]=r,t}function s(t,e){for(var r=0;r<e.length;r++){var i=e[r];i.enumerable=i.enumerable||!1,i.configurable=!0,"value"in i&&(i.writable=!0),Object.defineProperty(t,i.key,i)}}var o=r(8287).Buffer,a=r(5340).inspect,c=a&&a.custom||"inspect";function l(t,e,r){o.prototype.copy.call(t,e,r)}t.exports=function(){function t(){!function(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}(this,t),this.head=null,this.tail=null,this.length=0}var e,r,h;return e=t,r=[{key:"push",value:function(t){var e={data:t,next:null};this.length>0?this.tail.next=e:this.head=e,this.tail=e,++this.length}},{key:"unshift",value:function(t){var e={data:t,next:this.head};0===this.length&&(this.tail=e),this.head=e,++this.length}},{key:"shift",value:function(){if(0!==this.length){var t=this.head.data;return 1===this.length?this.head=this.tail=null:this.head=this.head.next,--this.length,t}}},{key:"clear",value:function(){this.head=this.tail=null,this.length=0}},{key:"join",value:function(t){if(0===this.length)return"";for(var e=this.head,r=""+e.data;e=e.next;)r+=t+e.data;return r}},{key:"concat",value:function(t){if(0===this.length)return o.alloc(0);for(var e=o.allocUnsafe(t>>>0),r=this.head,i=0;r;)l(r.data,e,i),i+=r.data.length,r=r.next;return e}},{key:"consume",value:function(t,e){var r;return t<this.head.data.length?(r=this.head.data.slice(0,t),this.head.data=this.head.data.slice(t)):r=t===this.head.data.length?this.shift():e?this._getString(t):this._getBuffer(t),r}},{key:"first",value:function(){return this.head.data}},{key:"_getString",value:function(t){var e=this.head,r=1,i=e.data;for(t-=i.length;e=e.next;){var n=e.data,s=t>n.length?n.length:t;if(s===n.length?i+=n:i+=n.slice(0,t),0===(t-=s)){s===n.length?(++r,e.next?this.head=e.next:this.head=this.tail=null):(this.head=e,e.data=n.slice(s));break}++r}return this.length-=r,i}},{key:"_getBuffer",value:function(t){var e=o.allocUnsafe(t),r=this.head,i=1;for(r.data.copy(e),t-=r.data.length;r=r.next;){var n=r.data,s=t>n.length?n.length:t;if(n.copy(e,e.length-t,0,s),0===(t-=s)){s===n.length?(++i,r.next?this.head=r.next:this.head=this.tail=null):(this.head=r,r.data=n.slice(s));break}++i}return this.length-=i,e}},{key:c,value:function(t,e){return a(this,function(t){for(var e=1;e<arguments.length;e++){var r=null!=arguments[e]?arguments[e]:{};e%2?i(Object(r),!0).forEach(function(e){n(t,e,r[e])}):Object.getOwnPropertyDescriptors?Object.defineProperties(t,Object.getOwnPropertyDescriptors(r)):i(Object(r)).forEach(function(e){Object.defineProperty(t,e,Object.getOwnPropertyDescriptor(r,e))})}return t}({},e,{depth:0,customInspect:!1}))}}],r&&s(e.prototype,r),h&&s(e,h),t}()},5896:(t,e,r)=>{var i=r(5606);function n(t,e){o(t,e),s(t)}function s(t){t._writableState&&!t._writableState.emitClose||t._readableState&&!t._readableState.emitClose||t.emit("close")}function o(t,e){t.emit("error",e)}t.exports={destroy:function(t,e){var r=this,a=this._readableState&&this._readableState.destroyed,c=this._writableState&&this._writableState.destroyed;return a||c?(e?e(t):t&&(this._writableState?this._writableState.errorEmitted||(this._writableState.errorEmitted=!0,i.nextTick(o,this,t)):i.nextTick(o,this,t)),this):(this._readableState&&(this._readableState.destroyed=!0),this._writableState&&(this._writableState.destroyed=!0),this._destroy(t||null,function(t){!e&&t?r._writableState?r._writableState.errorEmitted?i.nextTick(s,r):(r._writableState.errorEmitted=!0,i.nextTick(n,r,t)):i.nextTick(n,r,t):e?(i.nextTick(s,r),e(t)):i.nextTick(s,r)}),this)},undestroy:function(){this._readableState&&(this._readableState.destroyed=!1,this._readableState.reading=!1,this._readableState.ended=!1,this._readableState.endEmitted=!1),this._writableState&&(this._writableState.destroyed=!1,this._writableState.ended=!1,this._writableState.ending=!1,this._writableState.finalCalled=!1,this._writableState.prefinished=!1,this._writableState.finished=!1,this._writableState.errorEmitted=!1)},errorOrDestroy:function(t,e){var r=t._readableState,i=t._writableState;r&&r.autoDestroy||i&&i.autoDestroy?t.destroy(e):t.emit("error",e)}}},6238:(t,e,r)=>{var i=r(6048).F.ERR_STREAM_PREMATURE_CLOSE;function n(){}t.exports=function t(e,r,s){if("function"==typeof r)return t(e,null,r);r||(r={}),s=function(t){var e=!1;return function(){if(!e){e=!0;for(var r=arguments.length,i=new Array(r),n=0;n<r;n++)i[n]=arguments[n];t.apply(this,i)}}}(s||n);var o=r.readable||!1!==r.readable&&e.readable,a=r.writable||!1!==r.writable&&e.writable,c=function(){e.writable||h()},l=e._writableState&&e._writableState.finished,h=function(){a=!1,l=!0,o||s.call(e)},u=e._readableState&&e._readableState.endEmitted,p=function(){o=!1,u=!0,a||s.call(e)},d=function(t){s.call(e,t)},f=function(){var t;return o&&!u?(e._readableState&&e._readableState.ended||(t=new i),s.call(e,t)):a&&!l?(e._writableState&&e._writableState.ended||(t=new i),s.call(e,t)):void 0},g=function(){e.req.on("finish",h)};return!function(t){return t.setHeader&&"function"==typeof t.abort}(e)?a&&!e._writableState&&(e.on("end",c),e.on("close",c)):(e.on("complete",h),e.on("abort",f),e.req?g():e.on("request",g)),e.on("end",p),e.on("finish",h),!1!==r.error&&e.on("error",d),e.on("close",f),function(){e.removeListener("complete",h),e.removeListener("abort",f),e.removeListener("request",g),e.req&&e.req.removeListener("finish",h),e.removeListener("end",c),e.removeListener("close",c),e.removeListener("finish",h),e.removeListener("end",p),e.removeListener("error",d),e.removeListener("close",f)}}},5157:t=>{t.exports=function(){throw new Error("Readable.from is not available in the browser")}},7758:(t,e,r)=>{var i;var n=r(6048).F,s=n.ERR_MISSING_ARGS,o=n.ERR_STREAM_DESTROYED;function a(t){if(t)throw t}function c(t){t()}function l(t,e){return t.pipe(e)}t.exports=function(){for(var t=arguments.length,e=new Array(t),n=0;n<t;n++)e[n]=arguments[n];var h,u=function(t){return t.length?"function"!=typeof t[t.length-1]?a:t.pop():a}(e);if(Array.isArray(e[0])&&(e=e[0]),e.length<2)throw new s("streams");var p=e.map(function(t,n){var s=n<e.length-1;return function(t,e,n,s){s=function(t){var e=!1;return function(){e||(e=!0,t.apply(void 0,arguments))}}(s);var a=!1;t.on("close",function(){a=!0}),void 0===i&&(i=r(6238)),i(t,{readable:e,writable:n},function(t){if(t)return s(t);a=!0,s()});var c=!1;return function(e){if(!a&&!c)return c=!0,function(t){return t.setHeader&&"function"==typeof t.abort}(t)?t.abort():"function"==typeof t.destroy?t.destroy():void s(e||new o("pipe"))}}(t,s,n>0,function(t){h||(h=t),t&&p.forEach(c),s||(p.forEach(c),u(h))})});return e.reduce(l)}},5291:(t,e,r)=>{var i=r(6048).F.ERR_INVALID_OPT_VALUE;t.exports={getHighWaterMark:function(t,e,r,n){var s=function(t,e,r){return null!=t.highWaterMark?t.highWaterMark:e?t[r]:null}(e,n,r);if(null!=s){if(!isFinite(s)||Math.floor(s)!==s||s<0)throw new i(n?r:"highWaterMark",s);return Math.floor(s)}return t.objectMode?16:16384}}},345:(t,e,r)=>{t.exports=r(7007).EventEmitter},4741:(t,e,r)=>{var i,n=r(5606); 11 + /*! ***************************************************************************** 12 + Copyright (C) Microsoft. All rights reserved. 13 + Licensed under the Apache License, Version 2.0 (the "License"); you may not use 14 + this file except in compliance with the License. You may obtain a copy of the 15 + License at http://www.apache.org/licenses/LICENSE-2.0 16 + 17 + THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 18 + KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED 19 + WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, 20 + MERCHANTABLITY OR NON-INFRINGEMENT. 21 + 22 + See the Apache Version 2.0 License for specific language governing permissions 23 + and limitations under the License. 24 + ***************************************************************************** */!function(t){!function(){var e="object"==typeof r.g?r.g:"object"==typeof self?self:"object"==typeof this?this:Function("return this;")(),i=s(t);function s(t,e){return function(r,i){"function"!=typeof t[r]&&Object.defineProperty(t,r,{configurable:!0,writable:!0,value:i}),e&&e(r,i)}}void 0===e.Reflect?e.Reflect=t:i=s(e.Reflect,i),function(t){var e=Object.prototype.hasOwnProperty,r="function"==typeof Symbol,i=r&&void 0!==Symbol.toPrimitive?Symbol.toPrimitive:"@@toPrimitive",s=r&&void 0!==Symbol.iterator?Symbol.iterator:"@@iterator",o="function"==typeof Object.create,a={__proto__:[]}instanceof Array,c=!o&&!a,l={create:o?function(){return nt(Object.create(null))}:a?function(){return nt({__proto__:null})}:function(){return nt({})},has:c?function(t,r){return e.call(t,r)}:function(t,e){return e in t},get:c?function(t,r){return e.call(t,r)?t[r]:void 0}:function(t,e){return t[e]}},h=Object.getPrototypeOf(Function),u="object"==typeof n&&n.env&&"true"===n.env.REFLECT_METADATA_USE_MAP_POLYFILL,p=u||"function"!=typeof Map||"function"!=typeof Map.prototype.entries?et():Map,d=u||"function"!=typeof Set||"function"!=typeof Set.prototype.entries?rt():Set,f=new(u||"function"!=typeof WeakMap?it():WeakMap);function g(t,e,r,i){if(L(r)){if(!V(t))throw new TypeError;if(!q(e))throw new TypeError;return I(t,e)}if(!V(t))throw new TypeError;if(!F(e))throw new TypeError;if(!F(i)&&!L(i)&&!U(i))throw new TypeError;return U(i)&&(i=void 0),S(t,e,r=z(r),i)}function m(t,e){function r(r,i){if(!F(r))throw new TypeError;if(!L(i)&&!K(i))throw new TypeError;N(t,e,r,i)}return r}function y(t,e,r,i){if(!F(r))throw new TypeError;return L(i)||(i=z(i)),N(t,e,r,i)}function w(t,e,r){if(!F(e))throw new TypeError;return L(r)||(r=z(r)),C(t,e,r)}function A(t,e,r){if(!F(e))throw new TypeError;return L(r)||(r=z(r)),R(t,e,r)}function b(t,e,r){if(!F(e))throw new TypeError;return L(r)||(r=z(r)),k(t,e,r)}function v(t,e,r){if(!F(e))throw new TypeError;return L(r)||(r=z(r)),B(t,e,r)}function E(t,e){if(!F(t))throw new TypeError;return L(e)||(e=z(e)),O(t,e)}function _(t,e){if(!F(t))throw new TypeError;return L(e)||(e=z(e)),D(t,e)}function x(t,e,r){if(!F(e))throw new TypeError;L(r)||(r=z(r));var i=T(e,r,!1);if(L(i))return!1;if(!i.delete(t))return!1;if(i.size>0)return!0;var n=f.get(e);return n.delete(r),n.size>0||f.delete(e),!0}function I(t,e){for(var r=t.length-1;r>=0;--r){var i=(0,t[r])(e);if(!L(i)&&!U(i)){if(!q(i))throw new TypeError;e=i}}return e}function S(t,e,r,i){for(var n=t.length-1;n>=0;--n){var s=(0,t[n])(e,r,i);if(!L(s)&&!U(s)){if(!F(s))throw new TypeError;i=s}}return i}function T(t,e,r){var i=f.get(t);if(L(i)){if(!r)return;i=new p,f.set(t,i)}var n=i.get(e);if(L(n)){if(!r)return;n=new p,i.set(e,n)}return n}function C(t,e,r){if(R(t,e,r))return!0;var i=tt(e);return!U(i)&&C(t,i,r)}function R(t,e,r){var i=T(e,r,!1);return!L(i)&&W(i.has(t))}function k(t,e,r){if(R(t,e,r))return B(t,e,r);var i=tt(e);return U(i)?void 0:k(t,i,r)}function B(t,e,r){var i=T(e,r,!1);if(!L(i))return i.get(t)}function N(t,e,r,i){T(r,i,!0).set(t,e)}function O(t,e){var r=D(t,e),i=tt(t);if(null===i)return r;var n=O(i,e);if(n.length<=0)return r;if(r.length<=0)return n;for(var s=new d,o=[],a=0,c=r;a<c.length;a++){var l=c[a];s.has(l)||(s.add(l),o.push(l))}for(var h=0,u=n;h<u.length;h++){l=u[h];s.has(l)||(s.add(l),o.push(l))}return o}function D(t,e){var r=[],i=T(t,e,!1);if(L(i))return r;for(var n=Y(i.keys()),s=0;;){var o=Z(n);if(!o)return r.length=s,r;var a=J(o);try{r[s]=a}catch(t){try{$(n)}finally{throw t}}s++}}function P(t){if(null===t)return 1;switch(typeof t){case"undefined":return 0;case"boolean":return 2;case"string":return 3;case"symbol":return 4;case"number":return 5;case"object":return null===t?1:6;default:return 6}}function L(t){return void 0===t}function U(t){return null===t}function M(t){return"symbol"==typeof t}function F(t){return"object"==typeof t?null!==t:"function"==typeof t}function H(t,e){switch(P(t)){case 0:case 1:case 2:case 3:case 4:case 5:return t}var r=3===e?"string":5===e?"number":"default",n=X(t,i);if(void 0!==n){var s=n.call(t,r);if(F(s))throw new TypeError;return s}return j(t,"default"===r?"number":r)}function j(t,e){if("string"===e){var r=t.toString;if(G(r))if(!F(n=r.call(t)))return n;if(G(i=t.valueOf))if(!F(n=i.call(t)))return n}else{var i;if(G(i=t.valueOf))if(!F(n=i.call(t)))return n;var n,s=t.toString;if(G(s))if(!F(n=s.call(t)))return n}throw new TypeError}function W(t){return!!t}function Q(t){return""+t}function z(t){var e=H(t,3);return M(e)?e:Q(e)}function V(t){return Array.isArray?Array.isArray(t):t instanceof Object?t instanceof Array:"[object Array]"===Object.prototype.toString.call(t)}function G(t){return"function"==typeof t}function q(t){return"function"==typeof t}function K(t){switch(P(t)){case 3:case 4:return!0;default:return!1}}function X(t,e){var r=t[e];if(null!=r){if(!G(r))throw new TypeError;return r}}function Y(t){var e=X(t,s);if(!G(e))throw new TypeError;var r=e.call(t);if(!F(r))throw new TypeError;return r}function J(t){return t.value}function Z(t){var e=t.next();return!e.done&&e}function $(t){var e=t.return;e&&e.call(t)}function tt(t){var e=Object.getPrototypeOf(t);if("function"!=typeof t||t===h)return e;if(e!==h)return e;var r=t.prototype,i=r&&Object.getPrototypeOf(r);if(null==i||i===Object.prototype)return e;var n=i.constructor;return"function"!=typeof n||n===t?e:n}function et(){var t={},e=[],r=function(){function t(t,e,r){this._index=0,this._keys=t,this._values=e,this._selector=r}return t.prototype["@@iterator"]=function(){return this},t.prototype[s]=function(){return this},t.prototype.next=function(){var t=this._index;if(t>=0&&t<this._keys.length){var r=this._selector(this._keys[t],this._values[t]);return t+1>=this._keys.length?(this._index=-1,this._keys=e,this._values=e):this._index++,{value:r,done:!1}}return{value:void 0,done:!0}},t.prototype.throw=function(t){throw this._index>=0&&(this._index=-1,this._keys=e,this._values=e),t},t.prototype.return=function(t){return this._index>=0&&(this._index=-1,this._keys=e,this._values=e),{value:t,done:!0}},t}();return function(){function e(){this._keys=[],this._values=[],this._cacheKey=t,this._cacheIndex=-2}return Object.defineProperty(e.prototype,"size",{get:function(){return this._keys.length},enumerable:!0,configurable:!0}),e.prototype.has=function(t){return this._find(t,!1)>=0},e.prototype.get=function(t){var e=this._find(t,!1);return e>=0?this._values[e]:void 0},e.prototype.set=function(t,e){var r=this._find(t,!0);return this._values[r]=e,this},e.prototype.delete=function(e){var r=this._find(e,!1);if(r>=0){for(var i=this._keys.length,n=r+1;n<i;n++)this._keys[n-1]=this._keys[n],this._values[n-1]=this._values[n];return this._keys.length--,this._values.length--,e===this._cacheKey&&(this._cacheKey=t,this._cacheIndex=-2),!0}return!1},e.prototype.clear=function(){this._keys.length=0,this._values.length=0,this._cacheKey=t,this._cacheIndex=-2},e.prototype.keys=function(){return new r(this._keys,this._values,i)},e.prototype.values=function(){return new r(this._keys,this._values,n)},e.prototype.entries=function(){return new r(this._keys,this._values,o)},e.prototype["@@iterator"]=function(){return this.entries()},e.prototype[s]=function(){return this.entries()},e.prototype._find=function(t,e){return this._cacheKey!==t&&(this._cacheIndex=this._keys.indexOf(this._cacheKey=t)),this._cacheIndex<0&&e&&(this._cacheIndex=this._keys.length,this._keys.push(t),this._values.push(void 0)),this._cacheIndex},e}();function i(t,e){return t}function n(t,e){return e}function o(t,e){return[t,e]}}function rt(){return function(){function t(){this._map=new p}return Object.defineProperty(t.prototype,"size",{get:function(){return this._map.size},enumerable:!0,configurable:!0}),t.prototype.has=function(t){return this._map.has(t)},t.prototype.add=function(t){return this._map.set(t,t),this},t.prototype.delete=function(t){return this._map.delete(t)},t.prototype.clear=function(){this._map.clear()},t.prototype.keys=function(){return this._map.keys()},t.prototype.values=function(){return this._map.values()},t.prototype.entries=function(){return this._map.entries()},t.prototype["@@iterator"]=function(){return this.keys()},t.prototype[s]=function(){return this.keys()},t}()}function it(){var t=16,r=l.create(),i=n();return function(){function t(){this._key=n()}return t.prototype.has=function(t){var e=s(t,!1);return void 0!==e&&l.has(e,this._key)},t.prototype.get=function(t){var e=s(t,!1);return void 0!==e?l.get(e,this._key):void 0},t.prototype.set=function(t,e){return s(t,!0)[this._key]=e,this},t.prototype.delete=function(t){var e=s(t,!1);return void 0!==e&&delete e[this._key]},t.prototype.clear=function(){this._key=n()},t}();function n(){var t;do{t="@@WeakMap@@"+c()}while(l.has(r,t));return r[t]=!0,t}function s(t,r){if(!e.call(t,i)){if(!r)return;Object.defineProperty(t,i,{value:l.create()})}return t[i]}function o(t,e){for(var r=0;r<e;++r)t[r]=255*Math.random()|0;return t}function a(t){return"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(t)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(t)):o(new Uint8Array(t),t):o(new Array(t),t)}function c(){var e=a(t);e[6]=79&e[6]|64,e[8]=191&e[8]|128;for(var r="",i=0;i<t;++i){var n=e[i];4!==i&&6!==i&&8!==i||(r+="-"),n<16&&(r+="0"),r+=n.toString(16).toLowerCase()}return r}}function nt(t){return t.__=void 0,delete t.__,t}t("decorate",g),t("metadata",m),t("defineMetadata",y),t("hasMetadata",w),t("hasOwnMetadata",A),t("getMetadata",b),t("getOwnMetadata",v),t("getMetadataKeys",E),t("getOwnMetadataKeys",_),t("deleteMetadata",x)}(i)}()}(i||(i={}))},2861:(t,e,r)=>{ 25 + /*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */ 26 + var i=r(8287),n=i.Buffer;function s(t,e){for(var r in t)e[r]=t[r]}function o(t,e,r){return n(t,e,r)}n.from&&n.alloc&&n.allocUnsafe&&n.allocUnsafeSlow?t.exports=i:(s(i,e),e.Buffer=o),o.prototype=Object.create(n.prototype),s(n,o),o.from=function(t,e,r){if("number"==typeof t)throw new TypeError("Argument must not be a number");return n(t,e,r)},o.alloc=function(t,e,r){if("number"!=typeof t)throw new TypeError("Argument must be a number");var i=n(t);return void 0!==e?"string"==typeof r?i.fill(e,r):i.fill(e):i.fill(0),i},o.allocUnsafe=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return n(t)},o.allocUnsafeSlow=function(t){if("number"!=typeof t)throw new TypeError("Argument must be a number");return i.SlowBuffer(t)}},8310:(t,e,r)=>{t.exports=n;var i=r(7007).EventEmitter;function n(){i.call(this)}r(6698)(n,i),n.Readable=r(5412),n.Writable=r(6708),n.Duplex=r(5382),n.Transform=r(4610),n.PassThrough=r(3600),n.finished=r(6238),n.pipeline=r(7758),n.Stream=n,n.prototype.pipe=function(t,e){var r=this;function n(e){t.writable&&!1===t.write(e)&&r.pause&&r.pause()}function s(){r.readable&&r.resume&&r.resume()}r.on("data",n),t.on("drain",s),t._isStdio||e&&!1===e.end||(r.on("end",a),r.on("close",c));var o=!1;function a(){o||(o=!0,t.end())}function c(){o||(o=!0,"function"==typeof t.destroy&&t.destroy())}function l(t){if(h(),0===i.listenerCount(this,"error"))throw t}function h(){r.removeListener("data",n),t.removeListener("drain",s),r.removeListener("end",a),r.removeListener("close",c),r.removeListener("error",l),t.removeListener("error",l),r.removeListener("end",h),r.removeListener("close",h),t.removeListener("close",h)}return r.on("error",l),t.on("error",l),r.on("end",h),r.on("close",h),t.on("close",h),t.emit("pipe",r),t}},3141:(t,e,r)=>{var i=r(2861).Buffer,n=i.isEncoding||function(t){switch((t=""+t)&&t.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 s(t){var e;switch(this.encoding=function(t){var e=function(t){if(!t)return"utf8";for(var e;;)switch(t){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 t;default:if(e)return;t=(""+t).toLowerCase(),e=!0}}(t);if("string"!=typeof e&&(i.isEncoding===n||!n(t)))throw new Error("Unknown encoding: "+t);return e||t}(t),this.encoding){case"utf16le":this.text=c,this.end=l,e=4;break;case"utf8":this.fillLast=a,e=4;break;case"base64":this.text=h,this.end=u,e=3;break;default:return this.write=p,void(this.end=d)}this.lastNeed=0,this.lastTotal=0,this.lastChar=i.allocUnsafe(e)}function o(t){return t<=127?0:t>>5==6?2:t>>4==14?3:t>>3==30?4:t>>6==2?-1:-2}function a(t){var e=this.lastTotal-this.lastNeed,r=function(t,e){if(128!=(192&e[0]))return t.lastNeed=0,"�";if(t.lastNeed>1&&e.length>1){if(128!=(192&e[1]))return t.lastNeed=1,"�";if(t.lastNeed>2&&e.length>2&&128!=(192&e[2]))return t.lastNeed=2,"�"}}(this,t);return void 0!==r?r:this.lastNeed<=t.length?(t.copy(this.lastChar,e,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal)):(t.copy(this.lastChar,e,0,t.length),void(this.lastNeed-=t.length))}function c(t,e){if((t.length-e)%2==0){var r=t.toString("utf16le",e);if(r){var i=r.charCodeAt(r.length-1);if(i>=55296&&i<=56319)return this.lastNeed=2,this.lastTotal=4,this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1],r.slice(0,-1)}return r}return this.lastNeed=1,this.lastTotal=2,this.lastChar[0]=t[t.length-1],t.toString("utf16le",e,t.length-1)}function l(t){var e=t&&t.length?this.write(t):"";if(this.lastNeed){var r=this.lastTotal-this.lastNeed;return e+this.lastChar.toString("utf16le",0,r)}return e}function h(t,e){var r=(t.length-e)%3;return 0===r?t.toString("base64",e):(this.lastNeed=3-r,this.lastTotal=3,1===r?this.lastChar[0]=t[t.length-1]:(this.lastChar[0]=t[t.length-2],this.lastChar[1]=t[t.length-1]),t.toString("base64",e,t.length-r))}function u(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+this.lastChar.toString("base64",0,3-this.lastNeed):e}function p(t){return t.toString(this.encoding)}function d(t){return t&&t.length?this.write(t):""}e.I=s,s.prototype.write=function(t){if(0===t.length)return"";var e,r;if(this.lastNeed){if(void 0===(e=this.fillLast(t)))return"";r=this.lastNeed,this.lastNeed=0}else r=0;return r<t.length?e?e+this.text(t,r):this.text(t,r):e||""},s.prototype.end=function(t){var e=t&&t.length?this.write(t):"";return this.lastNeed?e+"�":e},s.prototype.text=function(t,e){var r=function(t,e,r){var i=e.length-1;if(i<r)return 0;var n=o(e[i]);if(n>=0)return n>0&&(t.lastNeed=n-1),n;if(--i<r||-2===n)return 0;if(n=o(e[i]),n>=0)return n>0&&(t.lastNeed=n-2),n;if(--i<r||-2===n)return 0;if(n=o(e[i]),n>=0)return n>0&&(2===n?n=0:t.lastNeed=n-3),n;return 0}(this,t,e);if(!this.lastNeed)return t.toString("utf8",e);this.lastTotal=r;var i=t.length-(r-this.lastNeed);return t.copy(this.lastChar,0,i),t.toString("utf8",e,i)},s.prototype.fillLast=function(t){if(this.lastNeed<=t.length)return t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,this.lastNeed),this.lastChar.toString(this.encoding,0,this.lastTotal);t.copy(this.lastChar,this.lastTotal-this.lastNeed,0,t.length),this.lastNeed-=t.length}},7983:t=>{const e=/^[-+]?0x[a-fA-F0-9]+$/,r=/^([\-\+])?(0*)(\.[0-9]+([eE]\-?[0-9]+)?|[0-9]+(\.[0-9]+([eE]\-?[0-9]+)?)?)$/;!Number.parseInt&&window.parseInt&&(Number.parseInt=window.parseInt),!Number.parseFloat&&window.parseFloat&&(Number.parseFloat=window.parseFloat);const i={hex:!0,leadingZeros:!0,decimalPoint:".",eNotation:!0};t.exports=function(t,n={}){if(n=Object.assign({},i,n),!t||"string"!=typeof t)return t;let s=t.trim();if(void 0!==n.skipLike&&n.skipLike.test(s))return t;if(n.hex&&e.test(s))return Number.parseInt(s,16);{const e=r.exec(s);if(e){const r=e[1],i=e[2];let o=function(t){if(t&&-1!==t.indexOf("."))return"."===(t=t.replace(/0+$/,""))?t="0":"."===t[0]?t="0"+t:"."===t[t.length-1]&&(t=t.substr(0,t.length-1)),t;return t}(e[3]);const a=e[4]||e[6];if(!n.leadingZeros&&i.length>0&&r&&"."!==s[2])return t;if(!n.leadingZeros&&i.length>0&&!r&&"."!==s[1])return t;{const e=Number(s),c=""+e;return-1!==c.search(/[eE]/)||a?n.eNotation?e:t:-1!==s.indexOf(".")?"0"===c&&""===o||c===o||r&&c==="-"+o?e:t:i?o===c||r+o===c?e:t:s===c||s===r+c?e:t}}return t}}},4643:(t,e,r)=>{function i(t){try{if(!r.g.localStorage)return!1}catch(t){return!1}var e=r.g.localStorage[t];return null!=e&&"true"===String(e).toLowerCase()}t.exports=function(t,e){if(i("noDeprecation"))return t;var r=!1;return function(){if(!r){if(i("throwDeprecation"))throw new Error(e);i("traceDeprecation")?console.trace(e):console.warn(e),r=!0}return t.apply(this,arguments)}}},4342:(t,e,r)=>{!function(){var e,i,n,s=0,o=[];for(i=0;i<256;i++)o[i]=(i+256).toString(16).substr(1);function a(){var t,r=(t=16,(!e||s+t>c.BUFFER_SIZE)&&(s=0,e=c.randomBytes(c.BUFFER_SIZE)),e.slice(s,s+=t));return r[6]=15&r[6]|64,r[8]=63&r[8]|128,r}function c(){var t=a();return o[t[0]]+o[t[1]]+o[t[2]]+o[t[3]]+"-"+o[t[4]]+o[t[5]]+"-"+o[t[6]]+o[t[7]]+"-"+o[t[8]]+o[t[9]]+"-"+o[t[10]]+o[t[11]]+o[t[12]]+o[t[13]]+o[t[14]]+o[t[15]]}c.BUFFER_SIZE=4096,c.bin=a,c.clearBuffer=function(){e=null,s=0},c.test=function(t){return"string"==typeof t&&/^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/i.test(t)},"undefined"!=typeof crypto?n=crypto:"undefined"!=typeof window&&void 0!==window.msCrypto&&(n=window.msCrypto),n=n||r(575),t.exports=c,c.randomBytes=function(){if(n){if(n.randomBytes)return n.randomBytes;if(n.getRandomValues)return"function"!=typeof Uint8Array.prototype.slice?function(t){var e=new Uint8Array(t);return n.getRandomValues(e),Array.from(e)}:function(t){var e=new Uint8Array(t);return n.getRandomValues(e),e}}return function(t){var e,r=[];for(e=0;e<t;e++)r.push(Math.floor(256*Math.random()));return r}}()}()},5340:()=>{},9838:()=>{},575:()=>{}},e={};function r(i){var n=e[i];if(void 0!==n)return n.exports;var s=e[i]={exports:{}};return t[i].call(s.exports,s,s.exports,r),s.exports}r.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return r.d(e,{a:e}),e},r.d=(t,e)=>{for(var i in e)r.o(e,i)&&!r.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(t){if("object"==typeof window)return window}}(),r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var i={};r.r(i),r.d(i,{Any:()=>ip,BaseBlock:()=>wh,BaseStringBlock:()=>bh,BitString:()=>yu,BmpString:()=>Mu,Boolean:()=>du,CharacterString:()=>Xu,Choice:()=>np,Constructed:()=>cu,DATE:()=>Zu,DateTime:()=>tp,Duration:()=>ep,EndOfContent:()=>hu,Enumerated:()=>_u,GeneralString:()=>Ku,GeneralizedTime:()=>Ju,GraphicString:()=>Gu,HexBlock:()=>ph,IA5String:()=>Vu,Integer:()=>Eu,Null:()=>uu,NumericString:()=>ju,ObjectIdentifier:()=>Su,OctetString:()=>gu,Primitive:()=>iu,PrintableString:()=>Wu,RawData:()=>op,RelativeObjectIdentifier:()=>Ru,Repeated:()=>sp,Sequence:()=>ku,Set:()=>Bu,TIME:()=>rp,TeletexString:()=>Qu,TimeOfDay:()=>$u,UTCTime:()=>Yu,UniversalString:()=>Hu,Utf8String:()=>Lu,ValueBlock:()=>fh,VideotexString:()=>zu,ViewWriter:()=>ql,VisibleString:()=>qu,compareSchema:()=>ap,fromBER:()=>su,verifySchema:()=>cp});var n={202:"Accepted",502:"Bad Gateway",400:"Bad Request",409:"Conflict",100:"Continue",201:"Created",417:"Expectation Failed",424:"Failed Dependency",403:"Forbidden",504:"Gateway Timeout",410:"Gone",505:"HTTP Version Not Supported",418:"I'm a teapot",419:"Insufficient Space on Resource",507:"Insufficient Storage",500:"Internal Server Error",411:"Length Required",423:"Locked",420:"Method Failure",405:"Method Not Allowed",301:"Moved Permanently",302:"Moved Temporarily",207:"Multi-Status",300:"Multiple Choices",511:"Network Authentication Required",204:"No Content",203:"Non Authoritative Information",406:"Not Acceptable",404:"Not Found",501:"Not Implemented",304:"Not Modified",200:"OK",206:"Partial Content",402:"Payment Required",308:"Permanent Redirect",412:"Precondition Failed",428:"Precondition Required",102:"Processing",407:"Proxy Authentication Required",431:"Request Header Fields Too Large",408:"Request Timeout",413:"Request Entity Too Large",414:"Request-URI Too Long",416:"Requested Range Not Satisfiable",205:"Reset Content",303:"See Other",503:"Service Unavailable",101:"Switching Protocols",307:"Temporary Redirect",429:"Too Many Requests",401:"Unauthorized",451:"Unavailable For Legal Reasons",422:"Unprocessable Entity",415:"Unsupported Media Type",305:"Use Proxy"};function s(t){var e=n[t.toString()];if(!e)throw new Error("Status code does not exist: "+t);return e}const o=25e6,a=262144,c="___wb_replay_top_frame",l=/Expires=\w{3},\s\d[^;,]+(?:;\s*)?/gi;let h="default-src 'unsafe-eval' 'unsafe-inline' 'self' data: blob: mediastream: ws: wss: ; form-action 'self' ; object-src 'none'";function u(){return h}function p(t,e){for(const r of e)if(t.startsWith(r))return!0;return!1}function d(t){return t.replace(/[-:T]/g,"").slice(0,14)}function f(t){if(!t)return new Date;t.length<17&&(t+="00000101000000000".substring(t.length));const e=t.substring(0,4)+"-"+t.substring(4,6)+"-"+t.substring(6,8)+"T"+t.substring(8,10)+":"+t.substring(10,12)+":"+t.substring(12,14)+"."+t.substring(14)+"Z";return new Date(e)}function g(t){if(!t)return"";try{return""+t.getTime()/1e3}catch(t){return""}}function m(t){return Array.from(new Uint8Array(t)).map(t=>t.toString(16).padStart(2,"0")).join("")}async function y(t,e,r=null){const i="string"==typeof t?(new TextEncoder).encode(t):t,n=await crypto.subtle.digest(e,i);return""===r?m(n):(r||e)+":"+m(n)}function w(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}function A(t){const e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return e}function b(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}function v(t){try{return new Headers(t)}catch(e){if("object"==typeof t){const e=t;for(const r of Object.keys(t)){const t=e[r],i=t.replace(/[\r\n]+/g,", ");t!=i&&(e[r]=i)}}else{const e=t;for(const r of Object.keys(t)){const t=e.get(r)||"",i=t.replace(/[\r\n]+/g,", ");t!=i&&e.set(r,i)}}return new Headers(t)}}const E=[101,204,205,304];function _(t){return E.includes(t)}function x(t){try{return s(t)}catch(t){return"Unknown Status"}}function I(t){return"XMLHttpRequest"===t.headers.get("X-Pywb-Requested-With")||"cors"===t.mode&&("script"!==t.destination||"esm_"!==t.mod)}async function S(t,e){if(t instanceof R){const r=await self.clients.matchAll({type:"window"});for(const i of r){new URL(i.url).searchParams.get("source")===e.sourceUrl&&i.postMessage({source:e.sourceUrl,coll:e.dbname.slice(3),type:"authneeded",fileHandle:t.info.fileHandle})}return!0}return!1}function T(t){const e=t.config.metadata?t.config.metadata:{},r={...e,title:e.title||"",desc:e.desc||"",size:e.size||0,filename:t.config.sourceName,loadUrl:t.config.loadUrl,sourceUrl:t.config.sourceUrl,id:t.name,ctime:t.config.ctime,mtime:e.mtime||t.config.ctime,onDemand:t.config.onDemand};return e.ipfsPins&&(r.ipfsPins=e.ipfsPins),r}class C{info;constructor(t={}){this.info=t}toString(){return JSON.stringify(this.info)}}class R extends C{}class k extends C{}class B{}class N{}async function O(t){return new Promise(e=>setTimeout(e,t))}const D=new Set;function P(t){for(const e of t)try{const t=new URL(e,self.location.href);D.add(t.href)}catch(t){}}var L,U=r(4698),M=r.n(U),F=r(1668),H=r.n(F),j=r(4342); 27 + /*! 28 + * hash-wasm (https://www.npmjs.com/package/hash-wasm) 29 + * (c) Dani Biro 30 + * @license MIT 31 + */ 32 + /*! ***************************************************************************** 33 + Copyright (c) Microsoft Corporation. 34 + 35 + Permission to use, copy, modify, and/or distribute this software for any 36 + purpose with or without fee is hereby granted. 37 + 38 + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 39 + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 40 + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 41 + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 42 + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 43 + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 44 + PERFORMANCE OF THIS SOFTWARE. 45 + ***************************************************************************** */ 46 + function W(t,e,r,i){return new(r||(r=Promise))(function(n,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(o,a)}c((i=i.apply(t,e||[])).next())})}class Q{constructor(){this.mutex=Promise.resolve()}lock(){let t=()=>{};return this.mutex=this.mutex.then(()=>new Promise(t)),new Promise(e=>{t=e})}dispatch(t){return W(this,void 0,void 0,function*(){const e=yield this.lock();try{return yield Promise.resolve(t())}finally{e()}})}}const z="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,V=null!==(L=z.Buffer)&&void 0!==L?L:null,G=z.TextEncoder?new z.TextEncoder:null;function q(t,e){return(15&t)+(t>>6|t>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}function K(t,e){const r=e.length>>1;for(let i=0;i<r;i++){const r=i<<1;t[i]=q(e.charCodeAt(r),e.charCodeAt(r+1))}}const X="a".charCodeAt(0)-10,Y="0".charCodeAt(0);function J(t,e,r){let i=0;for(let n=0;n<r;n++){let r=e[n]>>>4;t[i++]=r>9?r+X:r+Y,r=15&e[n],t[i++]=r>9?r+X:r+Y}return String.fromCharCode.apply(null,t)}const Z=null!==V?t=>{if("string"==typeof t){const e=V.from(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(V.isBuffer(t))return new Uint8Array(t.buffer,t.byteOffset,t.length);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")}:t=>{if("string"==typeof t)return G.encode(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")},$="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",tt=new Uint8Array(256);for(let t=0;t<64;t++)tt[$.charCodeAt(t)]=t;function et(t){let e=Math.floor(.75*t.length);const r=t.length;return"="===t[r-1]&&(e-=1,"="===t[r-2]&&(e-=1)),e}function rt(t){const e=et(t),r=t.length,i=new Uint8Array(e);let n=0;for(let e=0;e<r;e+=4){const r=tt[t.charCodeAt(e)],s=tt[t.charCodeAt(e+1)],o=tt[t.charCodeAt(e+2)],a=tt[t.charCodeAt(e+3)];i[n]=r<<2|s>>4,n+=1,i[n]=(15&s)<<4|o>>2,n+=1,i[n]=(3&o)<<6|63&a,n+=1}return i}const it=16384,nt=new Q,st=new Map;function ot(t,e){return W(this,void 0,void 0,function*(){let r=null,i=null,n=!1;if("undefined"==typeof WebAssembly)throw new Error("WebAssembly is not supported in this environment!");const s=()=>new DataView(r.exports.memory.buffer).getUint32(r.exports.STATE_SIZE,!0),o=nt.dispatch(()=>W(this,void 0,void 0,function*(){if(!st.has(t.name)){const e=rt(t.data),r=WebAssembly.compile(e);st.set(t.name,r)}const e=yield st.get(t.name);r=yield WebAssembly.instantiate(e,{})})),a=(t=null)=>{n=!0,r.exports.Hash_Init(t)},c=t=>{if(!n)throw new Error("update() called before init()");(t=>{let e=0;for(;e<t.length;){const n=t.subarray(e,e+it);e+=n.length,i.set(n),r.exports.Hash_Update(n.length)}})(Z(t))},l=new Uint8Array(2*e),h=(t,s=null)=>{if(!n)throw new Error("digest() called before init()");return n=!1,r.exports.Hash_Final(s),"binary"===t?i.slice(0,e):J(l,i,e)},u=t=>"string"==typeof t?t.length<4096:t.byteLength<it;let p=u;switch(t.name){case"argon2":case"scrypt":p=()=>!0;break;case"blake2b":case"blake2s":p=(t,e)=>e<=512&&u(t);break;case"blake3":p=(t,e)=>0===e&&u(t);break;case"xxhash64":case"xxhash3":case"xxhash128":p=()=>!1}return yield(()=>W(this,void 0,void 0,function*(){r||(yield o);const t=r.exports.Hash_GetBuffer(),e=r.exports.memory.buffer;i=new Uint8Array(e,t,it)}))(),{getMemory:()=>i,writeMemory:(t,e=0)=>{i.set(t,e)},getExports:()=>r.exports,setMemorySize:t=>{r.exports.Hash_SetMemorySize(t);const e=r.exports.Hash_GetBuffer(),n=r.exports.memory.buffer;i=new Uint8Array(n,e,t)},init:a,update:c,digest:h,save:()=>{if(!n)throw new Error("save() can only be called after init() and before digest()");const e=r.exports.Hash_GetState(),i=s(),o=r.exports.memory.buffer,a=new Uint8Array(o,e,i),c=new Uint8Array(4+i);return K(c,t.hash),c.set(a,4),c},load:e=>{if(!(e instanceof Uint8Array))throw new Error("load() expects an Uint8Array generated by save()");const i=r.exports.Hash_GetState(),o=s(),a=4+o,c=r.exports.memory.buffer;if(e.length!==a)throw new Error(`Bad state length (expected ${a} bytes, got ${e.length})`);if(!function(t,e){if(t.length!==2*e.length)return!1;for(let r=0;r<e.length;r++){const i=r<<1;if(e[r]!==q(t.charCodeAt(i),t.charCodeAt(i+1)))return!1}return!0}(t.hash,e.subarray(0,4)))throw new Error("This state was written by an incompatible hash implementation");const l=e.subarray(4);new Uint8Array(c,i,o).set(l),n=!0},calculate:(t,n=null,s=null)=>{if(!p(t,n))return a(n),c(t),h("hex",s);const o=Z(t);return i.set(o),r.exports.Hash_Calculate(o.length,n,s),J(l,i,e)},hashLength:e}})}new Q;new Q;new DataView(new ArrayBuffer(4));new Q;new Q;new Q;new Q;new Q;new Q;var at={name:"sha1",data:"AGFzbQEAAAABEQRgAAF/YAJ/fwBgAABgAX8AAwkIAAECAQMCAAMEBQFwAQEBBQQBAQICBg4CfwFB4IkFC38AQYAICwdwCAZtZW1vcnkCAA5IYXNoX0dldEJ1ZmZlcgAACUhhc2hfSW5pdAACC0hhc2hfVXBkYXRlAAQKSGFzaF9GaW5hbAAFDUhhc2hfR2V0U3RhdGUABg5IYXNoX0NhbGN1bGF0ZQAHClNUQVRFX1NJWkUDAQqfKQgFAEGACQurIgoBfgJ/AX4BfwF+A38BfgF/AX5HfyAAIAEpAxAiAkIgiKciA0EYdCADQQh0QYCA/AdxciACQiiIp0GA/gNxIAJCOIincnIiBCABKQMIIgVCIIinIgNBGHQgA0EIdEGAgPwHcXIgBUIoiKdBgP4DcSAFQjiIp3JyIgZzIAEpAygiB0IgiKciA0EYdCADQQh0QYCA/AdxciAHQiiIp0GA/gNxIAdCOIincnIiCHMgBaciA0EYdCADQQh0QYCA/AdxciADQQh2QYD+A3EgA0EYdnJyIgkgASkDACIFpyIDQRh0IANBCHRBgID8B3FyIANBCHZBgP4DcSADQRh2cnIiCnMgASkDICILpyIDQRh0IANBCHRBgID8B3FyIANBCHZBgP4DcSADQRh2cnIiDHMgASkDMCINQiCIpyIDQRh0IANBCHRBgID8B3FyIA1CKIinQYD+A3EgDUI4iKdyciIDc0EBdyIOc0EBdyIPIAYgBUIgiKciEEEYdCAQQQh0QYCA/AdxciAFQiiIp0GA/gNxIAVCOIincnIiEXMgC0IgiKciEEEYdCAQQQh0QYCA/AdxciALQiiIp0GA/gNxIAtCOIincnIiEnMgASkDOCIFpyIQQRh0IBBBCHRBgID8B3FyIBBBCHZBgP4DcSAQQRh2cnIiEHNBAXciE3MgCCAScyATcyAMIAEpAxgiC6ciAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyIhRzIBBzIA9zQQF3IgFzQQF3IhVzIA4gEHMgAXMgAyAIcyAPcyAHpyIWQRh0IBZBCHRBgID8B3FyIBZBCHZBgP4DcSAWQRh2cnIiFyAMcyAOcyALQiCIpyIWQRh0IBZBCHRBgID8B3FyIAtCKIinQYD+A3EgC0I4iKdyciIYIARzIANzIAKnIhZBGHQgFkEIdEGAgPwHcXIgFkEIdkGA/gNxIBZBGHZyciIZIAlzIBdzIAVCIIinIhZBGHQgFkEIdEGAgPwHcXIgBUIoiKdBgP4DcSAFQjiIp3JyIhZzQQF3IhpzQQF3IhtzQQF3IhxzQQF3Ih1zQQF3Ih5zQQF3Ih8gEyAWcyASIBhzIBZzIBQgGXMgDaciIEEYdCAgQQh0QYCA/AdxciAgQQh2QYD+A3EgIEEYdnJyIiFzIBNzQQF3IiBzQQF3IiJzIBAgIXMgIHMgFXNBAXciI3NBAXciJHMgFSAicyAkcyABICBzICNzIB9zQQF3IiVzQQF3IiZzIB4gI3MgJXMgHSAVcyAfcyAcIAFzIB5zIBsgD3MgHXMgGiAOcyAccyAWIANzIBtzICEgF3MgGnMgInNBAXciJ3NBAXciKHNBAXciKXNBAXciKnNBAXciK3NBAXciLHNBAXciLXNBAXciLiAkIChzICIgG3MgKHMgICAacyAncyAkc0EBdyIvc0EBdyIwcyAjICdzIC9zICZzQQF3IjFzQQF3IjJzICYgMHMgMnMgJSAvcyAxcyAuc0EBdyIzc0EBdyI0cyAtIDFzIDNzICwgJnMgLnMgKyAlcyAtcyAqIB9zICxzICkgHnMgK3MgKCAdcyAqcyAnIBxzIClzIDBzQQF3IjVzQQF3IjZzQQF3IjdzQQF3IjhzQQF3IjlzQQF3IjpzQQF3IjtzQQF3IjwgMiA2cyAwICpzIDZzIC8gKXMgNXMgMnNBAXciPXNBAXciPnMgMSA1cyA9cyA0c0EBdyI/c0EBdyJAcyA0ID5zIEBzIDMgPXMgP3MgPHNBAXciQXNBAXciQnMgOyA/cyBBcyA6IDRzIDxzIDkgM3MgO3MgOCAucyA6cyA3IC1zIDlzIDYgLHMgOHMgNSArcyA3cyA+c0EBdyJDc0EBdyJEc0EBdyJFc0EBdyJGc0EBdyJHc0EBdyJIc0EBdyJJc0EBdyJKID8gQ3MgPSA3cyBDcyBAc0EBdyJLcyBCc0EBdyJMID4gOHMgRHMgS3NBAXciTSBFIDogMyAyIDUgKiAeIBUgICAWIBcgACgCACJOQQV3IAAoAhAiT2ogCmogACgCDCJQIAAoAggiCnMgACgCBCJRcSBQc2pBmfOJ1AVqIlJBHnciUyAEaiBRQR53IgQgBmogUCAEIApzIE5xIApzaiARaiBSQQV3akGZ84nUBWoiESBTIE5BHnciBnNxIAZzaiAKIAlqIFIgBCAGc3EgBHNqIBFBBXdqQZnzidQFaiJSQQV3akGZ84nUBWoiVCBSQR53IgQgEUEedyIJc3EgCXNqIAYgGWogUiAJIFNzcSBTc2ogVEEFd2pBmfOJ1AVqIgZBBXdqQZnzidQFaiIZQR53IlNqIAwgVEEedyIXaiAJIBRqIAYgFyAEc3EgBHNqIBlBBXdqQZnzidQFaiIJIFMgBkEedyIMc3EgDHNqIBggBGogGSAMIBdzcSAXc2ogCUEFd2pBmfOJ1AVqIgZBBXdqQZnzidQFaiIUIAZBHnciFyAJQR53IgRzcSAEc2ogEiAMaiAGIAQgU3NxIFNzaiAUQQV3akGZ84nUBWoiEkEFd2pBmfOJ1AVqIlNBHnciDGogAyAUQR53IhZqIAggBGogEiAWIBdzcSAXc2ogU0EFd2pBmfOJ1AVqIgggDCASQR53IgNzcSADc2ogISAXaiBTIAMgFnNxIBZzaiAIQQV3akGZ84nUBWoiEkEFd2pBmfOJ1AVqIhcgEkEedyIWIAhBHnciCHNxIAhzaiAQIANqIBIgCCAMc3EgDHNqIBdBBXdqQZnzidQFaiIMQQV3akGZ84nUBWoiEkEedyIDaiATIBZqIBIgDEEedyIQIBdBHnciE3NxIBNzaiAOIAhqIAwgEyAWc3EgFnNqIBJBBXdqQZnzidQFaiIOQQV3akGZ84nUBWoiFkEedyIgIA5BHnciCHMgGiATaiAOIAMgEHNxIBBzaiAWQQV3akGZ84nUBWoiDnNqIA8gEGogFiAIIANzcSADc2ogDkEFd2pBmfOJ1AVqIgNBBXdqQaHX5/YGaiIPQR53IhBqIAEgIGogA0EedyIBIA5BHnciDnMgD3NqIBsgCGogDiAgcyADc2ogD0EFd2pBodfn9gZqIgNBBXdqQaHX5/YGaiIPQR53IhMgA0EedyIVcyAiIA5qIBAgAXMgA3NqIA9BBXdqQaHX5/YGaiIDc2ogHCABaiAVIBBzIA9zaiADQQV3akGh1+f2BmoiAUEFd2pBodfn9gZqIg5BHnciD2ogHSATaiABQR53IhAgA0EedyIDcyAOc2ogJyAVaiADIBNzIAFzaiAOQQV3akGh1+f2BmoiAUEFd2pBodfn9gZqIg5BHnciEyABQR53IhVzICMgA2ogDyAQcyABc2ogDkEFd2pBodfn9gZqIgFzaiAoIBBqIBUgD3MgDnNqIAFBBXdqQaHX5/YGaiIDQQV3akGh1+f2BmoiDkEedyIPaiApIBNqIANBHnciECABQR53IgFzIA5zaiAkIBVqIAEgE3MgA3NqIA5BBXdqQaHX5/YGaiIDQQV3akGh1+f2BmoiDkEedyITIANBHnciFXMgHyABaiAPIBBzIANzaiAOQQV3akGh1+f2BmoiAXNqIC8gEGogFSAPcyAOc2ogAUEFd2pBodfn9gZqIgNBBXdqQaHX5/YGaiIOQR53Ig9qICsgAUEedyIBaiAPIANBHnciEHMgJSAVaiABIBNzIANzaiAOQQV3akGh1+f2BmoiFXNqIDAgE2ogECABcyAOc2ogFUEFd2pBodfn9gZqIg5BBXdqQaHX5/YGaiIBIA5BHnciA3IgFUEedyITcSABIANxcmogJiAQaiATIA9zIA5zaiABQQV3akGh1+f2BmoiDkEFd2pB3Pnu+HhqIg9BHnciEGogNiABQR53IgFqICwgE2ogDiABciADcSAOIAFxcmogD0EFd2pB3Pnu+HhqIhMgEHIgDkEedyIOcSATIBBxcmogMSADaiAPIA5yIAFxIA8gDnFyaiATQQV3akHc+e74eGoiAUEFd2pB3Pnu+HhqIgMgAUEedyIPciATQR53IhNxIAMgD3FyaiAtIA5qIAEgE3IgEHEgASATcXJqIANBBXdqQdz57vh4aiIBQQV3akHc+e74eGoiDkEedyIQaiA9IANBHnciA2ogNyATaiABIANyIA9xIAEgA3FyaiAOQQV3akHc+e74eGoiEyAQciABQR53IgFxIBMgEHFyaiAuIA9qIA4gAXIgA3EgDiABcXJqIBNBBXdqQdz57vh4aiIDQQV3akHc+e74eGoiDiADQR53Ig9yIBNBHnciE3EgDiAPcXJqIDggAWogAyATciAQcSADIBNxcmogDkEFd2pB3Pnu+HhqIgFBBXdqQdz57vh4aiIDQR53IhBqIDQgDkEedyIOaiA+IBNqIAEgDnIgD3EgASAOcXJqIANBBXdqQdz57vh4aiITIBByIAFBHnciAXEgEyAQcXJqIDkgD2ogAyABciAOcSADIAFxcmogE0EFd2pB3Pnu+HhqIgNBBXdqQdz57vh4aiIOIANBHnciD3IgE0EedyITcSAOIA9xcmogQyABaiADIBNyIBBxIAMgE3FyaiAOQQV3akHc+e74eGoiAUEFd2pB3Pnu+HhqIgNBHnciEGogRCAPaiADIAFBHnciFXIgDkEedyIOcSADIBVxcmogPyATaiABIA5yIA9xIAEgDnFyaiADQQV3akHc+e74eGoiAUEFd2pB3Pnu+HhqIgNBHnciEyABQR53Ig9zIDsgDmogASAQciAVcSABIBBxcmogA0EFd2pB3Pnu+HhqIgFzaiBAIBVqIAMgD3IgEHEgAyAPcXJqIAFBBXdqQdz57vh4aiIDQQV3akHWg4vTfGoiDkEedyIQaiBLIBNqIANBHnciFSABQR53IgFzIA5zaiA8IA9qIAEgE3MgA3NqIA5BBXdqQdaDi9N8aiIDQQV3akHWg4vTfGoiDkEedyIPIANBHnciE3MgRiABaiAQIBVzIANzaiAOQQV3akHWg4vTfGoiAXNqIEEgFWogEyAQcyAOc2ogAUEFd2pB1oOL03xqIgNBBXdqQdaDi9N8aiIOQR53IhBqIEIgD2ogA0EedyIVIAFBHnciAXMgDnNqIEcgE2ogASAPcyADc2ogDkEFd2pB1oOL03xqIgNBBXdqQdaDi9N8aiIOQR53Ig8gA0EedyITcyBDIDlzIEVzIE1zQQF3IhYgAWogECAVcyADc2ogDkEFd2pB1oOL03xqIgFzaiBIIBVqIBMgEHMgDnNqIAFBBXdqQdaDi9N8aiIDQQV3akHWg4vTfGoiDkEedyIQaiBJIA9qIANBHnciFSABQR53IgFzIA5zaiBEIDpzIEZzIBZzQQF3IhogE2ogASAPcyADc2ogDkEFd2pB1oOL03xqIgNBBXdqQdaDi9N8aiIOQR53Ig8gA0EedyITcyBAIERzIE1zIExzQQF3IhsgAWogECAVcyADc2ogDkEFd2pB1oOL03xqIgFzaiBFIDtzIEdzIBpzQQF3IhwgFWogEyAQcyAOc2ogAUEFd2pB1oOL03xqIgNBBXdqQdaDi9N8aiIOQR53IhAgT2o2AhAgACBQIEsgRXMgFnMgG3NBAXciFSATaiABQR53IgEgD3MgA3NqIA5BBXdqQdaDi9N8aiITQR53IhZqNgIMIAAgCiBGIDxzIEhzIBxzQQF3IA9qIANBHnciAyABcyAOc2ogE0EFd2pB1oOL03xqIg5BHndqNgIIIAAgUSBBIEtzIExzIEpzQQF3IAFqIBAgA3MgE3NqIA5BBXdqQdaDi9N8aiIBajYCBCAAIE4gTSBGcyAacyAVc0EBd2ogA2ogFiAQcyAOc2ogAUEFd2pB1oOL03xqNgIACzoAQQBC/rnrxemOlZkQNwKIiQFBAEKBxpS6lvHq5m83AoCJAUEAQvDDy54MNwKQiQFBAEEANgKYiQELqgIBBH9BACECQQBBACgClIkBIgMgAUEDdGoiBDYClIkBQQAoApiJASEFAkAgBCADTw0AQQAgBUEBaiIFNgKYiQELQQAgBSABQR12ajYCmIkBAkAgA0EDdkE/cSIEIAFqQcAASQ0AQcAAIARrIQJBACEDQQAhBQNAIAMgBGpBnIkBaiAAIANqLQAAOgAAIAIgBUEBaiIFQf8BcSIDSw0AC0GAiQFBnIkBEAEgBEH/AHMhA0EAIQQgAyABTw0AA0BBgIkBIAAgAmoQASACQf8AaiEDIAJBwABqIgUhAiADIAFJDQALIAUhAgsCQCABIAJrIgFFDQBBACEDQQAhBQNAIAMgBGpBnIkBaiAAIAMgAmpqLQAAOgAAIAEgBUEBaiIFQf8BcSIDSw0ACwsLCQBBgAkgABADC60DAQJ/IwBBEGsiACQAIABBgAE6AAcgAEEAKAKYiQEiAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyNgAIIABBACgClIkBIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYADCAAQQdqQQEQAwJAQQAoApSJAUH4A3FBwANGDQADQCAAQQA6AAcgAEEHakEBEANBACgClIkBQfgDcUHAA0cNAAsLIABBCGpBCBADQQBBACgCgIkBIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYCgAlBAEEAKAKEiQEiAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyNgKECUEAQQAoAoiJASIBQRh0IAFBCHRBgID8B3FyIAFBCHZBgP4DcSABQRh2cnI2AogJQQBBACgCjIkBIgFBGHQgAUEIdEGAgPwHcXIgAUEIdkGA/gNxIAFBGHZycjYCjAlBAEEAKAKQiQEiAUEYdCABQQh0QYCA/AdxciABQQh2QYD+A3EgAUEYdnJyNgKQCSAAQRBqJAALBgBBgIkBC0MAQQBC/rnrxemOlZkQNwKIiQFBAEKBxpS6lvHq5m83AoCJAUEAQvDDy54MNwKQiQFBAEEANgKYiQFBgAkgABADEAULCwsBAEGACAsEXAAAAA==",hash:"40d92e5d"};new Q;new Q;new Q;var ct={name:"sha256",data:"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",hash:"817d957e"};new Q;new Q;function lt(){return ot(ct,32).then(t=>{t.init(256);const e={init:()=>(t.init(256),e),update:r=>(t.update(r),e),digest:e=>t.digest(e),save:()=>t.save(),load:r=>(t.load(r),e),blockSize:64,digestSize:32};return e})}new Q;new Q;new Q;new Q;new ArrayBuffer(8);new Q;new ArrayBuffer(8);new Q;new ArrayBuffer(8);new Q;new Q;new Q;function ht(t){let e;e="string"==typeof t?t:t?.length?t.reduce((t,e)=>t+=String.fromCharCode(e),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function ut(t){try{if(!t.startsWith("https:")&&!t.startsWith("http:"))return t;let e=(t=t.replace(/^(https?:\/\/)www\d*\./,"$1")).toLowerCase(),r=new URL(e),i=r.hostname.split(".").reverse().join(",");if(r.port&&(i+=":"+r.port),i+=")",i+=r.pathname,r.search){let t=r.search.slice(1).split("&");t.sort(),i+="?"+t.join("&")}return i}catch{return t}}function pt(t){let{method:e,headers:r,postData:i=""}=t;if("GET"===e)return!1;let n=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(r);function s(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let o="";switch(n.split(";")[0]){case"application/x-www-form-urlencoded":o=s(i);break;case"application/json":o=gt(s(i));break;case"text/plain":try{o=gt(s(i),!1)}catch{o=ht(i)}break;case"multipart/form-data":if(!n)throw new Error("utils cannot call postToGetURL when missing content-type header");o=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],n=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of n){let e=t.trim().match(/name="([^"]+)"\r\n\r\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(s(i),n);break;default:o=ht(i)}if(null!=o){t.requestBody=o;try{o=decodeURI(o)}catch{o=""}return t.url=dt(t.url,o,t.method),t.method="GET",!0}return!1}function dt(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}function ft(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},n=(t,e="")=>{let s="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)n(t[r],e)}else try{for(let[e,r]of Object.entries(t))n(r,e)}catch{null===t&&(s="null")}["string","number","boolean"].includes(typeof t)&&(s=t.toString()),s&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),s)};try{n(t)}catch(t){if(!e)throw t}return r}function gt(t="",e=!0){return ft(t,e).toString()}function mt(t,e){if(1===t.length)return t[0];let r=new Uint8Array(e),i=0;for(let e of t)r.set(e,i),i+=e.byteLength;return r}function yt(t,e){return[t.slice(0,e),t.slice(e)]}function wt(t){let e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return(new TextDecoder).decode(e)}var At=["set-cookie","warc-concurrent-to","warc-protocol"],bt=",,,";var vt=class extends Map{constructor(t){if(t instanceof Array){super();for(let e of t)if(e instanceof Array){let t=e[0],r=e[1];this.append(t,r)}}else super(t?Object.entries(t):void 0)}getMultiple(t){let e=super.get(t);if(e)return At.includes(t.toLowerCase())?e.split(bt):[e]}append(t,e){if(At.includes(t.toLowerCase())){let r=this.get(t);this.set(t,void 0!==r?r+bt+e:e)}else this.set(t,e)}*[Symbol.iterator](){for(let[t,e]of super[Symbol.iterator]())if(At.includes(t.toLowerCase()))for(let r of e.split(bt))yield[t,r];else yield[t,e]}},Et=new TextDecoder("utf-8"),_t=class extends F.Inflate{constructor(t,e){super(t),this.ended=!1,this.chunks=[],this.reader=e}onEnd(t){this.err=t,this.err||(this.reader._rawOffset+=this.strm.total_in)}},xt=class t{static async readFully(t){let e=[],r=0;for await(let i of t)e.push(i),r+=i.byteLength;return mt(e,r)}getReadableStream(){let t=this[Symbol.asyncIterator]();return new ReadableStream({pull:async e=>t.next().then(t=>{t.done||!t.value?e.close():e.enqueue(t.value)})})}async readFully(){return await t.readFully(this)}async readline(t=0){let e=await this.readlineRaw(t);return e?Et.decode(e):""}async*iterLines(t=0){let e=null;for(;e=await this.readline(t);)yield e}};var It=class t extends xt{constructor(e,r="gzip",i=!1){let n;if(super(),this.compressed=r,this.opts={raw:"deflateRaw"===r},this.inflator=r?new _t(this.opts,this):null,function(t){return!(!t||!(Symbol.asyncIterator in Object(t)))}(e))n=e;else if("object"==typeof e&&"read"in e&&"function"==typeof e.read)n=t.fromReadable(e);else if(e instanceof ReadableStream)n=t.fromReadable(e.getReader());else{if(!function(t){return!(!t||!(Symbol.iterator in Object(t)))}(e))throw new TypeError("Invalid Stream Source");n=t.fromIter(e)}this._sourceIter=i?this.dechunk(n):n[Symbol.asyncIterator](),this.lastValue=null,this.errored=!1,this._savedChunk=null,this._rawOffset=0,this._readOffset=0,this.numChunks=0}async _loadNext(){let t=await this._sourceIter.next();return t.done?null:t.value}async*dechunk(e){let r=e instanceof t?e:new t(e,null),i=-1,n=!0;for(;0!=i;){let t=await r.readlineRaw(64),e=new Uint8Array;if(i=t?parseInt(Et.decode(t),16):0,!i||i>2**32){if(Number.isNaN(i)||i>2**32){n||(this.errored=!0),yield t;break}}else if(e=await r.readSize(i),e.length!=i){n?yield t:this.errored=!0,yield e;break}let s=await r.readSize(2);if(13!=s[0]||10!=s[1]){n?yield t:this.errored=!0,yield e,yield s;break}if(n=!1,!e||0===i)return;yield e}yield*r}unread(t){t.length&&(this._readOffset-=t.length,this._savedChunk&&console.log("Already have chunk!"),this._savedChunk=t)}async _next(){if(this._savedChunk){let t=this._savedChunk;return this._savedChunk=null,t}if(this.compressed){let t=this._getNextChunk();if(t)return t}let t=await this._loadNext();for(;this.compressed&&t;){this._push(t);let e=this._getNextChunk(t);if(e)return e;t=await this._loadNext()}return t}_push(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _push when this.compressed is null");this.lastValue=t,this.inflator.ended&&(this.inflator=new _t(this.opts,this)),this.inflator.push(t),this.inflator.err&&this.inflator.ended&&"deflate"===this.compressed&&!this.opts.raw&&0===this.numChunks&&(this.opts.raw=!0,this.compressed="deflateRaw",this.inflator=new _t(this.opts,this),this.inflator.push(t))}_getNextChunk(t){if(!this.inflator)throw new Error("AsyncIterReader cannot call _getNextChunk when this.compressed is null");for(;;){if(this.inflator.chunks.length>0)return this.numChunks++,this.inflator.chunks.shift();if(this.inflator.ended){if(0!==this.inflator.err)return this.compressed=null,t;let e=this.inflator.strm.avail_in;if(e&&this.lastValue){this._push(this.lastValue.slice(-e));continue}}return null}}async*[Symbol.asyncIterator](){let t=null;for(;t=await this._next();)this._readOffset+=t.length,yield t}async readlineRaw(t){let e=[],r=0,i=-1,n=null;for await(let s of this){if(t&&r+s.byteLength>t){n=s,i=t-r-1;let e=s.slice(0,i+1).indexOf(10);e>=0&&(i=e);break}if(i=s.indexOf(10),i>=0){n=s;break}e.push(s),r+=s.byteLength}if(n){let[t,s]=yt(n,i+1);e.push(t),r+=t.byteLength,this.unread(s)}else if(!e.length)return null;return mt(e,r)}async readFully(){return(await this._readOrSkip())[1]}async readSize(t){return(await this._readOrSkip(t))[1]}async skipSize(t){return(await this._readOrSkip(t,!0))[0]}async _readOrSkip(t=-1,e=!1){let r=[],i=0;for await(let n of this){if(t>=0){if(n.length>t){let[s,o]=yt(n,t);e||r.push(s),i+=s.byteLength,this.unread(o);break}if(n.length===t){e||r.push(n),i+=n.byteLength,t=0;break}t-=n.length}e||r.push(n),i+=n.byteLength}return e?[i,new Uint8Array]:[i,mt(r,i)]}getReadOffset(){return this._readOffset}getRawOffset(){return this.compressed?this._rawOffset:this._readOffset}getRawLength(t){return this.compressed?this.inflator.strm.total_in:this._readOffset-t}static fromReadable(t){return{async*[Symbol.asyncIterator](){let e=null;for(;(e=await t.read())&&!e.done;)yield e.value}}}static fromIter(t){return{async*[Symbol.asyncIterator](){for(let e of t)yield e}}}},St=class extends xt{constructor(t,e,r=0){super(),this.sourceIter=t,this.length=e,this.limit=e,this.skip=r}setLimitSkip(t,e=0){this.limit=t,this.skip=e}async*[Symbol.asyncIterator](){if(!(this.limit<=0))for await(let t of this.sourceIter){if(this.skip>0){if(!(t.length>=this.skip)){this.skip-=t.length;continue}{let[,e]=yt(t,this.skip);t=e,this.skip=0}}if(t.length>this.limit){let[e,r]=yt(t,this.limit);t=e,this.sourceIter.unread&&this.sourceIter.unread(r)}if(t.length&&(this.limit-=t.length,yield t),this.limit<=0)break}}async readlineRaw(t){if(this.limit<=0)return null;let e=await this.sourceIter.readlineRaw(t?Math.min(t,this.limit):this.limit);return this.limit-=e?.length||0,e}async skipFully(){let t=this.limit;for(;this.limit>0;)this.limit-=await this.sourceIter.skipSize(this.limit);return t}},Tt=new Uint8Array([13,10]),Ct=new Uint8Array([13,10,13,10]),Rt=new TextDecoder("utf-8"),kt=class{constructor({statusline:t,headers:e,reencodeHeaders:r}){this.statusline=t,this.headers=e,this.reencodeHeaders=r}toString(){let t=[this.statusline],e=this.headers instanceof Headers;for(let[r,i]of this.headers)e&&this.reencodeHeaders?.has(r)?t.push(`${r}: ${wt(i)}`):t.push(`${r}: ${i}`);return t.join("\r\n")+"\r\n"}async*iterSerialize(t){yield t.encode(this.statusline),yield Tt;for(let[e,r]of this.headers)yield t.encode(`${e}: ${r}\r\n`)}_parseResponseStatusLine(){let t=function(t,e,r){let i=t.split(e),n=i.slice(0,r);return i.slice(r).length>0&&n.push(i.slice(r).join(e)),n}(this.statusline," ",2);this._protocol=t[0]??"",this._statusCode=t.length>1?Number(t[1]):"",this._statusText=t.length>2?t[2]:""}get statusCode(){return void 0===this._statusCode&&this._parseResponseStatusLine(),this._statusCode}get protocol(){return void 0===this._protocol&&this._parseResponseStatusLine(),this._protocol}get statusText(){return void 0===this._statusText&&this._parseResponseStatusLine(),this._statusText}_parseRequestStatusLine(){let t=this.statusline.split(" ",2);this._method=t[0]??"",this._requestPath=t.length>1?t[1]:""}get method(){return void 0===this._method&&this._parseRequestStatusLine(),this._method}get requestPath(){return void 0===this._requestPath&&this._parseRequestStatusLine(),this._requestPath}},Bt=class{constructor(){this.reencodeHeaders=new Set}async parse(t,{headersClass:e,firstLine:r}={headersClass:vt}){let i=r||await t.readline();if(!i)return null;let n=i.trimEnd();if(!n)return null;let s,o,a,c,l=new e,h=await async function(t){let e=[],r=0,i=0,n=null,s=t[Symbol.asyncIterator]();for await(let t of s){if([i,t]=await Nt(t,s),i>=0){n=t;break}e.push(t),r+=t.byteLength}if(n){let[s,o]=yt(n,i+1);e.push(s),r+=s.byteLength,t.unread(o)}else if(!e.length)return"";return Rt.decode(mt(e,r))}(t),u=0,p="";for(;u<h.length&&(a=h.indexOf("\n",u),!c||" "!==h[u]&&"\t"!==h[u]?(c&&(this.setHeader(p,c,l),c=null),s=h.indexOf(":",u),o=s<0?u:s+1,s>=0&&s<a?(p=h.slice(u,s).trimStart(),c=h.slice(o,a<0?void 0:a).trim()):c=null):c+=h.slice(u,a<0?void 0:a).trimEnd(),!(a<0));)u=a+1;return c&&this.setHeader(p,c,l),new kt({statusline:n,headers:l,reencodeHeaders:this.reencodeHeaders})}setHeader(t,e,r,i=!1){try{r.append(t,e),r instanceof Headers&&i&&this.reencodeHeaders.add(t.toLowerCase())}catch{i||this.setHeader(t,function(t){let e=(new TextEncoder).encode(t),r="";return e.forEach(t=>r+=String.fromCharCode(t)),r}(e),r,!0)}}};async function Nt(t,e){let r=0;for(let i=0;i<t.length-4;i++){let i=t.indexOf(13,r);if(i<0)break;if(i+3>=t.length){let{value:r}=await e.next();if(!r)break;let i=new Uint8Array(r.length+t.length);i.set(t,0),i.set(r,t.length),t=i}if(10===t[i+1]&&13===t[i+2]&&10===t[i+3])return[i+3,t];r=i+1}return[-1,t]}var Ot=new TextDecoder("utf-8"),Dt=new TextEncoder,Pt="WARC/1.0",Lt={warcinfo:"application/warc-fields",response:"application/http; msgtype=response",revisit:"application/http; msgtype=response",request:"application/http; msgtype=request",metadata:"application/warc-fields"},Ut=class t extends xt{constructor({warcHeaders:t,reader:e}){super(),this._offset=0,this._length=0,this._urlkey="",this.warcHeaders=t,this._reader=e,this._contentReader=null,this.payload=null,this.httpHeaders=null,this.consumed="",this.fixUp()}static create({url:e,date:r,type:i,warcHeaders:n={},filename:s="",httpHeaders:o={},statusline:a="HTTP/1.1 200 OK",warcVersion:c=Pt,keepHeadersCase:l=!0,refersToUrl:h,refersToDate:u}={},p){function d(t){let e=t;return c===Pt&&("Z"!=(t=t.split(".")[0]).charAt(e.length-1)&&(t+="Z")),t}r=d(r||(new Date).toISOString());let f=new vt(n);if("warcinfo"===i)s&&f.set("WARC-Filename",s);else if(e)try{f.set("WARC-Target-URI",new URL(e).href)}catch{f.set("WARC-Target-URI",e)}f.set("WARC-Date",r),i&&f.set("WARC-Type",i),"revisit"===i&&(f.set("WARC-Profile","WARC/1.1"===c?"http://netpreserve.org/warc/1.1/revisit/identical-payload-digest":"http://netpreserve.org/warc/1.0/revisit/identical-payload-digest"),h&&(f.set("WARC-Refers-To-Target-URI",h),f.set("WARC-Refers-To-Date",d(u||(new Date).toISOString()))));let g=new kt({statusline:c,headers:f});g.headers.get("WARC-Record-ID")||g.headers.set("WARC-Record-ID",`<urn:uuid:${j()}>`),g.headers.get("Content-Type")||g.headers.set("Content-Type",i&&Lt[i]||"application/octet-stream"),p||(p=Mt());let m=new t({warcHeaders:g,reader:p}),y=null,w=!1;switch(i){case"response":case"request":case"revisit":l?(y=new vt(o),w=!y.size):(y=new Headers(o),w=!Object.entries(o).length),(!w||"revisit"!==i)&&(m.httpHeaders=new kt({statusline:a,headers:y}))}return m}static createWARCInfo(e={},r){return e.type="warcinfo",t.create(e,async function*(){for(let[t,e]of Object.entries(r))yield Dt.encode(`${t}: ${e}\r\n`)}())}getResponseInfo(){let t=this.httpHeaders;return t?{headers:t.headers,status:t.statusCode,statusText:t.statusText}:null}fixUp(){let t=this.warcHeaders.headers.get("WARC-Target-URI");t&&t.startsWith("<")&&t.endsWith(">")&&this.warcHeaders.headers.set("WARC-Target-URI",t.slice(1,-1))}async readFully(t=!1){if(this.httpHeaders){if(this.payload&&!this.payload.length)return this.payload;if(this._contentReader&&!t)throw new TypeError("WARC Record decoding already started, but requesting raw payload");if(t&&"raw"===this.consumed&&this.payload)return await this._createDecodingReader([this.payload]).readFully()}return this.payload||(t?(this.payload=await super.readFully(),this.consumed="content"):(this.payload=await xt.readFully(this._reader),this.consumed="raw")),this.payload}get reader(){if(this.payload&&!this.payload.length)return Mt();if(this._contentReader)throw new TypeError("WARC Record decoding already started, but requesting raw payload");return this._reader}get contentReader(){return this.httpHeaders?(this._contentReader||(this._contentReader=this._createDecodingReader(this._reader)),this._contentReader):this._reader}_createDecodingReader(t){if(!this.httpHeaders)throw new Error("WARCRecord cannot call _createDecodingReader when this.httpHeaders === null");let e=this.httpHeaders.headers.get("Content-Encoding"),r=this.httpHeaders.headers.get("Transfer-Encoding"),i="chunked"===r;return!e&&!i&&(e=r),new It(t,e,i)}async readlineRaw(t){if(this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");if(this.contentReader instanceof xt)return this.contentReader.readlineRaw(t);throw new Error("WARCRecord cannot call readlineRaw on this.contentReader if it does not extend BaseAsyncIterReader")}async contentText(){let t=await this.readFully(!0);return Ot.decode(t)}async*[Symbol.asyncIterator](){for await(let t of this.contentReader)if(yield t,this.consumed)throw new Error("Record already consumed.. Perhaps a promise was not awaited?");this.consumed="content"}async skipFully(){if(!this.consumed){if(this._reader instanceof St){let t=await this._reader.skipFully();return this.consumed="skipped",t}throw new Error("WARCRecord cannot call skipFully on this._reader if it is not a LimitReader")}}warcHeader(t){return this.warcHeaders.headers.get(t)}get warcType(){return this.warcHeaders.headers.get("WARC-Type")}get warcTargetURI(){return this.warcHeaders.headers.get("WARC-Target-URI")}get warcDate(){return this.warcHeaders.headers.get("WARC-Date")}get warcRefersToTargetURI(){return this.warcHeaders.headers.get("WARC-Refers-To-Target-URI")}get warcRefersToDate(){return this.warcHeaders.headers.get("WARC-Refers-To-Date")}get warcPayloadDigest(){return this.warcHeaders.headers.get("WARC-Payload-Digest")}get warcBlockDigest(){return this.warcHeaders.headers.get("WARC-Block-Digest")}get warcContentType(){return this.warcHeaders.headers.get("Content-Type")}get warcContentLength(){return Number(this.warcHeaders.headers.get("Content-Length"))}get warcConcurrentTo(){if(this.warcHeaders.headers instanceof vt)return this.warcHeaders.headers.getMultiple("WARC-Concurrent-To");{let t=this.warcHeaders.headers.get("WARC-Concurrent-To");return t?t.split(","):[]}}};async function*Mt(){}var Ft=new TextDecoder,Ht=new Uint8Array([]),jt=class t{static async parse(e,r){return new t(e,r).parse()}static iterRecords(e,r){return new t(e,r)[Symbol.asyncIterator]()}constructor(t,{keepHeadersCase:e=!1,parseHttp:r=!0}={}){this._offset=0,this._warcHeadersLength=0,this._headersClass=e?vt:Headers,this._parseHttp=r,this._reader=t instanceof It?t:new It(t),this._record=null}async readToNextRecord(){if(!this._reader||!this._record)return Ht;await this._record.skipFully(),this._reader.compressed&&(this._offset=this._reader.getRawOffset());let t=await this._reader.readlineRaw(),e=0;if(t){if(e=t.byteLength-1,9===e&&Ft.decode(t).startsWith("WARC/"))return t;for(;e>0;){let r=t[e-1];if(10!==r&&13!==r)break;e--}e&&console.warn(`Content-Length Too Small: Record not followed by newline, Remainder Length: ${e}, Offset: ${this._reader.getRawOffset()-t.byteLength}`)}else t=Ht;if(this._reader.compressed)await this._reader.skipSize(2),t=Ht;else{for(t=await this._reader.readlineRaw();t&&2===t.byteLength;)t=await this._reader.readlineRaw();this._offset=this._reader.getRawOffset(),t&&(this._offset-=t.length)}return t}_initRecordReader(t){return new St(this._reader,Number(t.headers.get("Content-Length")||0))}async parse(){let t=await this.readToNextRecord(),e=t?Ft.decode(t):"",r=new Bt,i=await r.parse(this._reader,{firstLine:e,headersClass:this._headersClass});if(!i)return null;this._warcHeadersLength=this._reader.getReadOffset();let n=new Ut({warcHeaders:i,reader:this._initRecordReader(i)});if(this._record=n,this._parseHttp)switch(n.warcType){case"response":case"request":await this._addHttpHeaders(n,r);break;case"revisit":n.warcContentLength>0&&await this._addHttpHeaders(n,r)}return n}get offset(){return this._offset}get recordLength(){return this._reader.getRawLength(this._offset)}async*[Symbol.asyncIterator](){let t=null;for(;null!==(t=await this.parse());)yield t;this._record=null}async _addHttpHeaders(t,e){let r=await e.parse(this._reader,{headersClass:this._headersClass});t.httpHeaders=r;let i=this._reader.getReadOffset()-this._warcHeadersLength;t.reader instanceof St&&t.reader.setLimitSkip(t.warcContentLength-i)}};function Wt(t,e,r){let i,n;switch(r=r||{},e){case"RFC3548":case"RFC4648":i="ABCDEFGHIJKLMNOPQRSTUVWXYZ234567",n=!0;break;case"RFC4648-HEX":i="0123456789ABCDEFGHIJKLMNOPQRSTUV",n=!0;break;case"Crockford":i="0123456789ABCDEFGHJKMNPQRSTVWXYZ",n=!1;break;default:throw new Error("Unknown base32 variant: "+e)}let s=void 0!==r.padding?r.padding:n,o=function(t){if(t instanceof Int8Array||t instanceof Uint8Array||t instanceof Uint8ClampedArray)return new DataView(t.buffer,t.byteOffset,t.byteLength);if(t instanceof ArrayBuffer)return new DataView(t);throw new TypeError("Expected `data` to be an ArrayBuffer, Buffer, Int8Array, Uint8Array or Uint8ClampedArray")}(t),a=0,c=0,l="";for(let t=0;t<o.byteLength;t++)for(c=c<<8|o.getUint8(t),a+=8;a>=5;)l+=i[c>>>a-5&31],a-=5;if(a>0&&(l+=i[c<<5-a&31]),s)for(;l.length%8!=0;)l+="=";return l}var Qt=new TextEncoder,zt=class{},Vt=class extends zt{constructor(){super(...arguments),this.buffers=[]}write(t){this.buffers.push(t)}async*readAll(){for(let t of this.buffers)yield t}purge(){this.buffers=[]}},Gt=(Symbol.asyncIterator,["offset","warc-type","warc-target-uri"]),qt=class{constructor(t={},e=Gt){this.opts=t,t.fields?(this.fields=t.fields,this.reqFields=this.fields.filter(t=>{return(e=t).startsWith("req.")||"referrer"===e.toLowerCase();var e})):(this.fields=e,this.reqFields=[]),this.parseHttp=!1}serialize(t){return JSON.stringify(t)+"\n"}write(t,e){e.write(this.serialize(t))}async writeAll(t,e){for await(let r of this.iterIndex(t))this.write(r,e)}async*iterIndex(t){let e={strictHeaders:!0,parseHttp:this.parseHttp};for(let{filename:r,reader:i}of t){let t=new jt(i,e);yield*this.iterRecords(t,r)}}async*iterRecords(t,e){for await(let r of t){await r.skipFully();let i=this.indexRecord(r,t,e);i&&(yield i)}}indexRecord(t,e,r){if(this.filterRecord&&!this.filterRecord(t))return null;let i={},{offset:n,recordLength:s}=e,o={offset:n,length:s,filename:r};for(let e of this.fields)e in o?i[e]=o[e]:this.setField(e,t,i);return i}setField(t,e,r){let i=this.getField(t,e);null!==i&&(r[t]=i)}getField(t,e){if(t.startsWith("req.")){if("request"!==e.warcType)return null;t=t.slice(4)}if("http:status"===t)return!e.httpHeaders||"response"!==e.warcType&&"revisit"!==e.warcType?null:e.httpHeaders.statusCode;if(t.startsWith("http:")){if(e.httpHeaders){let r=e.httpHeaders.headers,i=t.slice(5),n=r.get(i);if(r instanceof Map){let t=i.toLowerCase();for(let e of r.keys())t===e.toLowerCase()&&(n=r.get(e))}return n}return null}return e.warcHeaders.headers.get(t)||null}},Kt=class extends qt{constructor(t,e){super(t,e);for(let t of this.fields)if(t.startsWith("http:")){this.parseHttp=!0;break}}},Xt="urlkey,timestamp,url,mime,status,digest,length,offset,filename".split(","),Yt="urlkey,timestamp,url,mime,status,digest,redirect,meta,length,offset,filename".split(","),Jt=class extends Kt{constructor(t){switch(super(t,Xt),this.includeAll=!!t?.all,this.overrideIndexForAll=!!t?.all,this.parseHttp=!0,this.noSurt=!!t?.noSurt,this._lastRecord=null,t?.format){case"cdxj":this.serialize=this.serializeCDXJ;break;case"cdx":this.serialize=this.serializeCDX11}}async*iterRecords(t,e){this._lastRecord=null;for await(let r of t){await r.readFully();let i=this.indexRecord(r,t,e);i&&(yield i)}let r=this.indexRecord(null,t,e);r&&(yield r)}filterRecord(t){if(this.includeAll)return!0;let e=t.warcType;return!("request"===e||"warcinfo"===e||("metadata"===e||"resource"===e)&&"application/warc-fields"===t.warcContentType)}indexRecord(t,e,r){if(this.overrideIndexForAll)return t?super.indexRecord(t,e,r):null;let i=this._lastRecord;if(this._lastRecord=t,t&&(t._offset=e.offset,t._length=e.recordLength),!i)return null;if(!t||i.warcTargetURI!=t.warcTargetURI)return this.indexRecordPair(i,null,e,r);let n=t.warcType,s=i.warcType;return"request"!==n||"response"!==s&&"revisit"!==s?"response"!==n&&"revisit"!==n||"request"!==s?this.indexRecordPair(i,null,e,r):(this._lastRecord=null,this.indexRecordPair(t,i,e,r)):(this._lastRecord=null,this.indexRecordPair(i,t,e,r))}indexRecordPair(t,e,r,i){let n,s,o=t.warcTargetURI||"";if(e?.httpHeaders&&"GET"!==e.httpHeaders.method){let t={url:o,method:e.httpHeaders.method,headers:e.httpHeaders.headers,postData:e.payload};n=t.method,pt(t)&&(s=t.requestBody,o=t.url)}t._urlkey=o;let a=super.indexRecord(t,r,i);if(a&&(void 0!==t._offset&&(a.offset=t._offset,a.length=t._length),n&&(a.method=n),s&&(a.requestBody=s),e&&this.reqFields.length))for(let t of this.reqFields)this.setField(t,e,a);return a}serializeCDXJ(t){let{urlkey:e,timestamp:r}=t;return delete t.urlkey,delete t.timestamp,`${e} ${r} ${JSON.stringify(t,(t,e)=>["offset","length","status"].includes(t)?null==e?"":""+e:e)}\n`}serializeCDX11(t){let e=[];for(let r of Yt)e.push(null!=t[r]?t[r]:"-");return e.join(" ")+"\n"}getField(t,e){let r=null;switch(t){case"urlkey":return r=e._urlkey||e.warcTargetURI||null,this.noSurt||null===r?r:ut(r);case"timestamp":return r=e.warcDate??"",r.replace(/[-:T]/g,"").slice(0,14);case"url":return e.warcTargetURI;case"mime":switch(e.warcType){case"revisit":return"warc/revisit";case"response":case"request":t="http:content-type";break;default:return e.warcContentType}return r=super.getField(t,e),r?r.toString().split(";",1)[0]?.trim():null;case"status":return super.getField("http:status",e);case"referrer":return super.getField("req.http:referer",e);case"digest":return r=e.warcPayloadDigest,r?r.split(":",2)[1]:null;default:return super.getField(t,e)}}};async function Zt(t,e,r){const i=t;try{"chunked"===r&&(t=function(t){let e=0,r=0;const i=new TextDecoder("utf-8");for(;e<t.length;){let n=e;for(;t[n]>=48&&t[n]<=57||t[n]>=65&&t[n]<=70||t[n]>=97&&t[n]<=102;)n++;if(0===n)return t;if(13!=t[n]||10!=t[n+1])return t;n+=2;const s=parseInt(i.decode(t.subarray(e,n)),16);if(0==s)break;t.set(t.subarray(n,n+s),r),n+=s,r+=s,13==t[n]&&10==t[n+1]&&(n+=2),e=n}return t.subarray(0,r)}(t))}catch(t){console.log("Chunk-Encoding Ignored: "+t)}try{if("br"===e)0===(t=M()(t)).length&&(t=i);else if("gzip"===e||"gzip"===r){const e=new(H().Inflate);e.push(t,!0),e.result&&!e.err&&(t=e.result)}}catch(t){console.log("Content-Encoding Ignored: "+t)}return t}var $t=r(6454);function te(t){let e,r;const i=t.response,n=i?.extraOpts;if(n&&(e=n.adaptive_max_resolution||n.maxRes,r=n.adaptive_max_bandwidth||n.maxBand,e&&r))return{maxRes:e,maxBand:r};let s;return s=t.response&&!t.response.isLive?{maxRes:921600,maxBand:2e6}:{maxRes:412800,maxBand:1e6},t.save&&(t.save.maxRes=s.maxRes,t.save.maxBand=s.maxBand),s}function ee(t,e){const r=/#EXT-X-STREAM-INF:(?:.*[,])?BANDWIDTH=([\d]+)/,i=/RESOLUTION=([\d]+)x([\d]+)/,{maxRes:n,maxBand:s}=te(e),o=n||s,a=[];let c=0;const l=[],h=t.trimEnd().split("\n");for(const t of h){const s=t.match(r);if(!s){e.rewriteUrl&&!t.startsWith("#")&&(h[c]=e.rewriteUrl(t)),c+=1;continue}a.push(c);const o=Number(s[1]),u=t.match(i),p=u?Number(u[1])*Number(u[2]):0;l.push({value:n?p:o,index:c}),c+=1}l.sort((t,e)=>t.value-e.value);let u=null,p=null;for(const t of l){if(t.value>o)break;p!=t.value&&(p=t.value,u=t.index)}null===u&&l.length>0&&(u=l[0].index),a.reverse();for(const t of a)t!==u&&h.splice(t,2);return h.join("\n")}const re={ignoreAttributes:!1,removeNSPrefix:!1,format:!1,suppressEmptyNode:!0,suppressBooleanAttributes:!1};function ie(t,e,r){try{return function(t,e,r){const i=new $t.XMLParser(re).parse(t),{maxRes:n,maxBand:s}=te(e);let o,a=null,c=0,l=0;o=Array.isArray(i.MPD.Period.AdaptationSet)?i.MPD.Period.AdaptationSet:[i.MPD.Period.AdaptationSet];for(const t of o){let e;a=null,c=0,l=0,e=Array.isArray(t.Representation)?t.Representation:[t.Representation];for(const t of e){const e=Number(t["@_width"]||"0")*Number(t["@_height"]||"0"),r=Number(t["@_bandwidth"]||"0");e&&n&&e<=n?e>c&&(c=e,l=r,a=t):r<=s&&r>l&&(c=e,l=r,a=t)}a&&Array.isArray(r)&&r.push(a["@_id"]),a&&(t.Representation=[a])}const h=new $t.XMLBuilder(re),u=h.build(i).trim();return u.slice(0,5).toLowerCase().startsWith("<?xml")?u:"<?xml version='1.0' encoding='UTF-8'?>\n"+u}(t,e,r)}catch(e){return console.log(e),t}}const ne=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/ytplayer.load\(\);/,le('ytplayer.config.args.dash = "0"; ytplayer.config.args.dashmpd = ""; {0}')],[/yt\.setConfig.*PLAYER_CONFIG.*args":\s*{/,le('{0} "dash": "0", dashmpd: "", ')],[/(?:"player":|ytplayer\.config).*"args":\s*{/,le('{0}"dash":"0","dashmpd":"",')],[/yt\.setConfig.*PLAYER_VARS.*?{/,le('{0}"dash":"0","dashmpd":"",')],[/ytplayer.config={args:\s*{/,le('{0}"dash":"0","dashmpd":"",')],[/"0"\s*?==\s*?\w+\.dash&&/m,le("1&&")]]},{contains:["player.vimeo.com/video/"],rxRules:[[/^\{.+\}$/,function(t){let e;try{e=JSON.parse(t)}catch(e){return t}if(e?.request?.files){const t=e.request.files;if("object"==typeof t.progressive&&t.progressive.length)return t.dash&&(t.__dash=t.dash,delete t.dash),t.hls&&(t.__hls=t.hls,delete t.hls),JSON.stringify(e)}return t.replace(/query_string_ranges=1/g,"query_string_ranges=0")}]]},{contains:["master.json?query_string_ranges=0","master.json?base64"],rxRules:[[/^\{.+\}$/,function(t,e){if(!e)return t;let r=null;const i=ue(e);try{r=JSON.parse(t),console.log("manifest",r)}catch(e){return t}function n(t,e,r){if(!t)return null;let i=null,n=0;for(const s of t)s.mime_type==r&&s.bitrate>n&&s.bitrate<=e&&(n=s.bitrate,i=s);return i?[i]:t}return r.video=n(r.video,i,"video/mp4"),r.audio=n(r.audio,i,"audio/mp4"),JSON.stringify(r)}]]},{contains:["facebook.com/","fbsbx.com/"],rxRules:[[/"dash_manifests.*?,"failure_reason":null}]/,function(t,e){const r="/MPD>",i=t.indexOf("\\u003C?xml"),n=t.indexOf(r,i)+5;if(n<5)return t;let s=ie(JSON.parse('"'+t.slice(i,n)+'"'),e);s=JSON.stringify(s).replaceAll("<","\\u003C").slice(1,-1);const o=t.slice(0,i)+s+t.slice(n),a=Math.max(0,t.length-o.length);return o+" ".repeat(a)}],[/"playlist/,he('"playli__')],[/"debugNoBatching\s?":(?:false|0)/,he('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,he('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,he('"maxBatchSize":1')]]},{contains:["instagram.com/"],rxRules:[[/"is_dash_eligible":(?:true|1)/,he('"is_dash_eligible":0')],[/"debugNoBatching\s?":(?:false|0)/,he('"debugNoBatching":1')],[/"bulkRouteFetchBatchSize\s?":(?:[^{},]+)/,he('"bulkRouteFetchBatchSize":1')],[/"maxBatchSize\s?":(?:[^{},]+)/,he('"maxBatchSize":1')]]},{contains:["api.twitter.com/2/","twitter.com/i/api/2/","twitter.com/i/api/graphql/","api.x.com/2/","x.com/i/api/2/","x.com/i/api/graphql/"],rxRules:[[/"video_info":.*?}]}/,pe('"video_info":')]]},{contains:["cdn.syndication.twimg.com/tweet-result"],rxRules:[[/"video":.*?viewCount":\d+}/,pe('"video":')]]},{contains:["/vqlweb.js"],rxRules:[[/\b\w+\.updatePortSize\(\);this\.updateApplicationSize\(\)(?![*])/gim,le("/*{0}*/")]]}],se=' ;Object.defineProperty(MediaSource, "isTypeSupported", {value: () => false, configurable: false, writable: false});',oe=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/[^"]<head.*?>/,t=>`\n ${t}<script>${se}<\/script>\n `]]},...ne],ae=[{contains:/video.*fbcdn.net/,start:"bytestart",end:"byteend"}];function ce(t){if(!t)return null;for(const e of ae){const{contains:r,start:i,end:n}=e;if(t.match(r))return{start:i,end:n}}return null}function le(t){return e=>t.replace("{0}",e)}function he(t){return e=>{const r=Math.max(0,e.length-t.length);return t+" ".repeat(r)}}function ue(t){let e=5e6;const r=t.response,i=r?.extraOpts;return t.save?t.save.maxBitrate=e:i?.maxBitrate&&(e=i.maxBitrate),e}function pe(t){return(e,r)=>{if(!r)return e;const i=e;try{const i=/([\d]+)x([\d]+)/,n=ue(r);e=e.slice(t.length);const s=JSON.parse(e);let o=null,a=0;for(const t of s.variants)if(!(t.content_type&&"video/mp4"!==t.content_type||t.type&&"video/mp4"!==t.type))if(t.bitrate&&t.bitrate>a&&t.bitrate<=n)o=t,a=t.bitrate;else if(t.src){const e=i.exec(t.src);if(e){const r=Number(e[1])*Number(e[2]);r>a&&(a=r,o=t)}}return o&&(s.variants=[o]),t+JSON.stringify(s)}catch(t){return console.warn("rewriter error: ",t),i}}}class de{rwRules;RewriterCls;rewriters=new Map;defaultRewriter;constructor(t,e){this.rwRules=e||ne,this.RewriterCls=t,this._initRules()}_initRules(){this.rewriters=new Map;for(const t of this.rwRules)t.rxRules&&this.rewriters.set(t,new this.RewriterCls(t.rxRules));this.defaultRewriter=new this.RewriterCls}getCustomRewriter(t){for(const e of this.rwRules)if(e.contains)for(const r of e.contains)if(t.indexOf(r)>=0){const t=this.rewriters.get(e);if(t)return t}return null}getRewriter(t){return this.getCustomRewriter(t)||this.defaultRewriter}}class fe{rules;rx=null;constructor(t){this.rules=t||null,this.rules&&this.compileRules()}compileRules(){let t="";if(!this.rules)return;for(const e of this.rules)t&&(t+="|"),t+=`(${e[0].source})`;const e=`(?:${t})`;this.rx=new RegExp(e,"gm")}doReplace(t,e,r){const i=e[e.length-2],n=e[e.length-1];for(let t=0;t<this.rules.length;t++){const s=e[t];if(!s)continue;const o=this.rules[t][1].call(this,s,r,i,n);if(o)return o}return console.warn(`rx no match found for ${t} - rx rule contains extra matching group?`),t}rewrite(t,e){return this.rx?t.replace(this.rx,(t,...r)=>this.doReplace(t,r,e)):t}}var ge=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239],me=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],ye="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟍꟐꟑꟓꟕ-Ƛꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",we={3:"abstract boolean byte char class double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile",5:"class enum extends super const export import",6:"enum",strict:"implements interface let package private protected public static yield",strictBind:"eval arguments"},Ae="break case catch continue debugger default do else finally for function if return switch throw try var while with null true false instanceof typeof void delete new in this",be={5:Ae,"5module":Ae+" export import",6:Ae+" const class extends export import super"},ve=/^in(stanceof)?$/,Ee=new RegExp("["+ye+"]"),_e=new RegExp("["+ye+"‌‍·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・]");function xe(t,e){for(var r=65536,i=0;i<e.length;i+=2){if((r+=e[i])>t)return!1;if((r+=e[i+1])>=t)return!0}return!1}function Ie(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&Ee.test(String.fromCharCode(t)):!1!==e&&xe(t,me)))}function Se(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&_e.test(String.fromCharCode(t)):!1!==e&&(xe(t,me)||xe(t,ge)))))}var Te=function(t,e){void 0===e&&(e={}),this.label=t,this.keyword=e.keyword,this.beforeExpr=!!e.beforeExpr,this.startsExpr=!!e.startsExpr,this.isLoop=!!e.isLoop,this.isAssign=!!e.isAssign,this.prefix=!!e.prefix,this.postfix=!!e.postfix,this.binop=e.binop||null,this.updateContext=null};function Ce(t,e){return new Te(t,{beforeExpr:!0,binop:e})}var Re={beforeExpr:!0},ke={startsExpr:!0},Be={};function Ne(t,e){return void 0===e&&(e={}),e.keyword=t,Be[t]=new Te(t,e)}var Oe={num:new Te("num",ke),regexp:new Te("regexp",ke),string:new Te("string",ke),name:new Te("name",ke),privateId:new Te("privateId",ke),eof:new Te("eof"),bracketL:new Te("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new Te("]"),braceL:new Te("{",{beforeExpr:!0,startsExpr:!0}),braceR:new Te("}"),parenL:new Te("(",{beforeExpr:!0,startsExpr:!0}),parenR:new Te(")"),comma:new Te(",",Re),semi:new Te(";",Re),colon:new Te(":",Re),dot:new Te("."),question:new Te("?",Re),questionDot:new Te("?."),arrow:new Te("=>",Re),template:new Te("template"),invalidTemplate:new Te("invalidTemplate"),ellipsis:new Te("...",Re),backQuote:new Te("`",ke),dollarBraceL:new Te("${",{beforeExpr:!0,startsExpr:!0}),eq:new Te("=",{beforeExpr:!0,isAssign:!0}),assign:new Te("_=",{beforeExpr:!0,isAssign:!0}),incDec:new Te("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new Te("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:Ce("||",1),logicalAND:Ce("&&",2),bitwiseOR:Ce("|",3),bitwiseXOR:Ce("^",4),bitwiseAND:Ce("&",5),equality:Ce("==/!=/===/!==",6),relational:Ce("</>/<=/>=",7),bitShift:Ce("<</>>/>>>",8),plusMin:new Te("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:Ce("%",10),star:Ce("*",10),slash:Ce("/",10),starstar:new Te("**",{beforeExpr:!0}),coalesce:Ce("??",1),_break:Ne("break"),_case:Ne("case",Re),_catch:Ne("catch"),_continue:Ne("continue"),_debugger:Ne("debugger"),_default:Ne("default",Re),_do:Ne("do",{isLoop:!0,beforeExpr:!0}),_else:Ne("else",Re),_finally:Ne("finally"),_for:Ne("for",{isLoop:!0}),_function:Ne("function",ke),_if:Ne("if"),_return:Ne("return",Re),_switch:Ne("switch"),_throw:Ne("throw",Re),_try:Ne("try"),_var:Ne("var"),_const:Ne("const"),_while:Ne("while",{isLoop:!0}),_with:Ne("with"),_new:Ne("new",{beforeExpr:!0,startsExpr:!0}),_this:Ne("this",ke),_super:Ne("super",ke),_class:Ne("class",ke),_extends:Ne("extends",Re),_export:Ne("export"),_import:Ne("import",ke),_null:Ne("null",ke),_true:Ne("true",ke),_false:Ne("false",ke),_in:Ne("in",{beforeExpr:!0,binop:7}),_instanceof:Ne("instanceof",{beforeExpr:!0,binop:7}),_typeof:Ne("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:Ne("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:Ne("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},De=/\r\n?|\n|\u2028|\u2029/,Pe=new RegExp(De.source,"g");function Le(t){return 10===t||13===t||8232===t||8233===t}function Ue(t,e,r){void 0===r&&(r=t.length);for(var i=e;i<r;i++){var n=t.charCodeAt(i);if(Le(n))return i<r-1&&13===n&&10===t.charCodeAt(i+1)?i+2:i+1}return-1}var Me=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,Fe=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,He=Object.prototype,je=He.hasOwnProperty,We=He.toString,Qe=Object.hasOwn||function(t,e){return je.call(t,e)},ze=Array.isArray||function(t){return"[object Array]"===We.call(t)},Ve=Object.create(null);function Ge(t){return Ve[t]||(Ve[t]=new RegExp("^(?:"+t.replace(/ /g,"|")+")$"))}function qe(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}var Ke=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,Xe=function(t,e){this.line=t,this.column=e};Xe.prototype.offset=function(t){return new Xe(this.line,this.column+t)};var Ye=function(t,e,r){this.start=e,this.end=r,null!==t.sourceFile&&(this.source=t.sourceFile)};function Je(t,e){for(var r=1,i=0;;){var n=Ue(t,i,e);if(n<0)return new Xe(r,e-i);++r,i=n}}var Ze={ecmaVersion:null,sourceType:"script",onInsertedSemicolon:null,onTrailingComma:null,allowReserved:null,allowReturnOutsideFunction:!1,allowImportExportEverywhere:!1,allowAwaitOutsideFunction:null,allowSuperOutsideMethod:null,allowHashBang:!1,checkPrivateFields:!0,locations:!1,onToken:null,onComment:null,ranges:!1,program:null,sourceFile:null,directSourceFile:null,preserveParens:!1},$e=!1;function tr(t){var e={};for(var r in Ze)e[r]=t&&Qe(t,r)?t[r]:Ze[r];if("latest"===e.ecmaVersion?e.ecmaVersion=1e8:null==e.ecmaVersion?(!$e&&"object"==typeof console&&console.warn&&($e=!0,console.warn("Since Acorn 8.0.0, options.ecmaVersion is required.\nDefaulting to 2020, but this will stop working in the future.")),e.ecmaVersion=11):e.ecmaVersion>=2015&&(e.ecmaVersion-=2009),null==e.allowReserved&&(e.allowReserved=e.ecmaVersion<5),t&&null!=t.allowHashBang||(e.allowHashBang=e.ecmaVersion>=14),ze(e.onToken)){var i=e.onToken;e.onToken=function(t){return i.push(t)}}return ze(e.onComment)&&(e.onComment=function(t,e){return function(r,i,n,s,o,a){var c={type:r?"Block":"Line",value:i,start:n,end:s};t.locations&&(c.loc=new Ye(this,o,a)),t.ranges&&(c.range=[n,s]),e.push(c)}}(e,e.onComment)),e}var er=256,rr=259;function ir(t,e){return 2|(t?4:0)|(e?8:0)}var nr=function(t,e,r){this.options=t=tr(t),this.sourceFile=t.sourceFile,this.keywords=Ge(be[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var i="";!0!==t.allowReserved&&(i=we[t.ecmaVersion>=6?6:5===t.ecmaVersion?5:3],"module"===t.sourceType&&(i+=" await")),this.reservedWords=Ge(i);var n=(i?i+" ":"")+we.strict;this.reservedWordsStrict=Ge(n),this.reservedWordsStrictBind=Ge(n+" "+we.strictBind),this.input=String(e),this.containsEsc=!1,r?(this.pos=r,this.lineStart=this.input.lastIndexOf("\n",r-1)+1,this.curLine=this.input.slice(0,this.lineStart).split(De).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=Oe.eof,this.value=null,this.start=this.end=this.pos,this.startLoc=this.endLoc=this.curPosition(),this.lastTokEndLoc=this.lastTokStartLoc=null,this.lastTokStart=this.lastTokEnd=this.pos,this.context=this.initialContext(),this.exprAllowed=!0,this.inModule="module"===t.sourceType,this.strict=this.inModule||this.strictDirective(this.pos),this.potentialArrowAt=-1,this.potentialArrowInForAwait=!1,this.yieldPos=this.awaitPos=this.awaitIdentPos=0,this.labels=[],this.undefinedExports=Object.create(null),0===this.pos&&t.allowHashBang&&"#!"===this.input.slice(0,2)&&this.skipLineComment(2),this.scopeStack=[],this.enterScope(1),this.regexpState=null,this.privateNameStack=[]},sr={inFunction:{configurable:!0},inGenerator:{configurable:!0},inAsync:{configurable:!0},canAwait:{configurable:!0},allowSuper:{configurable:!0},allowDirectSuper:{configurable:!0},treatFunctionsAsVar:{configurable:!0},allowNewDotTarget:{configurable:!0},inClassStaticBlock:{configurable:!0}};nr.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},sr.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},sr.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0},sr.inAsync.get=function(){return(4&this.currentVarScope().flags)>0},sr.canAwait.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t].flags;if(768&e)return!1;if(2&e)return(4&e)>0}return this.inModule&&this.options.ecmaVersion>=13||this.options.allowAwaitOutsideFunction},sr.allowSuper.get=function(){return(64&this.currentThisScope().flags)>0||this.options.allowSuperOutsideMethod},sr.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},sr.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},sr.allowNewDotTarget.get=function(){for(var t=this.scopeStack.length-1;t>=0;t--){var e=this.scopeStack[t].flags;if(768&e||2&e&&!(16&e))return!0}return!1},sr.inClassStaticBlock.get=function(){return(this.currentVarScope().flags&er)>0},nr.extend=function(){for(var t=[],e=arguments.length;e--;)t[e]=arguments[e];for(var r=this,i=0;i<t.length;i++)r=t[i](r);return r},nr.parse=function(t,e){return new this(e,t).parse()},nr.parseExpressionAt=function(t,e,r){var i=new this(r,t,e);return i.nextToken(),i.parseExpression()},nr.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(nr.prototype,sr);var or=nr.prototype,ar=/^(?:'((?:\\[^]|[^'\\])*?)'|"((?:\\[^]|[^"\\])*?)")/;or.strictDirective=function(t){if(this.options.ecmaVersion<5)return!1;for(;;){Fe.lastIndex=t,t+=Fe.exec(this.input)[0].length;var e=ar.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){Fe.lastIndex=t+e[0].length;var r=Fe.exec(this.input),i=r.index+r[0].length,n=this.input.charAt(i);return";"===n||"}"===n||De.test(r[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}t+=e[0].length,Fe.lastIndex=t,t+=Fe.exec(this.input)[0].length,";"===this.input[t]&&t++}},or.eat=function(t){return this.type===t&&(this.next(),!0)},or.isContextual=function(t){return this.type===Oe.name&&this.value===t&&!this.containsEsc},or.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},or.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},or.canInsertSemicolon=function(){return this.type===Oe.eof||this.type===Oe.braceR||De.test(this.input.slice(this.lastTokEnd,this.start))},or.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},or.semicolon=function(){this.eat(Oe.semi)||this.insertSemicolon()||this.unexpected()},or.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},or.expect=function(t){this.eat(t)||this.unexpected()},or.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")};var cr=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};or.checkPatternErrors=function(t,e){if(t){t.trailingComma>-1&&this.raiseRecoverable(t.trailingComma,"Comma is not permitted after the rest element");var r=e?t.parenthesizedAssign:t.parenthesizedBind;r>-1&&this.raiseRecoverable(r,e?"Assigning to rvalue":"Parenthesized pattern")}},or.checkExpressionErrors=function(t,e){if(!t)return!1;var r=t.shorthandAssign,i=t.doubleProto;if(!e)return r>=0||i>=0;r>=0&&this.raise(r,"Shorthand property assignments are valid only in destructuring patterns"),i>=0&&this.raiseRecoverable(i,"Redefinition of __proto__ property")},or.checkYieldAwaitInDefaultParams=function(){this.yieldPos&&(!this.awaitPos||this.yieldPos<this.awaitPos)&&this.raise(this.yieldPos,"Yield expression cannot be a default value"),this.awaitPos&&this.raise(this.awaitPos,"Await expression cannot be a default value")},or.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var lr=nr.prototype;lr.parseTopLevel=function(t){var e=Object.create(null);for(t.body||(t.body=[]);this.type!==Oe.eof;){var r=this.parseStatement(null,!0,e);t.body.push(r)}if(this.inModule)for(var i=0,n=Object.keys(this.undefinedExports);i<n.length;i+=1){var s=n[i];this.raiseRecoverable(this.undefinedExports[s].start,"Export '"+s+"' is not defined")}return this.adaptDirectivePrologue(t.body),this.next(),t.sourceType=this.options.sourceType,this.finishNode(t,"Program")};var hr={kind:"loop"},ur={kind:"switch"};lr.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;Fe.lastIndex=this.pos;var e=Fe.exec(this.input),r=this.pos+e[0].length,i=this.input.charCodeAt(r);if(91===i||92===i)return!0;if(t)return!1;if(123===i||i>55295&&i<56320)return!0;if(Ie(i,!0)){for(var n=r+1;Se(i=this.input.charCodeAt(n),!0);)++n;if(92===i||i>55295&&i<56320)return!0;var s=this.input.slice(r,n);if(!ve.test(s))return!0}return!1},lr.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;Fe.lastIndex=this.pos;var t,e=Fe.exec(this.input),r=this.pos+e[0].length;return!(De.test(this.input.slice(this.pos,r))||"function"!==this.input.slice(r,r+8)||r+8!==this.input.length&&(Se(t=this.input.charCodeAt(r+8))||t>55295&&t<56320))},lr.isUsingKeyword=function(t,e){if(this.options.ecmaVersion<17||!this.isContextual(t?"await":"using"))return!1;Fe.lastIndex=this.pos;var r=Fe.exec(this.input),i=this.pos+r[0].length;if(De.test(this.input.slice(this.pos,i)))return!1;if(t){var n,s=i+5;if("using"!==this.input.slice(i,s)||s===this.input.length||Se(n=this.input.charCodeAt(s))||n>55295&&n<56320)return!1;Fe.lastIndex=s;var o=Fe.exec(this.input);if(o&&De.test(this.input.slice(s,s+o[0].length)))return!1}if(e){var a,c=i+2;if(!("of"!==this.input.slice(i,c)||c!==this.input.length&&(Se(a=this.input.charCodeAt(c))||a>55295&&a<56320)))return!1}var l=this.input.charCodeAt(i);return Ie(l,!0)||92===l},lr.isAwaitUsing=function(t){return this.isUsingKeyword(!0,t)},lr.isUsing=function(t){return this.isUsingKeyword(!1,t)},lr.parseStatement=function(t,e,r){var i,n=this.type,s=this.startNode();switch(this.isLet(t)&&(n=Oe._var,i="let"),n){case Oe._break:case Oe._continue:return this.parseBreakContinueStatement(s,n.keyword);case Oe._debugger:return this.parseDebuggerStatement(s);case Oe._do:return this.parseDoStatement(s);case Oe._for:return this.parseForStatement(s);case Oe._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!t);case Oe._class:return t&&this.unexpected(),this.parseClass(s,!0);case Oe._if:return this.parseIfStatement(s);case Oe._return:return this.parseReturnStatement(s);case Oe._switch:return this.parseSwitchStatement(s);case Oe._throw:return this.parseThrowStatement(s);case Oe._try:return this.parseTryStatement(s);case Oe._const:case Oe._var:return i=i||this.value,t&&"var"!==i&&this.unexpected(),this.parseVarStatement(s,i);case Oe._while:return this.parseWhileStatement(s);case Oe._with:return this.parseWithStatement(s);case Oe.braceL:return this.parseBlock(!0,s);case Oe.semi:return this.parseEmptyStatement(s);case Oe._export:case Oe._import:if(this.options.ecmaVersion>10&&n===Oe._import){Fe.lastIndex=this.pos;var o=Fe.exec(this.input),a=this.pos+o[0].length,c=this.input.charCodeAt(a);if(40===c||46===c)return this.parseExpressionStatement(s,this.parseExpression())}return this.options.allowImportExportEverywhere||(e||this.raise(this.start,"'import' and 'export' may only appear at the top level"),this.inModule||this.raise(this.start,"'import' and 'export' may appear only with 'sourceType: module'")),n===Oe._import?this.parseImport(s):this.parseExport(s,r);default:if(this.isAsyncFunction())return t&&this.unexpected(),this.next(),this.parseFunctionStatement(s,!0,!t);var l=this.isAwaitUsing(!1)?"await using":this.isUsing(!1)?"using":null;if(l)return e&&"script"===this.options.sourceType&&this.raise(this.start,"Using declaration cannot appear in the top level when source type is `script`"),"await using"===l&&(this.canAwait||this.raise(this.start,"Await using cannot appear outside of async function"),this.next()),this.next(),this.parseVar(s,!1,l),this.semicolon(),this.finishNode(s,"VariableDeclaration");var h=this.value,u=this.parseExpression();return n===Oe.name&&"Identifier"===u.type&&this.eat(Oe.colon)?this.parseLabeledStatement(s,h,u,t):this.parseExpressionStatement(s,u)}},lr.parseBreakContinueStatement=function(t,e){var r="break"===e;this.next(),this.eat(Oe.semi)||this.insertSemicolon()?t.label=null:this.type!==Oe.name?this.unexpected():(t.label=this.parseIdent(),this.semicolon());for(var i=0;i<this.labels.length;++i){var n=this.labels[i];if(null==t.label||n.name===t.label.name){if(null!=n.kind&&(r||"loop"===n.kind))break;if(t.label&&r)break}}return i===this.labels.length&&this.raise(t.start,"Unsyntactic "+e),this.finishNode(t,r?"BreakStatement":"ContinueStatement")},lr.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},lr.parseDoStatement=function(t){return this.next(),this.labels.push(hr),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(Oe._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(Oe.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},lr.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(hr),this.enterScope(0),this.expect(Oe.parenL),this.type===Oe.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var r=this.isLet();if(this.type===Oe._var||this.type===Oe._const||r){var i=this.startNode(),n=r?"let":this.value;return this.next(),this.parseVar(i,!0,n),this.finishNode(i,"VariableDeclaration"),this.parseForAfterInit(t,i,e)}var s=this.isContextual("let"),o=!1,a=this.isUsing(!0)?"using":this.isAwaitUsing(!0)?"await using":null;if(a){var c=this.startNode();return this.next(),"await using"===a&&this.next(),this.parseVar(c,!0,a),this.finishNode(c,"VariableDeclaration"),this.parseForAfterInit(t,c,e)}var l=this.containsEsc,h=new cr,u=this.start,p=e>-1?this.parseExprSubscripts(h,"await"):this.parseExpression(!0,h);return this.type===Oe._in||(o=this.options.ecmaVersion>=6&&this.isContextual("of"))?(e>-1?(this.type===Oe._in&&this.unexpected(e),t.await=!0):o&&this.options.ecmaVersion>=8&&(p.start!==u||l||"Identifier"!==p.type||"async"!==p.name?this.options.ecmaVersion>=9&&(t.await=!1):this.unexpected()),s&&o&&this.raise(p.start,"The left-hand side of a for-of loop may not start with 'let'."),this.toAssignable(p,!1,h),this.checkLValPattern(p),this.parseForIn(t,p)):(this.checkExpressionErrors(h,!0),e>-1&&this.unexpected(e),this.parseFor(t,p))},lr.parseForAfterInit=function(t,e,r){return(this.type===Oe._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===e.declarations.length?(this.options.ecmaVersion>=9&&(this.type===Oe._in?r>-1&&this.unexpected(r):t.await=r>-1),this.parseForIn(t,e)):(r>-1&&this.unexpected(r),this.parseFor(t,e))},lr.parseFunctionStatement=function(t,e,r){return this.next(),this.parseFunction(t,dr|(r?0:fr),!1,e)},lr.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(Oe._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},lr.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(Oe.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},lr.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(Oe.braceL),this.labels.push(ur),this.enterScope(0);for(var r=!1;this.type!==Oe.braceR;)if(this.type===Oe._case||this.type===Oe._default){var i=this.type===Oe._case;e&&this.finishNode(e,"SwitchCase"),t.cases.push(e=this.startNode()),e.consequent=[],this.next(),i?e.test=this.parseExpression():(r&&this.raiseRecoverable(this.lastTokStart,"Multiple default clauses"),r=!0,e.test=null),this.expect(Oe.colon)}else e||this.unexpected(),e.consequent.push(this.parseStatement(null));return this.exitScope(),e&&this.finishNode(e,"SwitchCase"),this.next(),this.labels.pop(),this.finishNode(t,"SwitchStatement")},lr.parseThrowStatement=function(t){return this.next(),De.test(this.input.slice(this.lastTokEnd,this.start))&&this.raise(this.lastTokEnd,"Illegal newline after throw"),t.argument=this.parseExpression(),this.semicolon(),this.finishNode(t,"ThrowStatement")};var pr=[];lr.parseCatchClauseParam=function(){var t=this.parseBindingAtom(),e="Identifier"===t.type;return this.enterScope(e?32:0),this.checkLValPattern(t,e?4:2),this.expect(Oe.parenR),t},lr.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===Oe._catch){var e=this.startNode();this.next(),this.eat(Oe.parenL)?e.param=this.parseCatchClauseParam():(this.options.ecmaVersion<10&&this.unexpected(),e.param=null,this.enterScope(0)),e.body=this.parseBlock(!1),this.exitScope(),t.handler=this.finishNode(e,"CatchClause")}return t.finalizer=this.eat(Oe._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},lr.parseVarStatement=function(t,e,r){return this.next(),this.parseVar(t,!1,e,r),this.semicolon(),this.finishNode(t,"VariableDeclaration")},lr.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(hr),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},lr.parseWithStatement=function(t){return this.strict&&this.raise(this.start,"'with' in strict mode"),this.next(),t.object=this.parseParenExpression(),t.body=this.parseStatement("with"),this.finishNode(t,"WithStatement")},lr.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},lr.parseLabeledStatement=function(t,e,r,i){for(var n=0,s=this.labels;n<s.length;n+=1){s[n].name===e&&this.raise(r.start,"Label '"+e+"' is already declared")}for(var o=this.type.isLoop?"loop":this.type===Oe._switch?"switch":null,a=this.labels.length-1;a>=0;a--){var c=this.labels[a];if(c.statementStart!==t.start)break;c.statementStart=this.start,c.kind=o}return this.labels.push({name:e,kind:o,statementStart:this.start}),t.body=this.parseStatement(i?-1===i.indexOf("label")?i+"label":i:"label"),this.labels.pop(),t.label=r,this.finishNode(t,"LabeledStatement")},lr.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},lr.parseBlock=function(t,e,r){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(Oe.braceL),t&&this.enterScope(0);this.type!==Oe.braceR;){var i=this.parseStatement(null);e.body.push(i)}return r&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},lr.parseFor=function(t,e){return t.init=e,this.expect(Oe.semi),t.test=this.type===Oe.semi?null:this.parseExpression(),this.expect(Oe.semi),t.update=this.type===Oe.parenR?null:this.parseExpression(),this.expect(Oe.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},lr.parseForIn=function(t,e){var r=this.type===Oe._in;return this.next(),"VariableDeclaration"===e.type&&null!=e.declarations[0].init&&(!r||this.options.ecmaVersion<8||this.strict||"var"!==e.kind||"Identifier"!==e.declarations[0].id.type)&&this.raise(e.start,(r?"for-in":"for-of")+" loop variable declaration may not have an initializer"),t.left=e,t.right=r?this.parseExpression():this.parseMaybeAssign(),this.expect(Oe.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")},lr.parseVar=function(t,e,r,i){for(t.declarations=[],t.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(Oe.eq)?n.init=this.parseMaybeAssign(e):i||"const"!==r||this.type===Oe._in||this.options.ecmaVersion>=6&&this.isContextual("of")?i||"using"!==r&&"await using"!==r||!(this.options.ecmaVersion>=17)||this.type===Oe._in||this.isContextual("of")?i||"Identifier"===n.id.type||e&&(this.type===Oe._in||this.isContextual("of"))?n.init=null:this.raise(this.lastTokEnd,"Complex binding patterns require an initialization value"):this.raise(this.lastTokEnd,"Missing initializer in "+r+" declaration"):this.unexpected(),t.declarations.push(this.finishNode(n,"VariableDeclarator")),!this.eat(Oe.comma))break}return t},lr.parseVarId=function(t,e){t.id="using"===e||"await using"===e?this.parseIdent():this.parseBindingAtom(),this.checkLValPattern(t.id,"var"===e?1:2,!1)};var dr=1,fr=2;function gr(t,e){var r=e.key.name,i=t[r],n="true";return"MethodDefinition"!==e.type||"get"!==e.kind&&"set"!==e.kind||(n=(e.static?"s":"i")+e.kind),"iget"===i&&"iset"===n||"iset"===i&&"iget"===n||"sget"===i&&"sset"===n||"sset"===i&&"sget"===n?(t[r]="true",!1):!!i||(t[r]=n,!1)}function mr(t,e){var r=t.computed,i=t.key;return!r&&("Identifier"===i.type&&i.name===e||"Literal"===i.type&&i.value===e)}lr.parseFunction=function(t,e,r,i,n){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===Oe.star&&e&fr&&this.unexpected(),t.generator=this.eat(Oe.star)),this.options.ecmaVersion>=8&&(t.async=!!i),e&dr&&(t.id=4&e&&this.type!==Oe.name?null:this.parseIdent(),!t.id||e&fr||this.checkLValSimple(t.id,this.strict||t.generator||t.async?this.treatFunctionsAsVar?1:2:3));var s=this.yieldPos,o=this.awaitPos,a=this.awaitIdentPos;return this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(ir(t.async,t.generator)),e&dr||(t.id=this.type===Oe.name?this.parseIdent():null),this.parseFunctionParams(t),this.parseFunctionBody(t,r,!1,n),this.yieldPos=s,this.awaitPos=o,this.awaitIdentPos=a,this.finishNode(t,e&dr?"FunctionDeclaration":"FunctionExpression")},lr.parseFunctionParams=function(t){this.expect(Oe.parenL),t.params=this.parseBindingList(Oe.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},lr.parseClass=function(t,e){this.next();var r=this.strict;this.strict=!0,this.parseClassId(t,e),this.parseClassSuper(t);var i=this.enterClassBody(),n=this.startNode(),s=!1;for(n.body=[],this.expect(Oe.braceL);this.type!==Oe.braceR;){var o=this.parseClassElement(null!==t.superClass);o&&(n.body.push(o),"MethodDefinition"===o.type&&"constructor"===o.kind?(s&&this.raiseRecoverable(o.start,"Duplicate constructor in the same class"),s=!0):o.key&&"PrivateIdentifier"===o.key.type&&gr(i,o)&&this.raiseRecoverable(o.key.start,"Identifier '#"+o.key.name+"' has already been declared"))}return this.strict=r,this.next(),t.body=this.finishNode(n,"ClassBody"),this.exitClassBody(),this.finishNode(t,e?"ClassDeclaration":"ClassExpression")},lr.parseClassElement=function(t){if(this.eat(Oe.semi))return null;var e=this.options.ecmaVersion,r=this.startNode(),i="",n=!1,s=!1,o="method",a=!1;if(this.eatContextual("static")){if(e>=13&&this.eat(Oe.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===Oe.star?a=!0:i="static"}if(r.static=a,!i&&e>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==Oe.star||this.canInsertSemicolon()?i="async":s=!0),!i&&(e>=9||!s)&&this.eat(Oe.star)&&(n=!0),!i&&!s&&!n){var c=this.value;(this.eatContextual("get")||this.eatContextual("set"))&&(this.isClassElementNameStart()?o=c:i=c)}if(i?(r.computed=!1,r.key=this.startNodeAt(this.lastTokStart,this.lastTokStartLoc),r.key.name=i,this.finishNode(r.key,"Identifier")):this.parseClassElementName(r),e<13||this.type===Oe.parenL||"method"!==o||n||s){var l=!r.static&&mr(r,"constructor"),h=l&&t;l&&"method"!==o&&this.raise(r.key.start,"Constructor can't have get/set modifier"),r.kind=l?"constructor":o,this.parseClassMethod(r,n,s,h)}else this.parseClassField(r);return r},lr.isClassElementNameStart=function(){return this.type===Oe.name||this.type===Oe.privateId||this.type===Oe.num||this.type===Oe.string||this.type===Oe.bracketL||this.type.keyword},lr.parseClassElementName=function(t){this.type===Oe.privateId?("constructor"===this.value&&this.raise(this.start,"Classes can't have an element named '#constructor'"),t.computed=!1,t.key=this.parsePrivateIdent()):this.parsePropertyName(t)},lr.parseClassMethod=function(t,e,r,i){var n=t.key;"constructor"===t.kind?(e&&this.raise(n.start,"Constructor can't be a generator"),r&&this.raise(n.start,"Constructor can't be an async method")):t.static&&mr(t,"prototype")&&this.raise(n.start,"Classes may not have a static property named prototype");var s=t.value=this.parseMethod(e,r,i);return"get"===t.kind&&0!==s.params.length&&this.raiseRecoverable(s.start,"getter should have no params"),"set"===t.kind&&1!==s.params.length&&this.raiseRecoverable(s.start,"setter should have exactly one param"),"set"===t.kind&&"RestElement"===s.params[0].type&&this.raiseRecoverable(s.params[0].start,"Setter cannot use rest params"),this.finishNode(t,"MethodDefinition")},lr.parseClassField=function(t){return mr(t,"constructor")?this.raise(t.key.start,"Classes can't have a field named 'constructor'"):t.static&&mr(t,"prototype")&&this.raise(t.key.start,"Classes can't have a static field named 'prototype'"),this.eat(Oe.eq)?(this.enterScope(576),t.value=this.parseMaybeAssign(),this.exitScope()):t.value=null,this.semicolon(),this.finishNode(t,"PropertyDefinition")},lr.parseClassStaticBlock=function(t){t.body=[];var e=this.labels;for(this.labels=[],this.enterScope(320);this.type!==Oe.braceR;){var r=this.parseStatement(null);t.body.push(r)}return this.next(),this.exitScope(),this.labels=e,this.finishNode(t,"StaticBlock")},lr.parseClassId=function(t,e){this.type===Oe.name?(t.id=this.parseIdent(),e&&this.checkLValSimple(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},lr.parseClassSuper=function(t){t.superClass=this.eat(Oe._extends)?this.parseExprSubscripts(null,!1):null},lr.enterClassBody=function(){var t={declared:Object.create(null),used:[]};return this.privateNameStack.push(t),t.declared},lr.exitClassBody=function(){var t=this.privateNameStack.pop(),e=t.declared,r=t.used;if(this.options.checkPrivateFields)for(var i=this.privateNameStack.length,n=0===i?null:this.privateNameStack[i-1],s=0;s<r.length;++s){var o=r[s];Qe(e,o.name)||(n?n.used.push(o):this.raiseRecoverable(o.start,"Private field '#"+o.name+"' must be declared in an enclosing class"))}},lr.parseExportAllDeclaration=function(t,e){return this.options.ecmaVersion>=11&&(this.eatContextual("as")?(t.exported=this.parseModuleExportName(),this.checkExport(e,t.exported,this.lastTokStart)):t.exported=null),this.expectContextual("from"),this.type!==Oe.string&&this.unexpected(),t.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(t,"ExportAllDeclaration")},lr.parseExport=function(t,e){if(this.next(),this.eat(Oe.star))return this.parseExportAllDeclaration(t,e);if(this.eat(Oe._default))return this.checkExport(e,"default",this.lastTokStart),t.declaration=this.parseExportDefaultDeclaration(),this.finishNode(t,"ExportDefaultDeclaration");if(this.shouldParseExportStatement())t.declaration=this.parseExportDeclaration(t),"VariableDeclaration"===t.declaration.type?this.checkVariableExport(e,t.declaration.declarations):this.checkExport(e,t.declaration.id,t.declaration.id.start),t.specifiers=[],t.source=null,this.options.ecmaVersion>=16&&(t.attributes=[]);else{if(t.declaration=null,t.specifiers=this.parseExportSpecifiers(e),this.eatContextual("from"))this.type!==Oe.string&&this.unexpected(),t.source=this.parseExprAtom(),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause());else{for(var r=0,i=t.specifiers;r<i.length;r+=1){var n=i[r];this.checkUnreserved(n.local),this.checkLocalExport(n.local),"Literal"===n.local.type&&this.raise(n.local.start,"A string literal cannot be used as an exported binding without `from`.")}t.source=null,this.options.ecmaVersion>=16&&(t.attributes=[])}this.semicolon()}return this.finishNode(t,"ExportNamedDeclaration")},lr.parseExportDeclaration=function(t){return this.parseStatement(null)},lr.parseExportDefaultDeclaration=function(){var t;if(this.type===Oe._function||(t=this.isAsyncFunction())){var e=this.startNode();return this.next(),t&&this.next(),this.parseFunction(e,4|dr,!1,t)}if(this.type===Oe._class){var r=this.startNode();return this.parseClass(r,"nullableID")}var i=this.parseMaybeAssign();return this.semicolon(),i},lr.checkExport=function(t,e,r){t&&("string"!=typeof e&&(e="Identifier"===e.type?e.name:e.value),Qe(t,e)&&this.raiseRecoverable(r,"Duplicate export '"+e+"'"),t[e]=!0)},lr.checkPatternExport=function(t,e){var r=e.type;if("Identifier"===r)this.checkExport(t,e,e.start);else if("ObjectPattern"===r)for(var i=0,n=e.properties;i<n.length;i+=1){var s=n[i];this.checkPatternExport(t,s)}else if("ArrayPattern"===r)for(var o=0,a=e.elements;o<a.length;o+=1){var c=a[o];c&&this.checkPatternExport(t,c)}else"Property"===r?this.checkPatternExport(t,e.value):"AssignmentPattern"===r?this.checkPatternExport(t,e.left):"RestElement"===r&&this.checkPatternExport(t,e.argument)},lr.checkVariableExport=function(t,e){if(t)for(var r=0,i=e;r<i.length;r+=1){var n=i[r];this.checkPatternExport(t,n.id)}},lr.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},lr.parseExportSpecifier=function(t){var e=this.startNode();return e.local=this.parseModuleExportName(),e.exported=this.eatContextual("as")?this.parseModuleExportName():e.local,this.checkExport(t,e.exported,e.exported.start),this.finishNode(e,"ExportSpecifier")},lr.parseExportSpecifiers=function(t){var e=[],r=!0;for(this.expect(Oe.braceL);!this.eat(Oe.braceR);){if(r)r=!1;else if(this.expect(Oe.comma),this.afterTrailingComma(Oe.braceR))break;e.push(this.parseExportSpecifier(t))}return e},lr.parseImport=function(t){return this.next(),this.type===Oe.string?(t.specifiers=pr,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===Oe.string?this.parseExprAtom():this.unexpected()),this.options.ecmaVersion>=16&&(t.attributes=this.parseWithClause()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},lr.parseImportSpecifier=function(){var t=this.startNode();return t.imported=this.parseModuleExportName(),this.eatContextual("as")?t.local=this.parseIdent():(this.checkUnreserved(t.imported),t.local=t.imported),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportSpecifier")},lr.parseImportDefaultSpecifier=function(){var t=this.startNode();return t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportDefaultSpecifier")},lr.parseImportNamespaceSpecifier=function(){var t=this.startNode();return this.next(),this.expectContextual("as"),t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportNamespaceSpecifier")},lr.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===Oe.name&&(t.push(this.parseImportDefaultSpecifier()),!this.eat(Oe.comma)))return t;if(this.type===Oe.star)return t.push(this.parseImportNamespaceSpecifier()),t;for(this.expect(Oe.braceL);!this.eat(Oe.braceR);){if(e)e=!1;else if(this.expect(Oe.comma),this.afterTrailingComma(Oe.braceR))break;t.push(this.parseImportSpecifier())}return t},lr.parseWithClause=function(){var t=[];if(!this.eat(Oe._with))return t;this.expect(Oe.braceL);for(var e={},r=!0;!this.eat(Oe.braceR);){if(r)r=!1;else if(this.expect(Oe.comma),this.afterTrailingComma(Oe.braceR))break;var i=this.parseImportAttribute(),n="Identifier"===i.key.type?i.key.name:i.key.value;Qe(e,n)&&this.raiseRecoverable(i.key.start,"Duplicate attribute key '"+n+"'"),e[n]=!0,t.push(i)}return t},lr.parseImportAttribute=function(){var t=this.startNode();return t.key=this.type===Oe.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved),this.expect(Oe.colon),this.type!==Oe.string&&this.unexpected(),t.value=this.parseExprAtom(),this.finishNode(t,"ImportAttribute")},lr.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===Oe.string){var t=this.parseLiteral(this.value);return Ke.test(t.value)&&this.raise(t.start,"An export name cannot include a lone surrogate."),t}return this.parseIdent(!0)},lr.adaptDirectivePrologue=function(t){for(var e=0;e<t.length&&this.isDirectiveCandidate(t[e]);++e)t[e].directive=t[e].expression.raw.slice(1,-1)},lr.isDirectiveCandidate=function(t){return this.options.ecmaVersion>=5&&"ExpressionStatement"===t.type&&"Literal"===t.expression.type&&"string"==typeof t.expression.value&&('"'===this.input[t.start]||"'"===this.input[t.start])};var yr=nr.prototype;yr.toAssignable=function(t,e,r){if(this.options.ecmaVersion>=6&&t)switch(t.type){case"Identifier":this.inAsync&&"await"===t.name&&this.raise(t.start,"Cannot use 'await' as identifier inside an async function");break;case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":break;case"ObjectExpression":t.type="ObjectPattern",r&&this.checkPatternErrors(r,!0);for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.toAssignable(s,e),"RestElement"!==s.type||"ArrayPattern"!==s.argument.type&&"ObjectPattern"!==s.argument.type||this.raise(s.argument.start,"Unexpected token")}break;case"Property":"init"!==t.kind&&this.raise(t.key.start,"Object pattern can't contain getter or setter"),this.toAssignable(t.value,e);break;case"ArrayExpression":t.type="ArrayPattern",r&&this.checkPatternErrors(r,!0),this.toAssignableList(t.elements,e);break;case"SpreadElement":t.type="RestElement",this.toAssignable(t.argument,e),"AssignmentPattern"===t.argument.type&&this.raise(t.argument.start,"Rest elements cannot have a default value");break;case"AssignmentExpression":"="!==t.operator&&this.raise(t.left.end,"Only '=' operator can be used for specifying default value."),t.type="AssignmentPattern",delete t.operator,this.toAssignable(t.left,e);break;case"ParenthesizedExpression":this.toAssignable(t.expression,e,r);break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":if(!e)break;default:this.raise(t.start,"Assigning to rvalue")}else r&&this.checkPatternErrors(r,!0);return t},yr.toAssignableList=function(t,e){for(var r=t.length,i=0;i<r;i++){var n=t[i];n&&this.toAssignable(n,e)}if(r){var s=t[r-1];6===this.options.ecmaVersion&&e&&s&&"RestElement"===s.type&&"Identifier"!==s.argument.type&&this.unexpected(s.argument.start)}return t},yr.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},yr.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==Oe.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},yr.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case Oe.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(Oe.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case Oe.braceL:return this.parseObj(!0)}return this.parseIdent()},yr.parseBindingList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);)if(s?s=!1:this.expect(Oe.comma),e&&this.type===Oe.comma)n.push(null);else{if(r&&this.afterTrailingComma(t))break;if(this.type===Oe.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),n.push(o),this.type===Oe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}n.push(this.parseAssignableListItem(i))}return n},yr.parseAssignableListItem=function(t){var e=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(e),e},yr.parseBindingListItem=function(t){return t},yr.parseMaybeDefault=function(t,e,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(Oe.eq))return r;var i=this.startNodeAt(t,e);return i.left=r,i.right=this.parseMaybeAssign(),this.finishNode(i,"AssignmentPattern")},yr.checkLValSimple=function(t,e,r){void 0===e&&(e=0);var i=0!==e;switch(t.type){case"Identifier":this.strict&&this.reservedWordsStrictBind.test(t.name)&&this.raiseRecoverable(t.start,(i?"Binding ":"Assigning to ")+t.name+" in strict mode"),i&&(2===e&&"let"===t.name&&this.raiseRecoverable(t.start,"let is disallowed as a lexically bound name"),r&&(Qe(r,t.name)&&this.raiseRecoverable(t.start,"Argument name clash"),r[t.name]=!0),5!==e&&this.declareName(t.name,e,t.start));break;case"ChainExpression":this.raiseRecoverable(t.start,"Optional chaining cannot appear in left-hand side");break;case"MemberExpression":i&&this.raiseRecoverable(t.start,"Binding member expression");break;case"ParenthesizedExpression":return i&&this.raiseRecoverable(t.start,"Binding parenthesized expression"),this.checkLValSimple(t.expression,e,r);default:this.raise(t.start,(i?"Binding":"Assigning to")+" rvalue")}},yr.checkLValPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"ObjectPattern":for(var i=0,n=t.properties;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,e,r)}break;case"ArrayPattern":for(var o=0,a=t.elements;o<a.length;o+=1){var c=a[o];c&&this.checkLValInnerPattern(c,e,r)}break;default:this.checkLValSimple(t,e,r)}},yr.checkLValInnerPattern=function(t,e,r){switch(void 0===e&&(e=0),t.type){case"Property":this.checkLValInnerPattern(t.value,e,r);break;case"AssignmentPattern":this.checkLValPattern(t.left,e,r);break;case"RestElement":this.checkLValPattern(t.argument,e,r);break;default:this.checkLValPattern(t,e,r)}};var wr=function(t,e,r,i,n){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=i,this.generator=!!n},Ar={b_stat:new wr("{",!1),b_expr:new wr("{",!0),b_tmpl:new wr("${",!1),p_stat:new wr("(",!1),p_expr:new wr("(",!0),q_tmpl:new wr("`",!0,!0,function(t){return t.tryReadTemplateToken()}),f_stat:new wr("function",!1),f_expr:new wr("function",!0),f_expr_gen:new wr("function",!0,!1,null,!0),f_gen:new wr("function",!1,!1,null,!0)},br=nr.prototype;br.initialContext=function(){return[Ar.b_stat]},br.curContext=function(){return this.context[this.context.length-1]},br.braceIsBlock=function(t){var e=this.curContext();return e===Ar.f_expr||e===Ar.f_stat||(t!==Oe.colon||e!==Ar.b_stat&&e!==Ar.b_expr?t===Oe._return||t===Oe.name&&this.exprAllowed?De.test(this.input.slice(this.lastTokEnd,this.start)):t===Oe._else||t===Oe.semi||t===Oe.eof||t===Oe.parenR||t===Oe.arrow||(t===Oe.braceL?e===Ar.b_stat:t!==Oe._var&&t!==Oe._const&&t!==Oe.name&&!this.exprAllowed):!e.isExpr)},br.inGeneratorContext=function(){for(var t=this.context.length-1;t>=1;t--){var e=this.context[t];if("function"===e.token)return e.generator}return!1},br.updateContext=function(t){var e,r=this.type;r.keyword&&t===Oe.dot?this.exprAllowed=!1:(e=r.updateContext)?e.call(this,t):this.exprAllowed=r.beforeExpr},br.overrideContext=function(t){this.curContext()!==t&&(this.context[this.context.length-1]=t)},Oe.parenR.updateContext=Oe.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===Ar.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},Oe.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?Ar.b_stat:Ar.b_expr),this.exprAllowed=!0},Oe.dollarBraceL.updateContext=function(){this.context.push(Ar.b_tmpl),this.exprAllowed=!0},Oe.parenL.updateContext=function(t){var e=t===Oe._if||t===Oe._for||t===Oe._with||t===Oe._while;this.context.push(e?Ar.p_stat:Ar.p_expr),this.exprAllowed=!0},Oe.incDec.updateContext=function(){},Oe._function.updateContext=Oe._class.updateContext=function(t){!t.beforeExpr||t===Oe._else||t===Oe.semi&&this.curContext()!==Ar.p_stat||t===Oe._return&&De.test(this.input.slice(this.lastTokEnd,this.start))||(t===Oe.colon||t===Oe.braceL)&&this.curContext()===Ar.b_stat?this.context.push(Ar.f_stat):this.context.push(Ar.f_expr),this.exprAllowed=!1},Oe.colon.updateContext=function(){"function"===this.curContext().token&&this.context.pop(),this.exprAllowed=!0},Oe.backQuote.updateContext=function(){this.curContext()===Ar.q_tmpl?this.context.pop():this.context.push(Ar.q_tmpl),this.exprAllowed=!1},Oe.star.updateContext=function(t){if(t===Oe._function){var e=this.context.length-1;this.context[e]===Ar.f_expr?this.context[e]=Ar.f_expr_gen:this.context[e]=Ar.f_gen}this.exprAllowed=!0},Oe.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==Oe.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var vr=nr.prototype;function Er(t){return"Identifier"===t.type||"ParenthesizedExpression"===t.type&&Er(t.expression)}function _r(t){return"MemberExpression"===t.type&&"PrivateIdentifier"===t.property.type||"ChainExpression"===t.type&&_r(t.expression)||"ParenthesizedExpression"===t.type&&_r(t.expression)}vr.checkPropClash=function(t,e,r){if(!(this.options.ecmaVersion>=9&&"SpreadElement"===t.type||this.options.ecmaVersion>=6&&(t.computed||t.method||t.shorthand))){var i,n=t.key;switch(n.type){case"Identifier":i=n.name;break;case"Literal":i=String(n.value);break;default:return}var s=t.kind;if(this.options.ecmaVersion>=6)"__proto__"===i&&"init"===s&&(e.proto&&(r?r.doubleProto<0&&(r.doubleProto=n.start):this.raiseRecoverable(n.start,"Redefinition of __proto__ property")),e.proto=!0);else{var o=e[i="$"+i];if(o)("init"===s?this.strict&&o.init||o.get||o.set:o.init||o[s])&&this.raiseRecoverable(n.start,"Redefinition of property");else o=e[i]={init:!1,get:!1,set:!1};o[s]=!0}}},vr.parseExpression=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(t,e);if(this.type===Oe.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(Oe.comma);)s.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(s,"SequenceExpression")}return n},vr.parseMaybeAssign=function(t,e,r){if(this.isContextual("yield")){if(this.inGenerator)return this.parseYield(t);this.exprAllowed=!1}var i=!1,n=-1,s=-1,o=-1;e?(n=e.parenthesizedAssign,s=e.trailingComma,o=e.doubleProto,e.parenthesizedAssign=e.trailingComma=-1):(e=new cr,i=!0);var a=this.start,c=this.startLoc;this.type!==Oe.parenL&&this.type!==Oe.name||(this.potentialArrowAt=this.start,this.potentialArrowInForAwait="await"===t);var l=this.parseMaybeConditional(t,e);if(r&&(l=r.call(this,l,a,c)),this.type.isAssign){var h=this.startNodeAt(a,c);return h.operator=this.value,this.type===Oe.eq&&(l=this.toAssignable(l,!1,e)),i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=l.start&&(e.shorthandAssign=-1),this.type===Oe.eq?this.checkLValPattern(l):this.checkLValSimple(l),h.left=l,this.next(),h.right=this.parseMaybeAssign(t),o>-1&&(e.doubleProto=o),this.finishNode(h,"AssignmentExpression")}return i&&this.checkExpressionErrors(e,!0),n>-1&&(e.parenthesizedAssign=n),s>-1&&(e.trailingComma=s),l},vr.parseMaybeConditional=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprOps(t,e);if(this.checkExpressionErrors(e))return n;if(this.eat(Oe.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(Oe.colon),s.alternate=this.parseMaybeAssign(t),this.finishNode(s,"ConditionalExpression")}return n},vr.parseExprOps=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeUnary(e,!1,!1,t);return this.checkExpressionErrors(e)||n.start===r&&"ArrowFunctionExpression"===n.type?n:this.parseExprOp(n,r,i,-1,t)},vr.parseExprOp=function(t,e,r,i,n){var s=this.type.binop;if(null!=s&&(!n||this.type!==Oe._in)&&s>i){var o=this.type===Oe.logicalOR||this.type===Oe.logicalAND,a=this.type===Oe.coalesce;a&&(s=Oe.logicalAND.binop);var c=this.value;this.next();var l=this.start,h=this.startLoc,u=this.parseExprOp(this.parseMaybeUnary(null,!1,!1,n),l,h,s,n),p=this.buildBinary(e,r,t,u,c,o||a);return(o&&this.type===Oe.coalesce||a&&(this.type===Oe.logicalOR||this.type===Oe.logicalAND))&&this.raiseRecoverable(this.start,"Logical expressions and coalesce expressions cannot be mixed. Wrap either by parentheses"),this.parseExprOp(p,e,r,i,n)}return t},vr.buildBinary=function(t,e,r,i,n,s){"PrivateIdentifier"===i.type&&this.raise(i.start,"Private identifier can only be left side of binary expression");var o=this.startNodeAt(t,e);return o.left=r,o.operator=n,o.right=i,this.finishNode(o,s?"LogicalExpression":"BinaryExpression")},vr.parseMaybeUnary=function(t,e,r,i){var n,s=this.start,o=this.startLoc;if(this.isContextual("await")&&this.canAwait)n=this.parseAwait(i),e=!0;else if(this.type.prefix){var a=this.startNode(),c=this.type===Oe.incDec;a.operator=this.value,a.prefix=!0,this.next(),a.argument=this.parseMaybeUnary(null,!0,c,i),this.checkExpressionErrors(t,!0),c?this.checkLValSimple(a.argument):this.strict&&"delete"===a.operator&&Er(a.argument)?this.raiseRecoverable(a.start,"Deleting local variable in strict mode"):"delete"===a.operator&&_r(a.argument)?this.raiseRecoverable(a.start,"Private fields can not be deleted"):e=!0,n=this.finishNode(a,c?"UpdateExpression":"UnaryExpression")}else if(e||this.type!==Oe.privateId){if(n=this.parseExprSubscripts(t,i),this.checkExpressionErrors(t))return n;for(;this.type.postfix&&!this.canInsertSemicolon();){var l=this.startNodeAt(s,o);l.operator=this.value,l.prefix=!1,l.argument=n,this.checkLValSimple(n),this.next(),n=this.finishNode(l,"UpdateExpression")}}else(i||0===this.privateNameStack.length)&&this.options.checkPrivateFields&&this.unexpected(),n=this.parsePrivateIdent(),this.type!==Oe._in&&this.unexpected();return r||!this.eat(Oe.starstar)?n:e?void this.unexpected(this.lastTokStart):this.buildBinary(s,o,n,this.parseMaybeUnary(null,!1,!1,i),"**",!1)},vr.parseExprSubscripts=function(t,e){var r=this.start,i=this.startLoc,n=this.parseExprAtom(t,e);if("ArrowFunctionExpression"===n.type&&")"!==this.input.slice(this.lastTokStart,this.lastTokEnd))return n;var s=this.parseSubscripts(n,r,i,!1,e);return t&&"MemberExpression"===s.type&&(t.parenthesizedAssign>=s.start&&(t.parenthesizedAssign=-1),t.parenthesizedBind>=s.start&&(t.parenthesizedBind=-1),t.trailingComma>=s.start&&(t.trailingComma=-1)),s},vr.parseSubscripts=function(t,e,r,i,n){for(var s=this.options.ecmaVersion>=8&&"Identifier"===t.type&&"async"===t.name&&this.lastTokEnd===t.end&&!this.canInsertSemicolon()&&t.end-t.start===5&&this.potentialArrowAt===t.start,o=!1;;){var a=this.parseSubscript(t,e,r,i,s,o,n);if(a.optional&&(o=!0),a===t||"ArrowFunctionExpression"===a.type){if(o){var c=this.startNodeAt(e,r);c.expression=a,a=this.finishNode(c,"ChainExpression")}return a}t=a}},vr.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(Oe.arrow)},vr.parseSubscriptAsyncArrow=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!0,i)},vr.parseSubscript=function(t,e,r,i,n,s,o){var a=this.options.ecmaVersion>=11,c=a&&this.eat(Oe.questionDot);i&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var l=this.eat(Oe.bracketL);if(l||c&&this.type!==Oe.parenL&&this.type!==Oe.backQuote||this.eat(Oe.dot)){var h=this.startNodeAt(e,r);h.object=t,l?(h.property=this.parseExpression(),this.expect(Oe.bracketR)):this.type===Oe.privateId&&"Super"!==t.type?h.property=this.parsePrivateIdent():h.property=this.parseIdent("never"!==this.options.allowReserved),h.computed=!!l,a&&(h.optional=c),t=this.finishNode(h,"MemberExpression")}else if(!i&&this.eat(Oe.parenL)){var u=new cr,p=this.yieldPos,d=this.awaitPos,f=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var g=this.parseExprList(Oe.parenR,this.options.ecmaVersion>=8,!1,u);if(n&&!c&&this.shouldParseAsyncArrow())return this.checkPatternErrors(u,!1),this.checkYieldAwaitInDefaultParams(),this.awaitIdentPos>0&&this.raise(this.awaitIdentPos,"Cannot use 'await' as identifier inside an async function"),this.yieldPos=p,this.awaitPos=d,this.awaitIdentPos=f,this.parseSubscriptAsyncArrow(e,r,g,o);this.checkExpressionErrors(u,!0),this.yieldPos=p||this.yieldPos,this.awaitPos=d||this.awaitPos,this.awaitIdentPos=f||this.awaitIdentPos;var m=this.startNodeAt(e,r);m.callee=t,m.arguments=g,a&&(m.optional=c),t=this.finishNode(m,"CallExpression")}else if(this.type===Oe.backQuote){(c||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var y=this.startNodeAt(e,r);y.tag=t,y.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(y,"TaggedTemplateExpression")}return t},vr.parseExprAtom=function(t,e,r){this.type===Oe.slash&&this.readRegexp();var i,n=this.potentialArrowAt===this.start;switch(this.type){case Oe._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),i=this.startNode(),this.next(),this.type!==Oe.parenL||this.allowDirectSuper||this.raise(i.start,"super() call outside constructor of a subclass"),this.type!==Oe.dot&&this.type!==Oe.bracketL&&this.type!==Oe.parenL&&this.unexpected(),this.finishNode(i,"Super");case Oe._this:return i=this.startNode(),this.next(),this.finishNode(i,"ThisExpression");case Oe.name:var s=this.start,o=this.startLoc,a=this.containsEsc,c=this.parseIdent(!1);if(this.options.ecmaVersion>=8&&!a&&"async"===c.name&&!this.canInsertSemicolon()&&this.eat(Oe._function))return this.overrideContext(Ar.f_expr),this.parseFunction(this.startNodeAt(s,o),0,!1,!0,e);if(n&&!this.canInsertSemicolon()){if(this.eat(Oe.arrow))return this.parseArrowExpression(this.startNodeAt(s,o),[c],!1,e);if(this.options.ecmaVersion>=8&&"async"===c.name&&this.type===Oe.name&&!a&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return c=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(Oe.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,o),[c],!0,e)}return c;case Oe.regexp:var l=this.value;return(i=this.parseLiteral(l.value)).regex={pattern:l.pattern,flags:l.flags},i;case Oe.num:case Oe.string:return this.parseLiteral(this.value);case Oe._null:case Oe._true:case Oe._false:return(i=this.startNode()).value=this.type===Oe._null?null:this.type===Oe._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case Oe.parenL:var h=this.start,u=this.parseParenAndDistinguishExpression(n,e);return t&&(t.parenthesizedAssign<0&&!this.isSimpleAssignTarget(u)&&(t.parenthesizedAssign=h),t.parenthesizedBind<0&&(t.parenthesizedBind=h)),u;case Oe.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(Oe.bracketR,!0,!0,t),this.finishNode(i,"ArrayExpression");case Oe.braceL:return this.overrideContext(Ar.b_expr),this.parseObj(!1,t);case Oe._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case Oe._class:return this.parseClass(this.startNode(),!1);case Oe._new:return this.parseNew();case Oe.backQuote:return this.parseTemplate();case Oe._import:return this.options.ecmaVersion>=11?this.parseExprImport(r):this.unexpected();default:return this.parseExprAtomDefault()}},vr.parseExprAtomDefault=function(){this.unexpected()},vr.parseExprImport=function(t){var e=this.startNode();if(this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword import"),this.next(),this.type===Oe.parenL&&!t)return this.parseDynamicImport(e);if(this.type===Oe.dot){var r=this.startNodeAt(e.start,e.loc&&e.loc.start);return r.name="import",e.meta=this.finishNode(r,"Identifier"),this.parseImportMeta(e)}this.unexpected()},vr.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),this.options.ecmaVersion>=16)this.eat(Oe.parenR)?t.options=null:(this.expect(Oe.comma),this.afterTrailingComma(Oe.parenR)?t.options=null:(t.options=this.parseMaybeAssign(),this.eat(Oe.parenR)||(this.expect(Oe.comma),this.afterTrailingComma(Oe.parenR)||this.unexpected())));else if(!this.eat(Oe.parenR)){var e=this.start;this.eat(Oe.comma)&&this.eat(Oe.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},vr.parseImportMeta=function(t){this.next();var e=this.containsEsc;return t.property=this.parseIdent(!0),"meta"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for import is 'import.meta'"),e&&this.raiseRecoverable(t.start,"'import.meta' must not contain escaped characters"),"module"===this.options.sourceType||this.options.allowImportExportEverywhere||this.raiseRecoverable(t.start,"Cannot use 'import.meta' outside a module"),this.finishNode(t,"MetaProperty")},vr.parseLiteral=function(t){var e=this.startNode();return e.value=t,e.raw=this.input.slice(this.start,this.end),110===e.raw.charCodeAt(e.raw.length-1)&&(e.bigint=null!=e.value?e.value.toString():e.raw.slice(0,-1).replace(/_/g,"")),this.next(),this.finishNode(e,"Literal")},vr.parseParenExpression=function(){this.expect(Oe.parenL);var t=this.parseExpression();return this.expect(Oe.parenR),t},vr.shouldParseArrow=function(t){return!this.canInsertSemicolon()},vr.parseParenAndDistinguishExpression=function(t,e){var r,i=this.start,n=this.startLoc,s=this.options.ecmaVersion>=8;if(this.options.ecmaVersion>=6){this.next();var o,a=this.start,c=this.startLoc,l=[],h=!0,u=!1,p=new cr,d=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==Oe.parenR;){if(h?h=!1:this.expect(Oe.comma),s&&this.afterTrailingComma(Oe.parenR,!0)){u=!0;break}if(this.type===Oe.ellipsis){o=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===Oe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element");break}l.push(this.parseMaybeAssign(!1,p,this.parseParenItem))}var g=this.lastTokEnd,m=this.lastTokEndLoc;if(this.expect(Oe.parenR),t&&this.shouldParseArrow(l)&&this.eat(Oe.arrow))return this.checkPatternErrors(p,!1),this.checkYieldAwaitInDefaultParams(),this.yieldPos=d,this.awaitPos=f,this.parseParenArrowList(i,n,l,e);l.length&&!u||this.unexpected(this.lastTokStart),o&&this.unexpected(o),this.checkExpressionErrors(p,!0),this.yieldPos=d||this.yieldPos,this.awaitPos=f||this.awaitPos,l.length>1?((r=this.startNodeAt(a,c)).expressions=l,this.finishNodeAt(r,"SequenceExpression",g,m)):r=l[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var y=this.startNodeAt(i,n);return y.expression=r,this.finishNode(y,"ParenthesizedExpression")}return r},vr.parseParenItem=function(t){return t},vr.parseParenArrowList=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!1,i)};var xr=[];vr.parseNew=function(){this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword new");var t=this.startNode();if(this.next(),this.options.ecmaVersion>=6&&this.type===Oe.dot){var e=this.startNodeAt(t.start,t.loc&&t.loc.start);e.name="new",t.meta=this.finishNode(e,"Identifier"),this.next();var r=this.containsEsc;return t.property=this.parseIdent(!0),"target"!==t.property.name&&this.raiseRecoverable(t.property.start,"The only valid meta property for new is 'new.target'"),r&&this.raiseRecoverable(t.start,"'new.target' must not contain escaped characters"),this.allowNewDotTarget||this.raiseRecoverable(t.start,"'new.target' can only be used in functions and class static block"),this.finishNode(t,"MetaProperty")}var i=this.start,n=this.startLoc;return t.callee=this.parseSubscripts(this.parseExprAtom(null,!1,!0),i,n,!0,!1),this.eat(Oe.parenL)?t.arguments=this.parseExprList(Oe.parenR,this.options.ecmaVersion>=8,!1):t.arguments=xr,this.finishNode(t,"NewExpression")},vr.parseTemplateElement=function(t){var e=t.isTagged,r=this.startNode();return this.type===Oe.invalidTemplate?(e||this.raiseRecoverable(this.start,"Bad escape sequence in untagged template literal"),r.value={raw:this.value.replace(/\r\n?/g,"\n"),cooked:null}):r.value={raw:this.input.slice(this.start,this.end).replace(/\r\n?/g,"\n"),cooked:this.value},this.next(),r.tail=this.type===Oe.backQuote,this.finishNode(r,"TemplateElement")},vr.parseTemplate=function(t){void 0===t&&(t={});var e=t.isTagged;void 0===e&&(e=!1);var r=this.startNode();this.next(),r.expressions=[];var i=this.parseTemplateElement({isTagged:e});for(r.quasis=[i];!i.tail;)this.type===Oe.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(Oe.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(Oe.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(r,"TemplateLiteral")},vr.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===Oe.name||this.type===Oe.num||this.type===Oe.string||this.type===Oe.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===Oe.star)&&!De.test(this.input.slice(this.lastTokEnd,this.start))},vr.parseObj=function(t,e){var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(Oe.braceR);){if(i)i=!1;else if(this.expect(Oe.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(Oe.braceR))break;var s=this.parseProperty(t,e);t||this.checkPropClash(s,n,e),r.properties.push(s)}return this.finishNode(r,t?"ObjectPattern":"ObjectExpression")},vr.parseProperty=function(t,e){var r,i,n,s,o=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(Oe.ellipsis))return t?(o.argument=this.parseIdent(!1),this.type===Oe.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.finishNode(o,"RestElement")):(o.argument=this.parseMaybeAssign(!1,e),this.type===Oe.comma&&e&&e.trailingComma<0&&(e.trailingComma=this.start),this.finishNode(o,"SpreadElement"));this.options.ecmaVersion>=6&&(o.method=!1,o.shorthand=!1,(t||e)&&(n=this.start,s=this.startLoc),t||(r=this.eat(Oe.star)));var a=this.containsEsc;return this.parsePropertyName(o),!t&&!a&&this.options.ecmaVersion>=8&&!r&&this.isAsyncProp(o)?(i=!0,r=this.options.ecmaVersion>=9&&this.eat(Oe.star),this.parsePropertyName(o)):i=!1,this.parsePropertyValue(o,t,r,i,n,s,e,a),this.finishNode(o,"Property")},vr.parseGetterSetter=function(t){var e=t.key.name;this.parsePropertyName(t),t.value=this.parseMethod(!1),t.kind=e;var r="get"===t.kind?0:1;if(t.value.params.length!==r){var i=t.value.start;"get"===t.kind?this.raiseRecoverable(i,"getter should have no params"):this.raiseRecoverable(i,"setter should have exactly one param")}else"set"===t.kind&&"RestElement"===t.value.params[0].type&&this.raiseRecoverable(t.value.params[0].start,"Setter cannot use rest params")},vr.parsePropertyValue=function(t,e,r,i,n,s,o,a){(r||i)&&this.type===Oe.colon&&this.unexpected(),this.eat(Oe.colon)?(t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),t.kind="init"):this.options.ecmaVersion>=6&&this.type===Oe.parenL?(e&&this.unexpected(),t.method=!0,t.value=this.parseMethod(r,i),t.kind="init"):e||a||!(this.options.ecmaVersion>=5)||t.computed||"Identifier"!==t.key.type||"get"!==t.key.name&&"set"!==t.key.name||this.type===Oe.comma||this.type===Oe.braceR||this.type===Oe.eq?this.options.ecmaVersion>=6&&!t.computed&&"Identifier"===t.key.type?((r||i)&&this.unexpected(),this.checkUnreserved(t.key),"await"!==t.key.name||this.awaitIdentPos||(this.awaitIdentPos=n),e?t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key)):this.type===Oe.eq&&o?(o.shorthandAssign<0&&(o.shorthandAssign=this.start),t.value=this.parseMaybeDefault(n,s,this.copyNode(t.key))):t.value=this.copyNode(t.key),t.kind="init",t.shorthand=!0):this.unexpected():((r||i)&&this.unexpected(),this.parseGetterSetter(t))},vr.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(Oe.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(Oe.bracketR),t.key;t.computed=!1}return t.key=this.type===Oe.num||this.type===Oe.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},vr.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},vr.parseMethod=function(t,e,r){var i=this.startNode(),n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.initFunction(i),this.options.ecmaVersion>=6&&(i.generator=t),this.options.ecmaVersion>=8&&(i.async=!!e),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,this.enterScope(64|ir(e,i.generator)|(r?128:0)),this.expect(Oe.parenL),i.params=this.parseBindingList(Oe.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams(),this.parseFunctionBody(i,!1,!0,!1),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(i,"FunctionExpression")},vr.parseArrowExpression=function(t,e,r,i){var n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(16|ir(r,!1)),this.initFunction(t),this.options.ecmaVersion>=8&&(t.async=!!r),this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0,t.params=this.toAssignableList(e,!0),this.parseFunctionBody(t,!0,!1,i),this.yieldPos=n,this.awaitPos=s,this.awaitIdentPos=o,this.finishNode(t,"ArrowFunctionExpression")},vr.parseFunctionBody=function(t,e,r,i){var n=e&&this.type!==Oe.braceL,s=this.strict,o=!1;if(n)t.body=this.parseMaybeAssign(i),t.expression=!0,this.checkParams(t,!1);else{var a=this.options.ecmaVersion>=7&&!this.isSimpleParamList(t.params);s&&!a||(o=this.strictDirective(this.end))&&a&&this.raiseRecoverable(t.start,"Illegal 'use strict' directive in function with non-simple parameter list");var c=this.labels;this.labels=[],o&&(this.strict=!0),this.checkParams(t,!s&&!o&&!e&&!r&&this.isSimpleParamList(t.params)),this.strict&&t.id&&this.checkLValSimple(t.id,5),t.body=this.parseBlock(!1,void 0,o&&!s),t.expression=!1,this.adaptDirectivePrologue(t.body.body),this.labels=c}this.exitScope()},vr.isSimpleParamList=function(t){for(var e=0,r=t;e<r.length;e+=1){if("Identifier"!==r[e].type)return!1}return!0},vr.checkParams=function(t,e){for(var r=Object.create(null),i=0,n=t.params;i<n.length;i+=1){var s=n[i];this.checkLValInnerPattern(s,1,e?null:r)}},vr.parseExprList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);){if(s)s=!1;else if(this.expect(Oe.comma),e&&this.afterTrailingComma(t))break;var o=void 0;r&&this.type===Oe.comma?o=null:this.type===Oe.ellipsis?(o=this.parseSpread(i),i&&this.type===Oe.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):o=this.parseMaybeAssign(!1,i),n.push(o)}return n},vr.checkUnreserved=function(t){var e=t.start,r=t.end,i=t.name;(this.inGenerator&&"yield"===i&&this.raiseRecoverable(e,"Cannot use 'yield' as identifier inside a generator"),this.inAsync&&"await"===i&&this.raiseRecoverable(e,"Cannot use 'await' as identifier inside an async function"),this.currentThisScope().flags&rr||"arguments"!==i||this.raiseRecoverable(e,"Cannot use 'arguments' in class field initializer"),!this.inClassStaticBlock||"arguments"!==i&&"await"!==i||this.raise(e,"Cannot use "+i+" in class static initialization block"),this.keywords.test(i)&&this.raise(e,"Unexpected keyword '"+i+"'"),this.options.ecmaVersion<6&&-1!==this.input.slice(e,r).indexOf("\\"))||(this.strict?this.reservedWordsStrict:this.reservedWords).test(i)&&(this.inAsync||"await"!==i||this.raiseRecoverable(e,"Cannot use keyword 'await' outside an async function"),this.raiseRecoverable(e,"The keyword '"+i+"' is reserved"))},vr.parseIdent=function(t){var e=this.parseIdentNode();return this.next(!!t),this.finishNode(e,"Identifier"),t||(this.checkUnreserved(e),"await"!==e.name||this.awaitIdentPos||(this.awaitIdentPos=e.start)),e},vr.parseIdentNode=function(){var t=this.startNode();return this.type===Oe.name?t.name=this.value:this.type.keyword?(t.name=this.type.keyword,"class"!==t.name&&"function"!==t.name||this.lastTokEnd===this.lastTokStart+1&&46===this.input.charCodeAt(this.lastTokStart)||this.context.pop(),this.type=Oe.name):this.unexpected(),t},vr.parsePrivateIdent=function(){var t=this.startNode();return this.type===Oe.privateId?t.name=this.value:this.unexpected(),this.next(),this.finishNode(t,"PrivateIdentifier"),this.options.checkPrivateFields&&(0===this.privateNameStack.length?this.raise(t.start,"Private field '#"+t.name+"' must be declared in an enclosing class"):this.privateNameStack[this.privateNameStack.length-1].used.push(t)),t},vr.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===Oe.semi||this.canInsertSemicolon()||this.type!==Oe.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(Oe.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},vr.parseAwait=function(t){this.awaitPos||(this.awaitPos=this.start);var e=this.startNode();return this.next(),e.argument=this.parseMaybeUnary(null,!0,!1,t),this.finishNode(e,"AwaitExpression")};var Ir=nr.prototype;Ir.raise=function(t,e){var r=Je(this.input,t);e+=" ("+r.line+":"+r.column+")",this.sourceFile&&(e+=" in "+this.sourceFile);var i=new SyntaxError(e);throw i.pos=t,i.loc=r,i.raisedAt=this.pos,i},Ir.raiseRecoverable=Ir.raise,Ir.curPosition=function(){if(this.options.locations)return new Xe(this.curLine,this.pos-this.lineStart)};var Sr=nr.prototype,Tr=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[]};Sr.enterScope=function(t){this.scopeStack.push(new Tr(t))},Sr.exitScope=function(){this.scopeStack.pop()},Sr.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},Sr.declareName=function(t,e,r){var i=!1;if(2===e){var n=this.currentScope();i=n.lexical.indexOf(t)>-1||n.functions.indexOf(t)>-1||n.var.indexOf(t)>-1,n.lexical.push(t),this.inModule&&1&n.flags&&delete this.undefinedExports[t]}else if(4===e){this.currentScope().lexical.push(t)}else if(3===e){var s=this.currentScope();i=this.treatFunctionsAsVar?s.lexical.indexOf(t)>-1:s.lexical.indexOf(t)>-1||s.var.indexOf(t)>-1,s.functions.push(t)}else for(var o=this.scopeStack.length-1;o>=0;--o){var a=this.scopeStack[o];if(a.lexical.indexOf(t)>-1&&!(32&a.flags&&a.lexical[0]===t)||!this.treatFunctionsAsVarInScope(a)&&a.functions.indexOf(t)>-1){i=!0;break}if(a.var.push(t),this.inModule&&1&a.flags&&delete this.undefinedExports[t],a.flags&rr)break}i&&this.raiseRecoverable(r,"Identifier '"+t+"' has already been declared")},Sr.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},Sr.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Sr.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(771&e.flags)return e}},Sr.currentThisScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(771&e.flags&&!(16&e.flags))return e}};var Cr=function(t,e,r){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new Ye(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},Rr=nr.prototype;function kr(t,e,r,i){return t.type=e,t.end=r,this.options.locations&&(t.loc.end=i),this.options.ranges&&(t.range[1]=r),t}Rr.startNode=function(){return new Cr(this,this.start,this.startLoc)},Rr.startNodeAt=function(t,e){return new Cr(this,t,e)},Rr.finishNode=function(t,e){return kr.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},Rr.finishNodeAt=function(t,e,r,i){return kr.call(this,t,e,r,i)},Rr.copyNode=function(t){var e=new Cr(this,t.start,this.startLoc);for(var r in t)e[r]=t[r];return e};var Br="ASCII ASCII_Hex_Digit AHex Alphabetic Alpha Any Assigned Bidi_Control Bidi_C Bidi_Mirrored Bidi_M Case_Ignorable CI Cased Changes_When_Casefolded CWCF Changes_When_Casemapped CWCM Changes_When_Lowercased CWL Changes_When_NFKC_Casefolded CWKCF Changes_When_Titlecased CWT Changes_When_Uppercased CWU Dash Default_Ignorable_Code_Point DI Deprecated Dep Diacritic Dia Emoji Emoji_Component Emoji_Modifier Emoji_Modifier_Base Emoji_Presentation Extender Ext Grapheme_Base Gr_Base Grapheme_Extend Gr_Ext Hex_Digit Hex IDS_Binary_Operator IDSB IDS_Trinary_Operator IDST ID_Continue IDC ID_Start IDS Ideographic Ideo Join_Control Join_C Logical_Order_Exception LOE Lowercase Lower Math Noncharacter_Code_Point NChar Pattern_Syntax Pat_Syn Pattern_White_Space Pat_WS Quotation_Mark QMark Radical Regional_Indicator RI Sentence_Terminal STerm Soft_Dotted SD Terminal_Punctuation Term Unified_Ideograph UIdeo Uppercase Upper Variation_Selector VS White_Space space XID_Continue XIDC XID_Start XIDS",Nr=Br+" Extended_Pictographic",Or=Nr+" EBase EComp EMod EPres ExtPict",Dr={9:Br,10:Nr,11:Nr,12:Or,13:Or,14:Or},Pr={9:"",10:"",11:"",12:"",13:"",14:"Basic_Emoji Emoji_Keycap_Sequence RGI_Emoji_Modifier_Sequence RGI_Emoji_Flag_Sequence RGI_Emoji_Tag_Sequence RGI_Emoji_ZWJ_Sequence RGI_Emoji"},Lr="Cased_Letter LC Close_Punctuation Pe Connector_Punctuation Pc Control Cc cntrl Currency_Symbol Sc Dash_Punctuation Pd Decimal_Number Nd digit Enclosing_Mark Me Final_Punctuation Pf Format Cf Initial_Punctuation Pi Letter L Letter_Number Nl Line_Separator Zl Lowercase_Letter Ll Mark M Combining_Mark Math_Symbol Sm Modifier_Letter Lm Modifier_Symbol Sk Nonspacing_Mark Mn Number N Open_Punctuation Ps Other C Other_Letter Lo Other_Number No Other_Punctuation Po Other_Symbol So Paragraph_Separator Zp Private_Use Co Punctuation P punct Separator Z Space_Separator Zs Spacing_Mark Mc Surrogate Cs Symbol S Titlecase_Letter Lt Unassigned Cn Uppercase_Letter Lu",Ur="Adlam Adlm Ahom Anatolian_Hieroglyphs Hluw Arabic Arab Armenian Armn Avestan Avst Balinese Bali Bamum Bamu Bassa_Vah Bass Batak Batk Bengali Beng Bhaiksuki Bhks Bopomofo Bopo Brahmi Brah Braille Brai Buginese Bugi Buhid Buhd Canadian_Aboriginal Cans Carian Cari Caucasian_Albanian Aghb Chakma Cakm Cham Cham Cherokee Cher Common Zyyy Coptic Copt Qaac Cuneiform Xsux Cypriot Cprt Cyrillic Cyrl Deseret Dsrt Devanagari Deva Duployan Dupl Egyptian_Hieroglyphs Egyp Elbasan Elba Ethiopic Ethi Georgian Geor Glagolitic Glag Gothic Goth Grantha Gran Greek Grek Gujarati Gujr Gurmukhi Guru Han Hani Hangul Hang Hanunoo Hano Hatran Hatr Hebrew Hebr Hiragana Hira Imperial_Aramaic Armi Inherited Zinh Qaai Inscriptional_Pahlavi Phli Inscriptional_Parthian Prti Javanese Java Kaithi Kthi Kannada Knda Katakana Kana Kayah_Li Kali Kharoshthi Khar Khmer Khmr Khojki Khoj Khudawadi Sind Lao Laoo Latin Latn Lepcha Lepc Limbu Limb Linear_A Lina Linear_B Linb Lisu Lisu Lycian Lyci Lydian Lydi Mahajani Mahj Malayalam Mlym Mandaic Mand Manichaean Mani Marchen Marc Masaram_Gondi Gonm Meetei_Mayek Mtei Mende_Kikakui Mend Meroitic_Cursive Merc Meroitic_Hieroglyphs Mero Miao Plrd Modi Mongolian Mong Mro Mroo Multani Mult Myanmar Mymr Nabataean Nbat New_Tai_Lue Talu Newa Newa Nko Nkoo Nushu Nshu Ogham Ogam Ol_Chiki Olck Old_Hungarian Hung Old_Italic Ital Old_North_Arabian Narb Old_Permic Perm Old_Persian Xpeo Old_South_Arabian Sarb Old_Turkic Orkh Oriya Orya Osage Osge Osmanya Osma Pahawh_Hmong Hmng Palmyrene Palm Pau_Cin_Hau Pauc Phags_Pa Phag Phoenician Phnx Psalter_Pahlavi Phlp Rejang Rjng Runic Runr Samaritan Samr Saurashtra Saur Sharada Shrd Shavian Shaw Siddham Sidd SignWriting Sgnw Sinhala Sinh Sora_Sompeng Sora Soyombo Soyo Sundanese Sund Syloti_Nagri Sylo Syriac Syrc Tagalog Tglg Tagbanwa Tagb Tai_Le Tale Tai_Tham Lana Tai_Viet Tavt Takri Takr Tamil Taml Tangut Tang Telugu Telu Thaana Thaa Thai Thai Tibetan Tibt Tifinagh Tfng Tirhuta Tirh Ugaritic Ugar Vai Vaii Warang_Citi Wara Yi Yiii Zanabazar_Square Zanb",Mr=Ur+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",Fr=Mr+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",Hr=Fr+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",jr=Hr+" Cypro_Minoan Cpmn Old_Uyghur Ougr Tangsa Tnsa Toto Vithkuqi Vith",Wr={9:Ur,10:Mr,11:Fr,12:Hr,13:jr,14:jr+" Gara Garay Gukh Gurung_Khema Hrkt Katakana_Or_Hiragana Kawi Kirat_Rai Krai Nag_Mundari Nagm Ol_Onal Onao Sunu Sunuwar Todhri Todr Tulu_Tigalari Tutg Unknown Zzzz"},Qr={};function zr(t){var e=Qr[t]={binary:Ge(Dr[t]+" "+Lr),binaryOfStrings:Ge(Pr[t]),nonBinary:{General_Category:Ge(Lr),Script:Ge(Wr[t])}};e.nonBinary.Script_Extensions=e.nonBinary.Script,e.nonBinary.gc=e.nonBinary.General_Category,e.nonBinary.sc=e.nonBinary.Script,e.nonBinary.scx=e.nonBinary.Script_Extensions}for(var Vr=0,Gr=[9,10,11,12,13,14];Vr<Gr.length;Vr+=1){zr(Gr[Vr])}var qr=nr.prototype,Kr=function(t,e){this.parent=t,this.base=e||this};Kr.prototype.separatedFrom=function(t){for(var e=this;e;e=e.parent)for(var r=t;r;r=r.parent)if(e.base===r.base&&e!==r)return!0;return!1},Kr.prototype.sibling=function(){return new Kr(this.parent,this.base)};var Xr=function(t){this.parser=t,this.validFlags="gim"+(t.options.ecmaVersion>=6?"uy":"")+(t.options.ecmaVersion>=9?"s":"")+(t.options.ecmaVersion>=13?"d":"")+(t.options.ecmaVersion>=15?"v":""),this.unicodeProperties=Qr[t.options.ecmaVersion>=14?14:t.options.ecmaVersion],this.source="",this.flags="",this.start=0,this.switchU=!1,this.switchV=!1,this.switchN=!1,this.pos=0,this.lastIntValue=0,this.lastStringValue="",this.lastAssertionIsQuantifiable=!1,this.numCapturingParens=0,this.maxBackReference=0,this.groupNames=Object.create(null),this.backReferenceNames=[],this.branchID=null};function Yr(t){return 105===t||109===t||115===t}function Jr(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function Zr(t){return t>=65&&t<=90||t>=97&&t<=122}Xr.prototype.reset=function(t,e,r){var i=-1!==r.indexOf("v"),n=-1!==r.indexOf("u");this.start=0|t,this.source=e+"",this.flags=r,i&&this.parser.options.ecmaVersion>=15?(this.switchU=!0,this.switchV=!0,this.switchN=!0):(this.switchU=n&&this.parser.options.ecmaVersion>=6,this.switchV=!1,this.switchN=n&&this.parser.options.ecmaVersion>=9)},Xr.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},Xr.prototype.at=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return-1;var n=r.charCodeAt(t);if(!e&&!this.switchU||n<=55295||n>=57344||t+1>=i)return n;var s=r.charCodeAt(t+1);return s>=56320&&s<=57343?(n<<10)+s-56613888:n},Xr.prototype.nextIndex=function(t,e){void 0===e&&(e=!1);var r=this.source,i=r.length;if(t>=i)return i;var n,s=r.charCodeAt(t);return!e&&!this.switchU||s<=55295||s>=57344||t+1>=i||(n=r.charCodeAt(t+1))<56320||n>57343?t+1:t+2},Xr.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},Xr.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},Xr.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},Xr.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},Xr.prototype.eatChars=function(t,e){void 0===e&&(e=!1);for(var r=this.pos,i=0,n=t;i<n.length;i+=1){var s=n[i],o=this.at(r,e);if(-1===o||o!==s)return!1;r=this.nextIndex(r,e)}return this.pos=r,!0},qr.validateRegExpFlags=function(t){for(var e=t.validFlags,r=t.flags,i=!1,n=!1,s=0;s<r.length;s++){var o=r.charAt(s);-1===e.indexOf(o)&&this.raise(t.start,"Invalid regular expression flag"),r.indexOf(o,s+1)>-1&&this.raise(t.start,"Duplicate regular expression flag"),"u"===o&&(i=!0),"v"===o&&(n=!0)}this.options.ecmaVersion>=15&&i&&n&&this.raise(t.start,"Invalid regular expression flag")},qr.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&function(t){for(var e in t)return!0;return!1}(t.groupNames)&&(t.switchN=!0,this.regexp_pattern(t))},qr.regexp_pattern=function(t){t.pos=0,t.lastIntValue=0,t.lastStringValue="",t.lastAssertionIsQuantifiable=!1,t.numCapturingParens=0,t.maxBackReference=0,t.groupNames=Object.create(null),t.backReferenceNames.length=0,t.branchID=null,this.regexp_disjunction(t),t.pos!==t.source.length&&(t.eat(41)&&t.raise("Unmatched ')'"),(t.eat(93)||t.eat(125))&&t.raise("Lone quantifier brackets")),t.maxBackReference>t.numCapturingParens&&t.raise("Invalid escape");for(var e=0,r=t.backReferenceNames;e<r.length;e+=1){var i=r[e];t.groupNames[i]||t.raise("Invalid named capture referenced")}},qr.regexp_disjunction=function(t){var e=this.options.ecmaVersion>=16;for(e&&(t.branchID=new Kr(t.branchID,null)),this.regexp_alternative(t);t.eat(124);)e&&(t.branchID=t.branchID.sibling()),this.regexp_alternative(t);e&&(t.branchID=t.branchID.parent),this.regexp_eatQuantifier(t,!0)&&t.raise("Nothing to repeat"),t.eat(123)&&t.raise("Lone quantifier brackets")},qr.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},qr.regexp_eatTerm=function(t){return this.regexp_eatAssertion(t)?(t.lastAssertionIsQuantifiable&&this.regexp_eatQuantifier(t)&&t.switchU&&t.raise("Invalid quantifier"),!0):!!(t.switchU?this.regexp_eatAtom(t):this.regexp_eatExtendedAtom(t))&&(this.regexp_eatQuantifier(t),!0)},qr.regexp_eatAssertion=function(t){var e=t.pos;if(t.lastAssertionIsQuantifiable=!1,t.eat(94)||t.eat(36))return!0;if(t.eat(92)){if(t.eat(66)||t.eat(98))return!0;t.pos=e}if(t.eat(40)&&t.eat(63)){var r=!1;if(this.options.ecmaVersion>=9&&(r=t.eat(60)),t.eat(61)||t.eat(33))return this.regexp_disjunction(t),t.eat(41)||t.raise("Unterminated group"),t.lastAssertionIsQuantifiable=!r,!0}return t.pos=e,!1},qr.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},qr.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},qr.regexp_eatBracedQuantifier=function(t,e){var r=t.pos;if(t.eat(123)){var i=0,n=-1;if(this.regexp_eatDecimalDigits(t)&&(i=t.lastIntValue,t.eat(44)&&this.regexp_eatDecimalDigits(t)&&(n=t.lastIntValue),t.eat(125)))return-1!==n&&n<i&&!e&&t.raise("numbers out of order in {} quantifier"),!0;t.switchU&&!e&&t.raise("Incomplete quantifier"),t.pos=r}return!1},qr.regexp_eatAtom=function(t){return this.regexp_eatPatternCharacters(t)||t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)},qr.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},qr.regexp_eatUncapturingGroup=function(t){var e=t.pos;if(t.eat(40)){if(t.eat(63)){if(this.options.ecmaVersion>=16){var r=this.regexp_eatModifiers(t),i=t.eat(45);if(r||i){for(var n=0;n<r.length;n++){var s=r.charAt(n);r.indexOf(s,n+1)>-1&&t.raise("Duplicate regular expression modifiers")}if(i){var o=this.regexp_eatModifiers(t);r||o||58!==t.current()||t.raise("Invalid regular expression modifiers");for(var a=0;a<o.length;a++){var c=o.charAt(a);(o.indexOf(c,a+1)>-1||r.indexOf(c)>-1)&&t.raise("Duplicate regular expression modifiers")}}}}if(t.eat(58)){if(this.regexp_disjunction(t),t.eat(41))return!0;t.raise("Unterminated group")}}t.pos=e}return!1},qr.regexp_eatCapturingGroup=function(t){if(t.eat(40)){if(this.options.ecmaVersion>=9?this.regexp_groupSpecifier(t):63===t.current()&&t.raise("Invalid group"),this.regexp_disjunction(t),t.eat(41))return t.numCapturingParens+=1,!0;t.raise("Unterminated group")}return!1},qr.regexp_eatModifiers=function(t){for(var e="",r=0;-1!==(r=t.current())&&Yr(r);)e+=qe(r),t.advance();return e},qr.regexp_eatExtendedAtom=function(t){return t.eat(46)||this.regexp_eatReverseSolidusAtomEscape(t)||this.regexp_eatCharacterClass(t)||this.regexp_eatUncapturingGroup(t)||this.regexp_eatCapturingGroup(t)||this.regexp_eatInvalidBracedQuantifier(t)||this.regexp_eatExtendedPatternCharacter(t)},qr.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},qr.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!Jr(e)&&(t.lastIntValue=e,t.advance(),!0)},qr.regexp_eatPatternCharacters=function(t){for(var e=t.pos,r=0;-1!==(r=t.current())&&!Jr(r);)t.advance();return t.pos!==e},qr.regexp_eatExtendedPatternCharacter=function(t){var e=t.current();return!(-1===e||36===e||e>=40&&e<=43||46===e||63===e||91===e||94===e||124===e)&&(t.advance(),!0)},qr.regexp_groupSpecifier=function(t){if(t.eat(63)){this.regexp_eatGroupName(t)||t.raise("Invalid group");var e=this.options.ecmaVersion>=16,r=t.groupNames[t.lastStringValue];if(r)if(e)for(var i=0,n=r;i<n.length;i+=1){n[i].separatedFrom(t.branchID)||t.raise("Duplicate capture group name")}else t.raise("Duplicate capture group name");e?(r||(t.groupNames[t.lastStringValue]=[])).push(t.branchID):t.groupNames[t.lastStringValue]=!0}},qr.regexp_eatGroupName=function(t){if(t.lastStringValue="",t.eat(60)){if(this.regexp_eatRegExpIdentifierName(t)&&t.eat(62))return!0;t.raise("Invalid capture group name")}return!1},qr.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=qe(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=qe(t.lastIntValue);return!0}return!1},qr.regexp_eatRegExpIdentifierStart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return Ie(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},qr.regexp_eatRegExpIdentifierPart=function(t){var e=t.pos,r=this.options.ecmaVersion>=11,i=t.current(r);return t.advance(r),92===i&&this.regexp_eatRegExpUnicodeEscapeSequence(t,r)&&(i=t.lastIntValue),function(t){return Se(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},qr.regexp_eatAtomEscape=function(t){return!!(this.regexp_eatBackReference(t)||this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)||t.switchN&&this.regexp_eatKGroupName(t))||(t.switchU&&(99===t.current()&&t.raise("Invalid unicode escape"),t.raise("Invalid escape")),!1)},qr.regexp_eatBackReference=function(t){var e=t.pos;if(this.regexp_eatDecimalEscape(t)){var r=t.lastIntValue;if(t.switchU)return r>t.maxBackReference&&(t.maxBackReference=r),!0;if(r<=t.numCapturingParens)return!0;t.pos=e}return!1},qr.regexp_eatKGroupName=function(t){if(t.eat(107)){if(this.regexp_eatGroupName(t))return t.backReferenceNames.push(t.lastStringValue),!0;t.raise("Invalid named reference")}return!1},qr.regexp_eatCharacterEscape=function(t){return this.regexp_eatControlEscape(t)||this.regexp_eatCControlLetter(t)||this.regexp_eatZero(t)||this.regexp_eatHexEscapeSequence(t)||this.regexp_eatRegExpUnicodeEscapeSequence(t,!1)||!t.switchU&&this.regexp_eatLegacyOctalEscapeSequence(t)||this.regexp_eatIdentityEscape(t)},qr.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},qr.regexp_eatZero=function(t){return 48===t.current()&&!ei(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},qr.regexp_eatControlEscape=function(t){var e=t.current();return 116===e?(t.lastIntValue=9,t.advance(),!0):110===e?(t.lastIntValue=10,t.advance(),!0):118===e?(t.lastIntValue=11,t.advance(),!0):102===e?(t.lastIntValue=12,t.advance(),!0):114===e&&(t.lastIntValue=13,t.advance(),!0)},qr.regexp_eatControlLetter=function(t){var e=t.current();return!!Zr(e)&&(t.lastIntValue=e%32,t.advance(),!0)},qr.regexp_eatRegExpUnicodeEscapeSequence=function(t,e){void 0===e&&(e=!1);var r,i=t.pos,n=e||t.switchU;if(t.eat(117)){if(this.regexp_eatFixedHexDigits(t,4)){var s=t.lastIntValue;if(n&&s>=55296&&s<=56319){var o=t.pos;if(t.eat(92)&&t.eat(117)&&this.regexp_eatFixedHexDigits(t,4)){var a=t.lastIntValue;if(a>=56320&&a<=57343)return t.lastIntValue=1024*(s-55296)+(a-56320)+65536,!0}t.pos=o,t.lastIntValue=s}return!0}if(n&&t.eat(123)&&this.regexp_eatHexDigits(t)&&t.eat(125)&&((r=t.lastIntValue)>=0&&r<=1114111))return!0;n&&t.raise("Invalid unicode escape"),t.pos=i}return!1},qr.regexp_eatIdentityEscape=function(t){if(t.switchU)return!!this.regexp_eatSyntaxCharacter(t)||!!t.eat(47)&&(t.lastIntValue=47,!0);var e=t.current();return!(99===e||t.switchN&&107===e)&&(t.lastIntValue=e,t.advance(),!0)},qr.regexp_eatDecimalEscape=function(t){t.lastIntValue=0;var e=t.current();if(e>=49&&e<=57){do{t.lastIntValue=10*t.lastIntValue+(e-48),t.advance()}while((e=t.current())>=48&&e<=57);return!0}return!1};function $r(t){return Zr(t)||95===t}function ti(t){return $r(t)||ei(t)}function ei(t){return t>=48&&t<=57}function ri(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function ii(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function ni(t){return t>=48&&t<=55}qr.regexp_eatCharacterClassEscape=function(t){var e=t.current();if(function(t){return 100===t||68===t||115===t||83===t||119===t||87===t}(e))return t.lastIntValue=-1,t.advance(),1;var r=!1;if(t.switchU&&this.options.ecmaVersion>=9&&((r=80===e)||112===e)){var i;if(t.lastIntValue=-1,t.advance(),t.eat(123)&&(i=this.regexp_eatUnicodePropertyValueExpression(t))&&t.eat(125))return r&&2===i&&t.raise("Invalid property name"),i;t.raise("Invalid property name")}return 0},qr.regexp_eatUnicodePropertyValueExpression=function(t){var e=t.pos;if(this.regexp_eatUnicodePropertyName(t)&&t.eat(61)){var r=t.lastStringValue;if(this.regexp_eatUnicodePropertyValue(t)){var i=t.lastStringValue;return this.regexp_validateUnicodePropertyNameAndValue(t,r,i),1}}if(t.pos=e,this.regexp_eatLoneUnicodePropertyNameOrValue(t)){var n=t.lastStringValue;return this.regexp_validateUnicodePropertyNameOrValue(t,n)}return 0},qr.regexp_validateUnicodePropertyNameAndValue=function(t,e,r){Qe(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(r)||t.raise("Invalid property value")},qr.regexp_validateUnicodePropertyNameOrValue=function(t,e){return t.unicodeProperties.binary.test(e)?1:t.switchV&&t.unicodeProperties.binaryOfStrings.test(e)?2:void t.raise("Invalid property name")},qr.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";$r(e=t.current());)t.lastStringValue+=qe(e),t.advance();return""!==t.lastStringValue},qr.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";ti(e=t.current());)t.lastStringValue+=qe(e),t.advance();return""!==t.lastStringValue},qr.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},qr.regexp_eatCharacterClass=function(t){if(t.eat(91)){var e=t.eat(94),r=this.regexp_classContents(t);return t.eat(93)||t.raise("Unterminated character class"),e&&2===r&&t.raise("Negated character class may contain strings"),!0}return!1},qr.regexp_classContents=function(t){return 93===t.current()?1:t.switchV?this.regexp_classSetExpression(t):(this.regexp_nonEmptyClassRanges(t),1)},qr.regexp_nonEmptyClassRanges=function(t){for(;this.regexp_eatClassAtom(t);){var e=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassAtom(t)){var r=t.lastIntValue;!t.switchU||-1!==e&&-1!==r||t.raise("Invalid character class"),-1!==e&&-1!==r&&e>r&&t.raise("Range out of order in character class")}}},qr.regexp_eatClassAtom=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatClassEscape(t))return!0;if(t.switchU){var r=t.current();(99===r||ni(r))&&t.raise("Invalid class escape"),t.raise("Invalid escape")}t.pos=e}var i=t.current();return 93!==i&&(t.lastIntValue=i,t.advance(),!0)},qr.regexp_eatClassEscape=function(t){var e=t.pos;if(t.eat(98))return t.lastIntValue=8,!0;if(t.switchU&&t.eat(45))return t.lastIntValue=45,!0;if(!t.switchU&&t.eat(99)){if(this.regexp_eatClassControlLetter(t))return!0;t.pos=e}return this.regexp_eatCharacterClassEscape(t)||this.regexp_eatCharacterEscape(t)},qr.regexp_classSetExpression=function(t){var e,r=1;if(this.regexp_eatClassSetRange(t));else if(e=this.regexp_eatClassSetOperand(t)){2===e&&(r=2);for(var i=t.pos;t.eatChars([38,38]);)38!==t.current()&&(e=this.regexp_eatClassSetOperand(t))?2!==e&&(r=1):t.raise("Invalid character in character class");if(i!==t.pos)return r;for(;t.eatChars([45,45]);)this.regexp_eatClassSetOperand(t)||t.raise("Invalid character in character class");if(i!==t.pos)return r}else t.raise("Invalid character in character class");for(;;)if(!this.regexp_eatClassSetRange(t)){if(!(e=this.regexp_eatClassSetOperand(t)))return r;2===e&&(r=2)}},qr.regexp_eatClassSetRange=function(t){var e=t.pos;if(this.regexp_eatClassSetCharacter(t)){var r=t.lastIntValue;if(t.eat(45)&&this.regexp_eatClassSetCharacter(t)){var i=t.lastIntValue;return-1!==r&&-1!==i&&r>i&&t.raise("Range out of order in character class"),!0}t.pos=e}return!1},qr.regexp_eatClassSetOperand=function(t){return this.regexp_eatClassSetCharacter(t)?1:this.regexp_eatClassStringDisjunction(t)||this.regexp_eatNestedClass(t)},qr.regexp_eatNestedClass=function(t){var e=t.pos;if(t.eat(91)){var r=t.eat(94),i=this.regexp_classContents(t);if(t.eat(93))return r&&2===i&&t.raise("Negated character class may contain strings"),i;t.pos=e}if(t.eat(92)){var n=this.regexp_eatCharacterClassEscape(t);if(n)return n;t.pos=e}return null},qr.regexp_eatClassStringDisjunction=function(t){var e=t.pos;if(t.eatChars([92,113])){if(t.eat(123)){var r=this.regexp_classStringDisjunctionContents(t);if(t.eat(125))return r}else t.raise("Invalid escape");t.pos=e}return null},qr.regexp_classStringDisjunctionContents=function(t){for(var e=this.regexp_classString(t);t.eat(124);)2===this.regexp_classString(t)&&(e=2);return e},qr.regexp_classString=function(t){for(var e=0;this.regexp_eatClassSetCharacter(t);)e++;return 1===e?1:2},qr.regexp_eatClassSetCharacter=function(t){var e=t.pos;if(t.eat(92))return!(!this.regexp_eatCharacterEscape(t)&&!this.regexp_eatClassSetReservedPunctuator(t))||(t.eat(98)?(t.lastIntValue=8,!0):(t.pos=e,!1));var r=t.current();return!(r<0||r===t.lookahead()&&function(t){return 33===t||t>=35&&t<=38||t>=42&&t<=44||46===t||t>=58&&t<=64||94===t||96===t||126===t}(r))&&(!function(t){return 40===t||41===t||45===t||47===t||t>=91&&t<=93||t>=123&&t<=125}(r)&&(t.advance(),t.lastIntValue=r,!0))},qr.regexp_eatClassSetReservedPunctuator=function(t){var e=t.current();return!!function(t){return 33===t||35===t||37===t||38===t||44===t||45===t||t>=58&&t<=62||64===t||96===t||126===t}(e)&&(t.lastIntValue=e,t.advance(),!0)},qr.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!ei(e)&&95!==e)&&(t.lastIntValue=e%32,t.advance(),!0)},qr.regexp_eatHexEscapeSequence=function(t){var e=t.pos;if(t.eat(120)){if(this.regexp_eatFixedHexDigits(t,2))return!0;t.switchU&&t.raise("Invalid escape"),t.pos=e}return!1},qr.regexp_eatDecimalDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;ei(r=t.current());)t.lastIntValue=10*t.lastIntValue+(r-48),t.advance();return t.pos!==e},qr.regexp_eatHexDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;ri(r=t.current());)t.lastIntValue=16*t.lastIntValue+ii(r),t.advance();return t.pos!==e},qr.regexp_eatLegacyOctalEscapeSequence=function(t){if(this.regexp_eatOctalDigit(t)){var e=t.lastIntValue;if(this.regexp_eatOctalDigit(t)){var r=t.lastIntValue;e<=3&&this.regexp_eatOctalDigit(t)?t.lastIntValue=64*e+8*r+t.lastIntValue:t.lastIntValue=8*e+r}else t.lastIntValue=e;return!0}return!1},qr.regexp_eatOctalDigit=function(t){var e=t.current();return ni(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},qr.regexp_eatFixedHexDigits=function(t,e){var r=t.pos;t.lastIntValue=0;for(var i=0;i<e;++i){var n=t.current();if(!ri(n))return t.pos=r,!1;t.lastIntValue=16*t.lastIntValue+ii(n),t.advance()}return!0};var si=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Ye(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},oi=nr.prototype;function ai(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}oi.next=function(t){!t&&this.type.keyword&&this.containsEsc&&this.raiseRecoverable(this.start,"Escape sequence in keyword "+this.type.keyword),this.options.onToken&&this.options.onToken(new si(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},oi.getToken=function(){return this.next(),new si(this)},"undefined"!=typeof Symbol&&(oi[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===Oe.eof,value:e}}}}),oi.nextToken=function(){var t=this.curContext();return t&&t.preserveSpace||this.skipSpace(),this.start=this.pos,this.options.locations&&(this.startLoc=this.curPosition()),this.pos>=this.input.length?this.finishToken(Oe.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},oi.readToken=function(t){return Ie(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},oi.fullCharCodeAtPos=function(){var t=this.input.charCodeAt(this.pos);if(t<=55295||t>=56320)return t;var e=this.input.charCodeAt(this.pos+1);return e<=56319||e>=57344?t:(t<<10)+e-56613888},oi.skipBlockComment=function(){var t=this.options.onComment&&this.curPosition(),e=this.pos,r=this.input.indexOf("*/",this.pos+=2);if(-1===r&&this.raise(this.pos-2,"Unterminated comment"),this.pos=r+2,this.options.locations)for(var i=void 0,n=e;(i=Ue(this.input,n,this.pos))>-1;)++this.curLine,n=this.lineStart=i;this.options.onComment&&this.options.onComment(!0,this.input.slice(e+2,r),e,this.pos,t,this.curPosition())},oi.skipLineComment=function(t){for(var e=this.pos,r=this.options.onComment&&this.curPosition(),i=this.input.charCodeAt(this.pos+=t);this.pos<this.input.length&&!Le(i);)i=this.input.charCodeAt(++this.pos);this.options.onComment&&this.options.onComment(!1,this.input.slice(e+t,this.pos),e,this.pos,r,this.curPosition())},oi.skipSpace=function(){t:for(;this.pos<this.input.length;){var t=this.input.charCodeAt(this.pos);switch(t){case 32:case 160:++this.pos;break;case 13:10===this.input.charCodeAt(this.pos+1)&&++this.pos;case 10:case 8232:case 8233:++this.pos,this.options.locations&&(++this.curLine,this.lineStart=this.pos);break;case 47:switch(this.input.charCodeAt(this.pos+1)){case 42:this.skipBlockComment();break;case 47:this.skipLineComment(2);break;default:break t}break;default:if(!(t>8&&t<14||t>=5760&&Me.test(String.fromCharCode(t))))break t;++this.pos}}},oi.finishToken=function(t,e){this.end=this.pos,this.options.locations&&(this.endLoc=this.curPosition());var r=this.type;this.type=t,this.value=e,this.updateContext(r)},oi.readToken_dot=function(){var t=this.input.charCodeAt(this.pos+1);if(t>=48&&t<=57)return this.readNumber(!0);var e=this.input.charCodeAt(this.pos+2);return this.options.ecmaVersion>=6&&46===t&&46===e?(this.pos+=3,this.finishToken(Oe.ellipsis)):(++this.pos,this.finishToken(Oe.dot))},oi.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(Oe.assign,2):this.finishOp(Oe.slash,1)},oi.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),r=1,i=42===t?Oe.star:Oe.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++r,i=Oe.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(Oe.assign,r+1):this.finishOp(i,r)},oi.readToken_pipe_amp=function(t){var e=this.input.charCodeAt(this.pos+1);if(e===t){if(this.options.ecmaVersion>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Oe.assign,3);return this.finishOp(124===t?Oe.logicalOR:Oe.logicalAND,2)}return 61===e?this.finishOp(Oe.assign,2):this.finishOp(124===t?Oe.bitwiseOR:Oe.bitwiseAND,1)},oi.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(Oe.assign,2):this.finishOp(Oe.bitwiseXOR,1)},oi.readToken_plus_min=function(t){var e=this.input.charCodeAt(this.pos+1);return e===t?45!==e||this.inModule||62!==this.input.charCodeAt(this.pos+2)||0!==this.lastTokEnd&&!De.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(Oe.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(Oe.assign,2):this.finishOp(Oe.plusMin,1)},oi.readToken_lt_gt=function(t){var e=this.input.charCodeAt(this.pos+1),r=1;return e===t?(r=62===t&&62===this.input.charCodeAt(this.pos+2)?3:2,61===this.input.charCodeAt(this.pos+r)?this.finishOp(Oe.assign,r+1):this.finishOp(Oe.bitShift,r)):33!==e||60!==t||this.inModule||45!==this.input.charCodeAt(this.pos+2)||45!==this.input.charCodeAt(this.pos+3)?(61===e&&(r=2),this.finishOp(Oe.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},oi.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(Oe.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(Oe.arrow)):this.finishOp(61===t?Oe.eq:Oe.prefix,1)},oi.readToken_question=function(){var t=this.options.ecmaVersion;if(t>=11){var e=this.input.charCodeAt(this.pos+1);if(46===e){var r=this.input.charCodeAt(this.pos+2);if(r<48||r>57)return this.finishOp(Oe.questionDot,2)}if(63===e){if(t>=12)if(61===this.input.charCodeAt(this.pos+2))return this.finishOp(Oe.assign,3);return this.finishOp(Oe.coalesce,2)}}return this.finishOp(Oe.question,1)},oi.readToken_numberSign=function(){var t=35;if(this.options.ecmaVersion>=13&&(++this.pos,Ie(t=this.fullCharCodeAtPos(),!0)||92===t))return this.finishToken(Oe.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+qe(t)+"'")},oi.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(Oe.parenL);case 41:return++this.pos,this.finishToken(Oe.parenR);case 59:return++this.pos,this.finishToken(Oe.semi);case 44:return++this.pos,this.finishToken(Oe.comma);case 91:return++this.pos,this.finishToken(Oe.bracketL);case 93:return++this.pos,this.finishToken(Oe.bracketR);case 123:return++this.pos,this.finishToken(Oe.braceL);case 125:return++this.pos,this.finishToken(Oe.braceR);case 58:return++this.pos,this.finishToken(Oe.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(Oe.backQuote);case 48:var e=this.input.charCodeAt(this.pos+1);if(120===e||88===e)return this.readRadixNumber(16);if(this.options.ecmaVersion>=6){if(111===e||79===e)return this.readRadixNumber(8);if(98===e||66===e)return this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return this.readNumber(!1);case 34:case 39:return this.readString(t);case 47:return this.readToken_slash();case 37:case 42:return this.readToken_mult_modulo_exp(t);case 124:case 38:return this.readToken_pipe_amp(t);case 94:return this.readToken_caret();case 43:case 45:return this.readToken_plus_min(t);case 60:case 62:return this.readToken_lt_gt(t);case 61:case 33:return this.readToken_eq_excl(t);case 63:return this.readToken_question();case 126:return this.finishOp(Oe.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+qe(t)+"'")},oi.finishOp=function(t,e){var r=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,r)},oi.readRegexp=function(){for(var t,e,r=this.pos;;){this.pos>=this.input.length&&this.raise(r,"Unterminated regular expression");var i=this.input.charAt(this.pos);if(De.test(i)&&this.raise(r,"Unterminated regular expression"),t)t=!1;else{if("["===i)e=!0;else if("]"===i&&e)e=!1;else if("/"===i&&!e)break;t="\\"===i}++this.pos}var n=this.input.slice(r,this.pos);++this.pos;var s=this.pos,o=this.readWord1();this.containsEsc&&this.unexpected(s);var a=this.regexpState||(this.regexpState=new Xr(this));a.reset(r,n,o),this.validateRegExpFlags(a),this.validateRegExpPattern(a);var c=null;try{c=new RegExp(n,o)}catch(t){}return this.finishToken(Oe.regexp,{pattern:n,flags:o,value:c})},oi.readInt=function(t,e,r){for(var i=this.options.ecmaVersion>=12&&void 0===e,n=r&&48===this.input.charCodeAt(this.pos),s=this.pos,o=0,a=0,c=0,l=null==e?1/0:e;c<l;++c,++this.pos){var h=this.input.charCodeAt(this.pos),u=void 0;if(i&&95===h)n&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed in legacy octal numeric literals"),95===a&&this.raiseRecoverable(this.pos,"Numeric separator must be exactly one underscore"),0===c&&this.raiseRecoverable(this.pos,"Numeric separator is not allowed at the first of digits"),a=h;else{if((u=h>=97?h-97+10:h>=65?h-65+10:h>=48&&h<=57?h-48:1/0)>=t)break;a=h,o=o*t+u}}return i&&95===a&&this.raiseRecoverable(this.pos-1,"Numeric separator is not allowed at the last of digits"),this.pos===s||null!=e&&this.pos-s!==e?null:o},oi.readRadixNumber=function(t){var e=this.pos;this.pos+=2;var r=this.readInt(t);return null==r&&this.raise(this.start+2,"Expected number in radix "+t),this.options.ecmaVersion>=11&&110===this.input.charCodeAt(this.pos)?(r=ai(this.input.slice(e,this.pos)),++this.pos):Ie(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Oe.num,r)},oi.readNumber=function(t){var e=this.pos;t||null!==this.readInt(10,void 0,!0)||this.raise(e,"Invalid number");var r=this.pos-e>=2&&48===this.input.charCodeAt(e);r&&this.strict&&this.raise(e,"Invalid number");var i=this.input.charCodeAt(this.pos);if(!r&&!t&&this.options.ecmaVersion>=11&&110===i){var n=ai(this.input.slice(e,this.pos));return++this.pos,Ie(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(Oe.num,n)}r&&/[89]/.test(this.input.slice(e,this.pos))&&(r=!1),46!==i||r||(++this.pos,this.readInt(10),i=this.input.charCodeAt(this.pos)),69!==i&&101!==i||r||(43!==(i=this.input.charCodeAt(++this.pos))&&45!==i||++this.pos,null===this.readInt(10)&&this.raise(e,"Invalid number")),Ie(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number");var s=function(t,e){return e?parseInt(t,8):parseFloat(t.replace(/_/g,""))}(this.input.slice(e,this.pos),r);return this.finishToken(Oe.num,s)},oi.readCodePoint=function(){var t;if(123===this.input.charCodeAt(this.pos)){this.options.ecmaVersion<6&&this.unexpected();var e=++this.pos;t=this.readHexChar(this.input.indexOf("}",this.pos)-this.pos),++this.pos,t>1114111&&this.invalidStringToken(e,"Code point out of bounds")}else t=this.readHexChar(4);return t},oi.readString=function(t){for(var e="",r=++this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated string constant");var i=this.input.charCodeAt(this.pos);if(i===t)break;92===i?(e+=this.input.slice(r,this.pos),e+=this.readEscapedChar(!1),r=this.pos):8232===i||8233===i?(this.options.ecmaVersion<10&&this.raise(this.start,"Unterminated string constant"),++this.pos,this.options.locations&&(this.curLine++,this.lineStart=this.pos)):(Le(i)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(r,this.pos++),this.finishToken(Oe.string,e)};var ci={};oi.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==ci)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},oi.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw ci;this.raise(t,e)},oi.readTmplToken=function(){for(var t="",e=this.pos;;){this.pos>=this.input.length&&this.raise(this.start,"Unterminated template");var r=this.input.charCodeAt(this.pos);if(96===r||36===r&&123===this.input.charCodeAt(this.pos+1))return this.pos!==this.start||this.type!==Oe.template&&this.type!==Oe.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(Oe.template,t)):36===r?(this.pos+=2,this.finishToken(Oe.dollarBraceL)):(++this.pos,this.finishToken(Oe.backQuote));if(92===r)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(Le(r)){switch(t+=this.input.slice(e,this.pos),++this.pos,r){case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:t+="\n";break;default:t+=String.fromCharCode(r)}this.options.locations&&(++this.curLine,this.lineStart=this.pos),e=this.pos}else++this.pos}},oi.readInvalidTemplateToken=function(){for(;this.pos<this.input.length;this.pos++)switch(this.input[this.pos]){case"\\":++this.pos;break;case"$":if("{"!==this.input[this.pos+1])break;case"`":return this.finishToken(Oe.invalidTemplate,this.input.slice(this.start,this.pos));case"\r":"\n"===this.input[this.pos+1]&&++this.pos;case"\n":case"\u2028":case"\u2029":++this.curLine,this.lineStart=this.pos+1}this.raise(this.start,"Unterminated template")},oi.readEscapedChar=function(t){var e=this.input.charCodeAt(++this.pos);switch(++this.pos,e){case 110:return"\n";case 114:return"\r";case 120:return String.fromCharCode(this.readHexChar(2));case 117:return qe(this.readCodePoint());case 116:return"\t";case 98:return"\b";case 118:return"\v";case 102:return"\f";case 13:10===this.input.charCodeAt(this.pos)&&++this.pos;case 10:return this.options.locations&&(this.lineStart=this.pos,++this.curLine),"";case 56:case 57:if(this.strict&&this.invalidStringToken(this.pos-1,"Invalid escape sequence"),t){var r=this.pos-1;this.invalidStringToken(r,"Invalid escape sequence in template string")}default:if(e>=48&&e<=55){var i=this.input.substr(this.pos-1,3).match(/^[0-7]+/)[0],n=parseInt(i,8);return n>255&&(i=i.slice(0,-1),n=parseInt(i,8)),this.pos+=i.length-1,e=this.input.charCodeAt(this.pos),"0"===i&&56!==e&&57!==e||!this.strict&&!t||this.invalidStringToken(this.pos-1-i.length,t?"Octal literal in template string":"Octal literal in strict mode"),String.fromCharCode(n)}return Le(e)?(this.options.locations&&(this.lineStart=this.pos,++this.curLine),""):String.fromCharCode(e)}},oi.readHexChar=function(t){var e=this.pos,r=this.readInt(16,t);return null===r&&this.invalidStringToken(e,"Bad character escape sequence"),r},oi.readWord1=function(){this.containsEsc=!1;for(var t="",e=!0,r=this.pos,i=this.options.ecmaVersion>=6;this.pos<this.input.length;){var n=this.fullCharCodeAtPos();if(Se(n,i))this.pos+=n<=65535?1:2;else{if(92!==n)break;this.containsEsc=!0,t+=this.input.slice(r,this.pos);var s=this.pos;117!==this.input.charCodeAt(++this.pos)&&this.invalidStringToken(this.pos,"Expecting Unicode escape sequence \\uXXXX"),++this.pos;var o=this.readCodePoint();(e?Ie:Se)(o,i)||this.invalidStringToken(s,"Invalid Unicode escape"),t+=qe(o),r=this.pos}e=!1}return t+this.input.slice(r,this.pos)},oi.readWord=function(){var t=this.readWord1(),e=Oe.name;return this.keywords.test(t)&&(e=Be[t]),this.finishToken(e,t)};nr.acorn={Parser:nr,version:"8.15.0",defaultOptions:Ze,Position:Xe,SourceLocation:Ye,getLineInfo:Je,Node:Cr,TokenType:Te,tokTypes:Oe,keywordTypes:Be,TokContext:wr,tokContexts:Ar,isIdentifierChar:Se,isIdentifierStart:Ie,Token:si,isNewLine:Le,lineBreak:De,lineBreakG:Pe,nonASCIIwhitespace:Me};const li=/^\s*?import\s*?[{"'*]/,hi=/^\s*?export\s*?({([\s\w,$\n]+?)}[\s;]*|default|class)\s+/m,ui=/(^|;)\s*?(?:im|ex)port(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s])(?:.*?)['"\s]/,pi=/((?:im|ex)port(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s]))((?:https?|[./]).*?)(['"\s])/,di=["window","globalThis","self","document","location","top","parent","frames","opener"],fi=["globalThis","self","location"],gi=di.map(t=>`(?:^|[^$.])\\b${t}\\b(?:$|[^$])`).join("|"),mi=new RegExp(`(${gi})`),yi=(()=>{const t="_____WB$wombat$check$this$function_____(this)",e="WB_wombat_runEval2((_______eval_arg, isGlobal) => { var ge = eval; return isGlobal ? ge(_______eval_arg) : eval(_______eval_arg); }).eval(this, (function() { return arguments })(),";function r(){return(e,r,i,n)=>function(t,e){let r=t.lastIndexOf('"',e);return r<0&&(r=t.indexOf('"',e)),r>0&&"\\"===t[r-1]}(n,i)?e:e.replace("this",t)}function i(t,e){return r=>r.replace(t,e)}return[[/(?<!static|function|})(?:^|\s)\beval\s*\(/,(a=e,c="eval",t=>{const e=t.indexOf(c);return 0===e?a:t.slice(0,e)+a})],[/\([\w]+,\s*eval\)\(/,()=>" "+e],[/[=]\s*\beval\b(?![(:.$])/,i("eval","self.eval")],[/var\s+self/,i("var","let")],[/\.postMessage\b\(/,function(t){return e=>t+e}(".__WB_pmw(self)")],[/(?:^|[^$.+*/%^-])\s?\blocation\b\s*[=]\s*(?![\s\d=>])/,(o="((self.__WB_check_loc && self.__WB_check_loc(location, arguments)) || {}).maybeHref = ",(t,e,r,i)=>{if(r>0){const e=i[r-1];if("."===e||"$"===e)return t}return t+function(t,e,r,i){return void 0===e.isStrict&&(e.isStrict=i.slice(0,r).indexOf("class ")>=0),e.isStrict?t.replace("arguments","[]"):t}(o,e,r,i)})],[/\breturn\s+this\b\s*(?![\s\w.$])/,r()],[new RegExp(`[^$.]\\s?\\bthis\\b(?=(?:\\.(?:${di.join("|")})\\b))`),(e,r,i,n)=>{const s=n[i];return"\n"===s?e.replace("this",";"+t):"."!==s&&"$"!==s?e.replace("this",t):e}],[/[=,]\s*\bthis\b\s*(?![\s\w:.$])/,r()],[/\}(?:\s*\))?\s*\(this\)/,r()],[/[^|&][|&]{2}\s*this\b\s*(?![|\s&.$](?:[^|&]|$))/,r()],[/async\s+import\s*\(/,t=>t],[/[^$.]\bimport\s*\([^)]*\)\s*\{/,t=>t],[/[^$.]\bimport\s*\(/,(n="import",s="____wb_rewrite_import__",(t,e)=>{let r=t.replace(n,s);return r+=e.isModule?"import.meta.url, ":"null, ",r})]];var n,s,o,a,c})();const wi=new Set([65534,65535,131070,131071,196606,196607,262142,262143,327678,327679,393214,393215,458750,458751,524286,524287,589822,589823,655358,655359,720894,720895,786430,786431,851966,851967,917502,917503,983038,983039,1048574,1048575,1114110,1114111]),Ai="�";var bi;!function(t){t[t.EOF=-1]="EOF",t[t.NULL=0]="NULL",t[t.TABULATION=9]="TABULATION",t[t.CARRIAGE_RETURN=13]="CARRIAGE_RETURN",t[t.LINE_FEED=10]="LINE_FEED",t[t.FORM_FEED=12]="FORM_FEED",t[t.SPACE=32]="SPACE",t[t.EXCLAMATION_MARK=33]="EXCLAMATION_MARK",t[t.QUOTATION_MARK=34]="QUOTATION_MARK",t[t.NUMBER_SIGN=35]="NUMBER_SIGN",t[t.AMPERSAND=38]="AMPERSAND",t[t.APOSTROPHE=39]="APOSTROPHE",t[t.HYPHEN_MINUS=45]="HYPHEN_MINUS",t[t.SOLIDUS=47]="SOLIDUS",t[t.DIGIT_0=48]="DIGIT_0",t[t.DIGIT_9=57]="DIGIT_9",t[t.SEMICOLON=59]="SEMICOLON",t[t.LESS_THAN_SIGN=60]="LESS_THAN_SIGN",t[t.EQUALS_SIGN=61]="EQUALS_SIGN",t[t.GREATER_THAN_SIGN=62]="GREATER_THAN_SIGN",t[t.QUESTION_MARK=63]="QUESTION_MARK",t[t.LATIN_CAPITAL_A=65]="LATIN_CAPITAL_A",t[t.LATIN_CAPITAL_F=70]="LATIN_CAPITAL_F",t[t.LATIN_CAPITAL_X=88]="LATIN_CAPITAL_X",t[t.LATIN_CAPITAL_Z=90]="LATIN_CAPITAL_Z",t[t.RIGHT_SQUARE_BRACKET=93]="RIGHT_SQUARE_BRACKET",t[t.GRAVE_ACCENT=96]="GRAVE_ACCENT",t[t.LATIN_SMALL_A=97]="LATIN_SMALL_A",t[t.LATIN_SMALL_F=102]="LATIN_SMALL_F",t[t.LATIN_SMALL_X=120]="LATIN_SMALL_X",t[t.LATIN_SMALL_Z=122]="LATIN_SMALL_Z",t[t.REPLACEMENT_CHARACTER=65533]="REPLACEMENT_CHARACTER"}(bi=bi||(bi={}));const vi="--",Ei="[CDATA[",_i="doctype",xi="script",Ii="public",Si="system";function Ti(t){return t>=55296&&t<=57343}function Ci(t){return 32!==t&&10!==t&&13!==t&&9!==t&&12!==t&&t>=1&&t<=31||t>=127&&t<=159}function Ri(t){return t>=64976&&t<=65007||wi.has(t)}var ki;!function(t){t.controlCharacterInInputStream="control-character-in-input-stream",t.noncharacterInInputStream="noncharacter-in-input-stream",t.surrogateInInputStream="surrogate-in-input-stream",t.nonVoidHtmlElementStartTagWithTrailingSolidus="non-void-html-element-start-tag-with-trailing-solidus",t.endTagWithAttributes="end-tag-with-attributes",t.endTagWithTrailingSolidus="end-tag-with-trailing-solidus",t.unexpectedSolidusInTag="unexpected-solidus-in-tag",t.unexpectedNullCharacter="unexpected-null-character",t.unexpectedQuestionMarkInsteadOfTagName="unexpected-question-mark-instead-of-tag-name",t.invalidFirstCharacterOfTagName="invalid-first-character-of-tag-name",t.unexpectedEqualsSignBeforeAttributeName="unexpected-equals-sign-before-attribute-name",t.missingEndTagName="missing-end-tag-name",t.unexpectedCharacterInAttributeName="unexpected-character-in-attribute-name",t.unknownNamedCharacterReference="unknown-named-character-reference",t.missingSemicolonAfterCharacterReference="missing-semicolon-after-character-reference",t.unexpectedCharacterAfterDoctypeSystemIdentifier="unexpected-character-after-doctype-system-identifier",t.unexpectedCharacterInUnquotedAttributeValue="unexpected-character-in-unquoted-attribute-value",t.eofBeforeTagName="eof-before-tag-name",t.eofInTag="eof-in-tag",t.missingAttributeValue="missing-attribute-value",t.missingWhitespaceBetweenAttributes="missing-whitespace-between-attributes",t.missingWhitespaceAfterDoctypePublicKeyword="missing-whitespace-after-doctype-public-keyword",t.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers="missing-whitespace-between-doctype-public-and-system-identifiers",t.missingWhitespaceAfterDoctypeSystemKeyword="missing-whitespace-after-doctype-system-keyword",t.missingQuoteBeforeDoctypePublicIdentifier="missing-quote-before-doctype-public-identifier",t.missingQuoteBeforeDoctypeSystemIdentifier="missing-quote-before-doctype-system-identifier",t.missingDoctypePublicIdentifier="missing-doctype-public-identifier",t.missingDoctypeSystemIdentifier="missing-doctype-system-identifier",t.abruptDoctypePublicIdentifier="abrupt-doctype-public-identifier",t.abruptDoctypeSystemIdentifier="abrupt-doctype-system-identifier",t.cdataInHtmlContent="cdata-in-html-content",t.incorrectlyOpenedComment="incorrectly-opened-comment",t.eofInScriptHtmlCommentLikeText="eof-in-script-html-comment-like-text",t.eofInDoctype="eof-in-doctype",t.nestedComment="nested-comment",t.abruptClosingOfEmptyComment="abrupt-closing-of-empty-comment",t.eofInComment="eof-in-comment",t.incorrectlyClosedComment="incorrectly-closed-comment",t.eofInCdata="eof-in-cdata",t.absenceOfDigitsInNumericCharacterReference="absence-of-digits-in-numeric-character-reference",t.nullCharacterReference="null-character-reference",t.surrogateCharacterReference="surrogate-character-reference",t.characterReferenceOutsideUnicodeRange="character-reference-outside-unicode-range",t.controlCharacterReference="control-character-reference",t.noncharacterCharacterReference="noncharacter-character-reference",t.missingWhitespaceBeforeDoctypeName="missing-whitespace-before-doctype-name",t.missingDoctypeName="missing-doctype-name",t.invalidCharacterSequenceAfterDoctypeName="invalid-character-sequence-after-doctype-name",t.duplicateAttribute="duplicate-attribute",t.nonConformingDoctype="non-conforming-doctype",t.missingDoctype="missing-doctype",t.misplacedDoctype="misplaced-doctype",t.endTagWithoutMatchingOpenElement="end-tag-without-matching-open-element",t.closingOfElementWithOpenChildElements="closing-of-element-with-open-child-elements",t.disallowedContentInNoscriptInHead="disallowed-content-in-noscript-in-head",t.openElementsLeftAfterEof="open-elements-left-after-eof",t.abandonedHeadElementChild="abandoned-head-element-child",t.misplacedStartTagForHeadElement="misplaced-start-tag-for-head-element",t.nestedNoscriptInHead="nested-noscript-in-head",t.eofInElementThatCanContainOnlyText="eof-in-element-that-can-contain-only-text"}(ki=ki||(ki={}));class Bi{constructor(t){this.handler=t,this.html="",this.pos=-1,this.lastGapPos=-2,this.gapStack=[],this.skipNextNewLine=!1,this.lastChunkWritten=!1,this.endOfChunkHit=!1,this.bufferWaterline=65536,this.isEol=!1,this.lineStartPos=0,this.droppedBufferSize=0,this.line=1,this.lastErrOffset=-1}get col(){return this.pos-this.lineStartPos+Number(this.lastGapPos!==this.pos)}get offset(){return this.droppedBufferSize+this.pos}getError(t){const{line:e,col:r,offset:i}=this;return{code:t,startLine:e,endLine:e,startCol:r,endCol:r,startOffset:i,endOffset:i}}_err(t){this.handler.onParseError&&this.lastErrOffset!==this.offset&&(this.lastErrOffset=this.offset,this.handler.onParseError(this.getError(t)))}_addGap(){this.gapStack.push(this.lastGapPos),this.lastGapPos=this.pos}_processSurrogate(t){if(this.pos!==this.html.length-1){const e=this.html.charCodeAt(this.pos+1);if(function(t){return t>=56320&&t<=57343}(e))return this.pos++,this._addGap(),1024*(t-55296)+9216+e}else if(!this.lastChunkWritten)return this.endOfChunkHit=!0,bi.EOF;return this._err(ki.surrogateInInputStream),t}willDropParsedChunk(){return this.pos>this.bufferWaterline}dropParsedChunk(){this.willDropParsedChunk()&&(this.html=this.html.substring(this.pos),this.lineStartPos-=this.pos,this.droppedBufferSize+=this.pos,this.pos=0,this.lastGapPos=-2,this.gapStack.length=0)}write(t,e){this.html.length>0?this.html+=t:this.html=t,this.endOfChunkHit=!1,this.lastChunkWritten=e}insertHtmlAtCurrentPos(t){this.html=this.html.substring(0,this.pos+1)+t+this.html.substring(this.pos+1),this.endOfChunkHit=!1}startsWith(t,e){if(this.pos+t.length>this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,!1;if(e)return this.html.startsWith(t,this.pos);for(let e=0;e<t.length;e++){if((32|this.html.charCodeAt(this.pos+e))!==t.charCodeAt(e))return!1}return!0}peek(t){const e=this.pos+t;if(e>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,bi.EOF;const r=this.html.charCodeAt(e);return r===bi.CARRIAGE_RETURN?bi.LINE_FEED:r}advance(){if(this.pos++,this.isEol&&(this.isEol=!1,this.line++,this.lineStartPos=this.pos),this.pos>=this.html.length)return this.endOfChunkHit=!this.lastChunkWritten,bi.EOF;let t=this.html.charCodeAt(this.pos);if(t===bi.CARRIAGE_RETURN)return this.isEol=!0,this.skipNextNewLine=!0,bi.LINE_FEED;if(t===bi.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine))return this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance();this.skipNextNewLine=!1,Ti(t)&&(t=this._processSurrogate(t));return null===this.handler.onParseError||t>31&&t<127||t===bi.LINE_FEED||t===bi.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t}_checkForProblematicCharacters(t){Ci(t)?this._err(ki.controlCharacterInInputStream):Ri(t)&&this._err(ki.noncharacterInInputStream)}retreat(t){for(this.pos-=t;this.pos<this.lastGapPos;)this.lastGapPos=this.gapStack.pop(),this.pos--;this.isEol=!1}}var Ni;!function(t){t[t.CHARACTER=0]="CHARACTER",t[t.NULL_CHARACTER=1]="NULL_CHARACTER",t[t.WHITESPACE_CHARACTER=2]="WHITESPACE_CHARACTER",t[t.START_TAG=3]="START_TAG",t[t.END_TAG=4]="END_TAG",t[t.COMMENT=5]="COMMENT",t[t.DOCTYPE=6]="DOCTYPE",t[t.EOF=7]="EOF",t[t.HIBERNATION=8]="HIBERNATION"}(Ni=Ni||(Ni={}));const Oi=new Uint16Array('ᵁ<Õıʊҝջאٵ۞ޢߖࠏ੊ઑඡ๭༉༦჊ረዡᐕᒝᓃᓟᔥ\0\0\0\0\0\0ᕫᛍᦍᰒᷝ὾⁠↰⊍⏀⏻⑂⠤⤒ⴈ⹈⿎〖㊺㘹㞬㣾㨨㩱㫠㬮ࠀEMabcfglmnoprstu\\bfms„‹•˜¦³¹ÈÏlig耻Æ䃆P耻&䀦cute耻Á䃁reve;䄂Āiyx}rc耻Â䃂;䐐r;쀀𝔄rave耻À䃀pha;䎑acr;䄀d;橓Āgp¡on;䄄f;쀀𝔸plyFunction;恡ing耻Å䃅Ācs¾Ãr;쀀𝒜ign;扔ilde耻Ã䃃ml耻Ä䃄ЀaceforsuåûþėĜĢħĪĀcrêòkslash;或Ŷöø;櫧ed;挆y;䐑ƀcrtąċĔause;戵noullis;愬a;䎒r;쀀𝔅pf;쀀𝔹eve;䋘còēmpeq;扎܀HOacdefhilorsuōőŖƀƞƢƵƷƺǜȕɳɸɾcy;䐧PY耻©䂩ƀcpyŝŢźute;䄆Ā;iŧŨ拒talDifferentialD;慅leys;愭ȀaeioƉƎƔƘron;䄌dil耻Ç䃇rc;䄈nint;戰ot;䄊ĀdnƧƭilla;䂸terDot;䂷òſi;䎧rcleȀDMPTLJNjǑǖot;抙inus;抖lus;投imes;抗oĀcsǢǸkwiseContourIntegral;戲eCurlyĀDQȃȏoubleQuote;思uote;怙ȀlnpuȞȨɇɕonĀ;eȥȦ户;橴ƀgitȯȶȺruent;扡nt;戯ourIntegral;戮ĀfrɌɎ;愂oduct;成nterClockwiseContourIntegral;戳oss;樯cr;쀀𝒞pĀ;Cʄʅ拓ap;才րDJSZacefiosʠʬʰʴʸˋ˗ˡ˦̳ҍĀ;oŹʥtrahd;椑cy;䐂cy;䐅cy;䐏ƀgrsʿ˄ˇger;怡r;憡hv;櫤Āayː˕ron;䄎;䐔lĀ;t˝˞戇a;䎔r;쀀𝔇Āaf˫̧Ācm˰̢riticalȀADGT̖̜̀̆cute;䂴oŴ̋̍;䋙bleAcute;䋝rave;䁠ilde;䋜ond;拄ferentialD;慆Ѱ̽\0\0\0͔͂\0Ѕf;쀀𝔻ƀ;DE͈͉͍䂨ot;惜qual;扐blèCDLRUVͣͲ΂ϏϢϸontourIntegraìȹoɴ͹\0\0ͻ»͉nArrow;懓Āeo·ΤftƀARTΐΖΡrrow;懐ightArrow;懔eåˊngĀLRΫτeftĀARγιrrow;柸ightArrow;柺ightArrow;柹ightĀATϘϞrrow;懒ee;抨pɁϩ\0\0ϯrrow;懑ownArrow;懕erticalBar;戥ǹABLRTaВЪаўѿͼrrowƀ;BUНОТ憓ar;椓pArrow;懵reve;䌑eft˒к\0ц\0ѐightVector;楐eeVector;楞ectorĀ;Bљњ憽ar;楖ightǔѧ\0ѱeeVector;楟ectorĀ;BѺѻ懁ar;楗eeĀ;A҆҇护rrow;憧ĀctҒҗr;쀀𝒟rok;䄐ࠀNTacdfglmopqstuxҽӀӄӋӞӢӧӮӵԡԯԶՒ՝ՠեG;䅊H耻Ð䃐cute耻É䃉ƀaiyӒӗӜron;䄚rc耻Ê䃊;䐭ot;䄖r;쀀𝔈rave耻È䃈ement;戈ĀapӺӾcr;䄒tyɓԆ\0\0ԒmallSquare;旻erySmallSquare;斫ĀgpԦԪon;䄘f;쀀𝔼silon;䎕uĀaiԼՉlĀ;TՂՃ橵ilde;扂librium;懌Āci՗՚r;愰m;橳a;䎗ml耻Ë䃋Āipժկsts;戃onentialE;慇ʀcfiosօֈ֍ֲ׌y;䐤r;쀀𝔉lledɓ֗\0\0֣mallSquare;旼erySmallSquare;斪Ͱֺ\0ֿ\0\0ׄf;쀀𝔽All;戀riertrf;愱cò׋؀JTabcdfgorstר׬ׯ׺؀ؒؖ؛؝أ٬ٲcy;䐃耻>䀾mmaĀ;d׷׸䎓;䏜reve;䄞ƀeiy؇،ؐdil;䄢rc;䄜;䐓ot;䄠r;쀀𝔊;拙pf;쀀𝔾eater̀EFGLSTصلَٖٛ٦qualĀ;Lؾؿ扥ess;招ullEqual;执reater;檢ess;扷lantEqual;橾ilde;扳cr;쀀𝒢;扫ЀAacfiosuڅڋږڛڞڪھۊRDcy;䐪Āctڐڔek;䋇;䁞irc;䄤r;愌lbertSpace;愋ǰگ\0ڲf;愍izontalLine;攀Āctۃۅòکrok;䄦mpńېۘownHumðįqual;扏܀EJOacdfgmnostuۺ۾܃܇܎ܚܞܡܨ݄ݸދޏޕcy;䐕lig;䄲cy;䐁cute耻Í䃍Āiyܓܘrc耻Î䃎;䐘ot;䄰r;愑rave耻Ì䃌ƀ;apܠܯܿĀcgܴܷr;䄪inaryI;慈lieóϝǴ݉\0ݢĀ;eݍݎ戬Āgrݓݘral;戫section;拂isibleĀCTݬݲomma;恣imes;恢ƀgptݿރވon;䄮f;쀀𝕀a;䎙cr;愐ilde;䄨ǫޚ\0ޞcy;䐆l耻Ï䃏ʀcfosuެ޷޼߂ߐĀiyޱ޵rc;䄴;䐙r;쀀𝔍pf;쀀𝕁ǣ߇\0ߌr;쀀𝒥rcy;䐈kcy;䐄΀HJacfosߤߨ߽߬߱ࠂࠈcy;䐥cy;䐌ppa;䎚Āey߶߻dil;䄶;䐚r;쀀𝔎pf;쀀𝕂cr;쀀𝒦րJTaceflmostࠥࠩࠬࡐࡣ঳সে্਷ੇcy;䐉耻<䀼ʀcmnpr࠷࠼ࡁࡄࡍute;䄹bda;䎛g;柪lacetrf;愒r;憞ƀaeyࡗ࡜ࡡron;䄽dil;䄻;䐛Āfsࡨ॰tԀACDFRTUVarࡾࢩࢱࣦ࣠ࣼयज़ΐ४Ānrࢃ࢏gleBracket;柨rowƀ;BR࢙࢚࢞憐ar;懤ightArrow;懆eiling;挈oǵࢷ\0ࣃbleBracket;柦nǔࣈ\0࣒eeVector;楡ectorĀ;Bࣛࣜ懃ar;楙loor;挊ightĀAV࣯ࣵrrow;憔ector;楎Āerँगeƀ;AVउऊऐ抣rrow;憤ector;楚iangleƀ;BEतथऩ抲ar;槏qual;抴pƀDTVषूौownVector;楑eeVector;楠ectorĀ;Bॖॗ憿ar;楘ectorĀ;B॥०憼ar;楒ightáΜs̀EFGLSTॾঋকঝঢভqualGreater;拚ullEqual;扦reater;扶ess;檡lantEqual;橽ilde;扲r;쀀𝔏Ā;eঽা拘ftarrow;懚idot;䄿ƀnpw৔ਖਛgȀLRlr৞৷ਂਐeftĀAR০৬rrow;柵ightArrow;柷ightArrow;柶eftĀarγਊightáοightáϊf;쀀𝕃erĀLRਢਬeftArrow;憙ightArrow;憘ƀchtਾੀੂòࡌ;憰rok;䅁;扪Ѐacefiosuਗ਼੝੠੷੼અઋ઎p;椅y;䐜Ādl੥੯iumSpace;恟lintrf;愳r;쀀𝔐nusPlus;戓pf;쀀𝕄cò੶;䎜ҀJacefostuણધભીଔଙඑ඗ඞcy;䐊cute;䅃ƀaey઴હાron;䅇dil;䅅;䐝ƀgswે૰଎ativeƀMTV૓૟૨ediumSpace;怋hiĀcn૦૘ë૙eryThiî૙tedĀGL૸ଆreaterGreateòٳessLesóੈLine;䀊r;쀀𝔑ȀBnptଢନଷ଺reak;恠BreakingSpace;䂠f;愕ڀ;CDEGHLNPRSTV୕ୖ୪୼஡௫ఄ౞಄ದ೘ൡඅ櫬Āou୛୤ngruent;扢pCap;扭oubleVerticalBar;戦ƀlqxஃஊ஛ement;戉ualĀ;Tஒஓ扠ilde;쀀≂̸ists;戄reater΀;EFGLSTஶஷ஽௉௓௘௥扯qual;扱ullEqual;쀀≧̸reater;쀀≫̸ess;批lantEqual;쀀⩾̸ilde;扵umpń௲௽ownHump;쀀≎̸qual;쀀≏̸eĀfsఊధtTriangleƀ;BEచఛడ拪ar;쀀⧏̸qual;括s̀;EGLSTవశ఼ౄోౘ扮qual;扰reater;扸ess;쀀≪̸lantEqual;쀀⩽̸ilde;扴estedĀGL౨౹reaterGreater;쀀⪢̸essLess;쀀⪡̸recedesƀ;ESಒಓಛ技qual;쀀⪯̸lantEqual;拠ĀeiಫಹverseElement;戌ghtTriangleƀ;BEೋೌ೒拫ar;쀀⧐̸qual;拭ĀquೝഌuareSuĀbp೨೹setĀ;E೰ೳ쀀⊏̸qual;拢ersetĀ;Eഃആ쀀⊐̸qual;拣ƀbcpഓതൎsetĀ;Eഛഞ쀀⊂⃒qual;抈ceedsȀ;ESTലള഻െ抁qual;쀀⪰̸lantEqual;拡ilde;쀀≿̸ersetĀ;E൘൛쀀⊃⃒qual;抉ildeȀ;EFT൮൯൵ൿ扁qual;扄ullEqual;扇ilde;扉erticalBar;戤cr;쀀𝒩ilde耻Ñ䃑;䎝܀Eacdfgmoprstuvලෂ෉෕ෛ෠෧෼ขภยา฿ไlig;䅒cute耻Ó䃓Āiy෎ීrc耻Ô䃔;䐞blac;䅐r;쀀𝔒rave耻Ò䃒ƀaei෮ෲ෶cr;䅌ga;䎩cron;䎟pf;쀀𝕆enCurlyĀDQฎบoubleQuote;怜uote;怘;橔Āclวฬr;쀀𝒪ash耻Ø䃘iŬื฼de耻Õ䃕es;樷ml耻Ö䃖erĀBP๋๠Āar๐๓r;怾acĀek๚๜;揞et;掴arenthesis;揜Ҁacfhilors๿ງຊຏຒດຝະ໼rtialD;戂y;䐟r;쀀𝔓i;䎦;䎠usMinus;䂱Āipຢອncareplanåڝf;愙Ȁ;eio຺ູ໠໤檻cedesȀ;EST່້໏໚扺qual;檯lantEqual;扼ilde;找me;怳Ādp໩໮uct;戏ortionĀ;aȥ໹l;戝Āci༁༆r;쀀𝒫;䎨ȀUfos༑༖༛༟OT耻"䀢r;쀀𝔔pf;愚cr;쀀𝒬؀BEacefhiorsu༾གྷཇའཱིྦྷྪྭ႖ႩႴႾarr;椐G耻®䂮ƀcnrཎནབute;䅔g;柫rĀ;tཛྷཝ憠l;椖ƀaeyཧཬཱron;䅘dil;䅖;䐠Ā;vླྀཹ愜erseĀEUྂྙĀlq྇ྎement;戋uilibrium;懋pEquilibrium;楯r»ཹo;䎡ghtЀACDFTUVa࿁࿫࿳ဢဨၛႇϘĀnr࿆࿒gleBracket;柩rowƀ;BL࿜࿝࿡憒ar;懥eftArrow;懄eiling;按oǵ࿹\0စbleBracket;柧nǔည\0နeeVector;楝ectorĀ;Bဝသ懂ar;楕loor;挋Āerိ၃eƀ;AVဵံြ抢rrow;憦ector;楛iangleƀ;BEၐၑၕ抳ar;槐qual;抵pƀDTVၣၮၸownVector;楏eeVector;楜ectorĀ;Bႂႃ憾ar;楔ectorĀ;B႑႒懀ar;楓Āpuႛ႞f;愝ndImplies;楰ightarrow;懛ĀchႹႼr;愛;憱leDelayed;槴ڀHOacfhimoqstuფჱჷჽᄙᄞᅑᅖᅡᅧᆵᆻᆿĀCcჩხHcy;䐩y;䐨FTcy;䐬cute;䅚ʀ;aeiyᄈᄉᄎᄓᄗ檼ron;䅠dil;䅞rc;䅜;䐡r;쀀𝔖ortȀDLRUᄪᄴᄾᅉownArrow»ОeftArrow»࢚ightArrow»࿝pArrow;憑gma;䎣allCircle;战pf;쀀𝕊ɲᅭ\0\0ᅰt;戚areȀ;ISUᅻᅼᆉᆯ斡ntersection;抓uĀbpᆏᆞsetĀ;Eᆗᆘ抏qual;抑ersetĀ;Eᆨᆩ抐qual;抒nion;抔cr;쀀𝒮ar;拆ȀbcmpᇈᇛሉላĀ;sᇍᇎ拐etĀ;Eᇍᇕqual;抆ĀchᇠህeedsȀ;ESTᇭᇮᇴᇿ扻qual;檰lantEqual;扽ilde;承Tháྌ;我ƀ;esሒሓሣ拑rsetĀ;Eሜም抃qual;抇et»ሓրHRSacfhiorsሾቄ቉ቕ቞ቱቶኟዂወዑORN耻Þ䃞ADE;愢ĀHc቎ቒcy;䐋y;䐦Ābuቚቜ;䀉;䎤ƀaeyብቪቯron;䅤dil;䅢;䐢r;쀀𝔗Āeiቻ኉Dzኀ\0ኇefore;戴a;䎘Ācn኎ኘkSpace;쀀  Space;怉ldeȀ;EFTካኬኲኼ戼qual;扃ullEqual;扅ilde;扈pf;쀀𝕋ipleDot;惛Āctዖዛr;쀀𝒯rok;䅦ૡዷጎጚጦ\0ጬጱ\0\0\0\0\0ጸጽ፷ᎅ\0᏿ᐄᐊᐐĀcrዻጁute耻Ú䃚rĀ;oጇገ憟cir;楉rǣጓ\0጖y;䐎ve;䅬Āiyጞጣrc耻Û䃛;䐣blac;䅰r;쀀𝔘rave耻Ù䃙acr;䅪Ādiፁ፩erĀBPፈ፝Āarፍፐr;䁟acĀekፗፙ;揟et;掵arenthesis;揝onĀ;P፰፱拃lus;抎Āgp፻፿on;䅲f;쀀𝕌ЀADETadps᎕ᎮᎸᏄϨᏒᏗᏳrrowƀ;BDᅐᎠᎤar;椒ownArrow;懅ownArrow;憕quilibrium;楮eeĀ;AᏋᏌ报rrow;憥ownáϳerĀLRᏞᏨeftArrow;憖ightArrow;憗iĀ;lᏹᏺ䏒on;䎥ing;䅮cr;쀀𝒰ilde;䅨ml耻Ü䃜ҀDbcdefosvᐧᐬᐰᐳᐾᒅᒊᒐᒖash;披ar;櫫y;䐒ashĀ;lᐻᐼ抩;櫦Āerᑃᑅ;拁ƀbtyᑌᑐᑺar;怖Ā;iᑏᑕcalȀBLSTᑡᑥᑪᑴar;戣ine;䁼eparator;杘ilde;所ThinSpace;怊r;쀀𝔙pf;쀀𝕍cr;쀀𝒱dash;抪ʀcefosᒧᒬᒱᒶᒼirc;䅴dge;拀r;쀀𝔚pf;쀀𝕎cr;쀀𝒲Ȁfiosᓋᓐᓒᓘr;쀀𝔛;䎞pf;쀀𝕏cr;쀀𝒳ҀAIUacfosuᓱᓵᓹᓽᔄᔏᔔᔚᔠcy;䐯cy;䐇cy;䐮cute耻Ý䃝Āiyᔉᔍrc;䅶;䐫r;쀀𝔜pf;쀀𝕐cr;쀀𝒴ml;䅸ЀHacdefosᔵᔹᔿᕋᕏᕝᕠᕤcy;䐖cute;䅹Āayᕄᕉron;䅽;䐗ot;䅻Dzᕔ\0ᕛoWidtè૙a;䎖r;愨pf;愤cr;쀀𝒵௡ᖃᖊᖐ\0ᖰᖶᖿ\0\0\0\0ᗆᗛᗫᙟ᙭\0ᚕ᚛ᚲᚹ\0ᚾcute耻á䃡reve;䄃̀;Ediuyᖜᖝᖡᖣᖨᖭ戾;쀀∾̳;房rc耻â䃢te肻´̆;䐰lig耻æ䃦Ā;r²ᖺ;쀀𝔞rave耻à䃠ĀepᗊᗖĀfpᗏᗔsym;愵èᗓha;䎱ĀapᗟcĀclᗤᗧr;䄁g;樿ɤᗰ\0\0ᘊʀ;adsvᗺᗻᗿᘁᘇ戧nd;橕;橜lope;橘;橚΀;elmrszᘘᘙᘛᘞᘿᙏᙙ戠;榤e»ᘙsdĀ;aᘥᘦ戡ѡᘰᘲᘴᘶᘸᘺᘼᘾ;榨;榩;榪;榫;榬;榭;榮;榯tĀ;vᙅᙆ戟bĀ;dᙌᙍ抾;榝Āptᙔᙗh;戢»¹arr;捼Āgpᙣᙧon;䄅f;쀀𝕒΀;Eaeiop዁ᙻᙽᚂᚄᚇᚊ;橰cir;橯;扊d;手s;䀧roxĀ;e዁ᚒñᚃing耻å䃥ƀctyᚡᚦᚨr;쀀𝒶;䀪mpĀ;e዁ᚯñʈilde耻ã䃣ml耻ä䃤Āciᛂᛈoninôɲnt;樑ࠀNabcdefiklnoprsu᛭ᛱᜰ᜼ᝃᝈ᝸᝽០៦ᠹᡐᜍ᤽᥈ᥰot;櫭Ācrᛶ᜞kȀcepsᜀᜅᜍᜓong;扌psilon;䏶rime;怵imĀ;e᜚᜛戽q;拍Ŷᜢᜦee;抽edĀ;gᜬᜭ挅e»ᜭrkĀ;t፜᜷brk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓ᝛ᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯ᝱ᝳ;䎲;愶een;扬r;쀀𝔟g΀costuvwឍឝឳេ៕៛៞ƀaiuបពរðݠrc;旯p»፱ƀdptឤឨឭot;樀lus;樁imes;樂ɱឹ\0\0ើcup;樆ar;昅riangleĀdu៍្own;施p;斳plus;樄eåᑄåᒭarow;植ƀako៭ᠦᠵĀcn៲ᠣkƀlst៺֫᠂ozenge;槫riangleȀ;dlr᠒᠓᠘᠝斴own;斾eft;旂ight;斸k;搣Ʊᠫ\0ᠳƲᠯ\0ᠱ;斒;斑4;斓ck;斈ĀeoᠾᡍĀ;qᡃᡆ쀀=⃥uiv;쀀≡⃥t;挐Ȁptwxᡙᡞᡧᡬf;쀀𝕓Ā;tᏋᡣom»Ꮜtie;拈؀DHUVbdhmptuvᢅᢖᢪᢻᣗᣛᣬ᣿ᤅᤊᤐᤡȀLRlrᢎᢐᢒᢔ;敗;敔;敖;敓ʀ;DUduᢡᢢᢤᢦᢨ敐;敦;敩;敤;敧ȀLRlrᢳᢵᢷᢹ;敝;敚;敜;教΀;HLRhlrᣊᣋᣍᣏᣑᣓᣕ救;敬;散;敠;敫;敢;敟ox;槉ȀLRlrᣤᣦᣨᣪ;敕;敒;攐;攌ʀ;DUduڽ᣷᣹᣻᣽;敥;敨;攬;攴inus;抟lus;択imes;抠ȀLRlrᤙᤛᤝ᤟;敛;敘;攘;攔΀;HLRhlrᤰᤱᤳᤵᤷ᤻᤹攂;敪;敡;敞;攼;攤;攜Āevģ᥂bar耻¦䂦Ȁceioᥑᥖᥚᥠr;쀀𝒷mi;恏mĀ;e᜚᜜lƀ;bhᥨᥩᥫ䁜;槅sub;柈Ŭᥴ᥾lĀ;e᥹᥺怢t»᥺pƀ;Eeįᦅᦇ;檮Ā;qۜۛೡᦧ\0᧨ᨑᨕᨲ\0ᨷᩐ\0\0᪴\0\0᫁\0\0ᬡᬮ᭍᭒\0᯽\0ᰌƀcpr᦭ᦲ᧝ute;䄇̀;abcdsᦿᧀᧄ᧊᧕᧙戩nd;橄rcup;橉Āau᧏᧒p;橋p;橇ot;橀;쀀∩︀Āeo᧢᧥t;恁îړȀaeiu᧰᧻ᨁᨅǰ᧵\0᧸s;橍on;䄍dil耻ç䃧rc;䄉psĀ;sᨌᨍ橌m;橐ot;䄋ƀdmnᨛᨠᨦil肻¸ƭptyv;榲t脀¢;eᨭᨮ䂢räƲr;쀀𝔠ƀceiᨽᩀᩍy;䑇ckĀ;mᩇᩈ朓ark»ᩈ;䏇r΀;Ecefms᩟᩠ᩢᩫ᪤᪪᪮旋;槃ƀ;elᩩᩪᩭ䋆q;扗eɡᩴ\0\0᪈rrowĀlr᩼᪁eft;憺ight;憻ʀRSacd᪒᪔᪖᪚᪟»ཇ;擈st;抛irc;抚ash;抝nint;樐id;櫯cir;槂ubsĀ;u᪻᪼晣it»᪼ˬ᫇᫔᫺\0ᬊonĀ;eᫍᫎ䀺Ā;qÇÆɭ᫙\0\0᫢aĀ;t᫞᫟䀬;䁀ƀ;fl᫨᫩᫫戁îᅠeĀmx᫱᫶ent»᫩eóɍǧ᫾\0ᬇĀ;dኻᬂot;橭nôɆƀfryᬐᬔᬗ;쀀𝕔oäɔ脀©;sŕᬝr;愗Āaoᬥᬩrr;憵ss;朗Ācuᬲᬷr;쀀𝒸Ābpᬼ᭄Ā;eᭁᭂ櫏;櫑Ā;eᭉᭊ櫐;櫒dot;拯΀delprvw᭠᭬᭷ᮂᮬᯔ᯹arrĀlr᭨᭪;椸;椵ɰ᭲\0\0᭵r;拞c;拟arrĀ;p᭿ᮀ憶;椽̀;bcdosᮏᮐᮖᮡᮥᮨ截rcap;橈Āauᮛᮞp;橆p;橊ot;抍r;橅;쀀∪︀Ȁalrv᮵ᮿᯞᯣrrĀ;mᮼᮽ憷;椼yƀevwᯇᯔᯘqɰᯎ\0\0ᯒreã᭳uã᭵ee;拎edge;拏en耻¤䂤earrowĀlrᯮ᯳eft»ᮀight»ᮽeäᯝĀciᰁᰇoninôǷnt;戱lcty;挭ঀAHabcdefhijlorstuwz᰸᰻᰿ᱝᱩᱵᲊᲞᲬᲷ᳻᳿ᴍᵻᶑᶫᶻ᷆᷍rò΁ar;楥Ȁglrs᱈ᱍ᱒᱔ger;怠eth;愸òᄳhĀ;vᱚᱛ怐»ऊūᱡᱧarow;椏aã̕Āayᱮᱳron;䄏;䐴ƀ;ao̲ᱼᲄĀgrʿᲁr;懊tseq;橷ƀglmᲑᲔᲘ耻°䂰ta;䎴ptyv;榱ĀirᲣᲨsht;楿;쀀𝔡arĀlrᲳᲵ»ࣜ»သʀaegsv᳂͸᳖᳜᳠mƀ;oș᳊᳔ndĀ;ș᳑uit;晦amma;䏝in;拲ƀ;io᳧᳨᳸䃷de脀÷;o᳧ᳰntimes;拇nø᳷cy;䑒cɯᴆ\0\0ᴊrn;挞op;挍ʀlptuwᴘᴝᴢᵉᵕlar;䀤f;쀀𝕕ʀ;emps̋ᴭᴷᴽᵂqĀ;d͒ᴳot;扑inus;戸lus;戔quare;抡blebarwedgåúnƀadhᄮᵝᵧownarrowóᲃarpoonĀlrᵲᵶefôᲴighôᲶŢᵿᶅkaro÷གɯᶊ\0\0ᶎrn;挟op;挌ƀcotᶘᶣᶦĀryᶝᶡ;쀀𝒹;䑕l;槶rok;䄑Ādrᶰᶴot;拱iĀ;fᶺ᠖斿Āah᷀᷃ròЩaòྦangle;榦Āci᷒ᷕy;䑟grarr;柿ऀDacdefglmnopqrstuxḁḉḙḸոḼṉṡṾấắẽỡἪἷὄ὎὚ĀDoḆᴴoôᲉĀcsḎḔute耻é䃩ter;橮ȀaioyḢḧḱḶron;䄛rĀ;cḭḮ扖耻ê䃪lon;払;䑍ot;䄗ĀDrṁṅot;扒;쀀𝔢ƀ;rsṐṑṗ檚ave耻è䃨Ā;dṜṝ檖ot;檘Ȁ;ilsṪṫṲṴ檙nters;揧;愓Ā;dṹṺ檕ot;檗ƀapsẅẉẗcr;䄓tyƀ;svẒẓẕ戅et»ẓpĀ1;ẝẤijạả;怄;怅怃ĀgsẪẬ;䅋p;怂ĀgpẴẸon;䄙f;쀀𝕖ƀalsỄỎỒrĀ;sỊị拕l;槣us;橱iƀ;lvỚớở䎵on»ớ;䏵ȀcsuvỪỳἋἣĀioữḱrc»Ḯɩỹ\0\0ỻíՈantĀglἂἆtr»ṝess»Ṻƀaeiἒ἖Ἒls;䀽st;扟vĀ;DȵἠD;橸parsl;槥ĀDaἯἳot;打rr;楱ƀcdiἾὁỸr;愯oô͒ĀahὉὋ;䎷耻ð䃰Āmrὓὗl耻ë䃫o;悬ƀcipὡὤὧl;䀡sôծĀeoὬὴctatioîՙnentialåչৡᾒ\0ᾞ\0ᾡᾧ\0\0ῆῌ\0ΐ\0ῦῪ \0 ⁚llingdotseñṄy;䑄male;晀ƀilrᾭᾳ῁lig;耀ffiɩᾹ\0\0᾽g;耀ffig;耀ffl;쀀𝔣lig;耀filig;쀀fjƀaltῙ῜ῡt;晭ig;耀flns;斱of;䆒ǰ΅\0ῳf;쀀𝕗ĀakֿῷĀ;vῼ´拔;櫙artint;樍Āao‌⁕Ācs‑⁒ႉ‸⁅⁈\0⁐β•‥‧‪‬\0‮耻½䂽;慓耻¼䂼;慕;慙;慛Ƴ‴\0‶;慔;慖ʴ‾⁁\0\0⁃耻¾䂾;慗;慜5;慘ƶ⁌\0⁎;慚;慝8;慞l;恄wn;挢cr;쀀𝒻ࢀEabcdefgijlnorstv₂₉₟₥₰₴⃰⃵⃺⃿℃ℒℸ̗ℾ⅒↞Ā;lٍ₇;檌ƀcmpₐₕ₝ute;䇵maĀ;dₜ᳚䎳;檆reve;䄟Āiy₪₮rc;䄝;䐳ot;䄡Ȁ;lqsؾق₽⃉ƀ;qsؾٌ⃄lanô٥Ȁ;cdl٥⃒⃥⃕c;檩otĀ;o⃜⃝檀Ā;l⃢⃣檂;檄Ā;e⃪⃭쀀⋛︀s;檔r;쀀𝔤Ā;gٳ؛mel;愷cy;䑓Ȁ;Eajٚℌℎℐ;檒;檥;檤ȀEaesℛℝ℩ℴ;扩pĀ;p℣ℤ檊rox»ℤĀ;q℮ℯ檈Ā;q℮ℛim;拧pf;쀀𝕘Āci⅃ⅆr;愊mƀ;el٫ⅎ⅐;檎;檐茀>;cdlqr׮ⅠⅪⅮⅳⅹĀciⅥⅧ;檧r;橺ot;拗Par;榕uest;橼ʀadelsↄⅪ←ٖ↛ǰ↉\0↎proø₞r;楸qĀlqؿ↖lesó₈ií٫Āen↣↭rtneqq;쀀≩︀Å↪ԀAabcefkosy⇄⇇⇱⇵⇺∘∝∯≨≽ròΠȀilmr⇐⇔⇗⇛rsðᒄf»․ilôکĀdr⇠⇤cy;䑊ƀ;cwࣴ⇫⇯ir;楈;憭ar;意irc;䄥ƀalr∁∎∓rtsĀ;u∉∊晥it»∊lip;怦con;抹r;쀀𝔥sĀew∣∩arow;椥arow;椦ʀamopr∺∾≃≞≣rr;懿tht;戻kĀlr≉≓eftarrow;憩ightarrow;憪f;쀀𝕙bar;怕ƀclt≯≴≸r;쀀𝒽asè⇴rok;䄧Ābp⊂⊇ull;恃hen»ᱛૡ⊣\0⊪\0⊸⋅⋎\0⋕⋳\0\0⋸⌢⍧⍢⍿\0⎆⎪⎴cute耻í䃭ƀ;iyݱ⊰⊵rc耻î䃮;䐸Ācx⊼⊿y;䐵cl耻¡䂡ĀfrΟ⋉;쀀𝔦rave耻ì䃬Ȁ;inoܾ⋝⋩⋮Āin⋢⋦nt;樌t;戭fin;槜ta;愩lig;䄳ƀaop⋾⌚⌝ƀcgt⌅⌈⌗r;䄫ƀelpܟ⌏⌓inåގarôܠh;䄱f;抷ed;䆵ʀ;cfotӴ⌬⌱⌽⍁are;愅inĀ;t⌸⌹戞ie;槝doô⌙ʀ;celpݗ⍌⍐⍛⍡al;抺Āgr⍕⍙eróᕣã⍍arhk;樗rod;樼Ȁcgpt⍯⍲⍶⍻y;䑑on;䄯f;쀀𝕚a;䎹uest耻¿䂿Āci⎊⎏r;쀀𝒾nʀ;EdsvӴ⎛⎝⎡ӳ;拹ot;拵Ā;v⎦⎧拴;拳Ā;iݷ⎮lde;䄩ǫ⎸\0⎼cy;䑖l耻ï䃯̀cfmosu⏌⏗⏜⏡⏧⏵Āiy⏑⏕rc;䄵;䐹r;쀀𝔧ath;䈷pf;쀀𝕛ǣ⏬\0⏱r;쀀𝒿rcy;䑘kcy;䑔Ѐacfghjos␋␖␢␧␭␱␵␻ppaĀ;v␓␔䎺;䏰Āey␛␠dil;䄷;䐺r;쀀𝔨reen;䄸cy;䑅cy;䑜pf;쀀𝕜cr;쀀𝓀஀ABEHabcdefghjlmnoprstuv⑰⒁⒆⒍⒑┎┽╚▀♎♞♥♹♽⚚⚲⛘❝❨➋⟀⠁⠒ƀart⑷⑺⑼rò৆òΕail;椛arr;椎Ā;gঔ⒋;檋ar;楢ॣ⒥\0⒪\0⒱\0\0\0\0\0⒵Ⓔ\0ⓆⓈⓍ\0⓹ute;䄺mptyv;榴raîࡌbda;䎻gƀ;dlࢎⓁⓃ;榑åࢎ;檅uo耻«䂫rЀ;bfhlpst࢙ⓞⓦⓩ⓫⓮⓱⓵Ā;f࢝ⓣs;椟s;椝ë≒p;憫l;椹im;楳l;憢ƀ;ae⓿─┄檫il;椙Ā;s┉┊檭;쀀⪭︀ƀabr┕┙┝rr;椌rk;杲Āak┢┬cĀek┨┪;䁻;䁛Āes┱┳;榋lĀdu┹┻;榏;榍Ȁaeuy╆╋╖╘ron;䄾Ādi═╔il;䄼ìࢰâ┩;䐻Ȁcqrs╣╦╭╽a;椶uoĀ;rนᝆĀdu╲╷har;楧shar;楋h;憲ʀ;fgqs▋▌উ◳◿扤tʀahlrt▘▤▷◂◨rrowĀ;t࢙□aé⓶arpoonĀdu▯▴own»њp»०eftarrows;懇ightƀahs◍◖◞rrowĀ;sࣴࢧarpoonó྘quigarro÷⇰hreetimes;拋ƀ;qs▋ও◺lanôবʀ;cdgsব☊☍☝☨c;檨otĀ;o☔☕橿Ā;r☚☛檁;檃Ā;e☢☥쀀⋚︀s;檓ʀadegs☳☹☽♉♋pproøⓆot;拖qĀgq♃♅ôউgtò⒌ôছiíলƀilr♕࣡♚sht;楼;쀀𝔩Ā;Eজ♣;檑š♩♶rĀdu▲♮Ā;l॥♳;楪lk;斄cy;䑙ʀ;achtੈ⚈⚋⚑⚖rò◁orneòᴈard;楫ri;旺Āio⚟⚤dot;䅀ustĀ;a⚬⚭掰che»⚭ȀEaes⚻⚽⛉⛔;扨pĀ;p⛃⛄檉rox»⛄Ā;q⛎⛏檇Ā;q⛎⚻im;拦Ѐabnoptwz⛩⛴⛷✚✯❁❇❐Ānr⛮⛱g;柬r;懽rëࣁgƀlmr⛿✍✔eftĀar০✇ightá৲apsto;柼ightá৽parrowĀlr✥✩efô⓭ight;憬ƀafl✶✹✽r;榅;쀀𝕝us;樭imes;樴š❋❏st;戗áፎƀ;ef❗❘᠀旊nge»❘arĀ;l❤❥䀨t;榓ʀachmt❳❶❼➅➇ròࢨorneòᶌarĀ;d྘➃;業;怎ri;抿̀achiqt➘➝ੀ➢➮➻quo;怹r;쀀𝓁mƀ;egল➪➬;檍;檏Ābu┪➳oĀ;rฟ➹;怚rok;䅂萀<;cdhilqrࠫ⟒☹⟜⟠⟥⟪⟰Āci⟗⟙;檦r;橹reå◲mes;拉arr;楶uest;橻ĀPi⟵⟹ar;榖ƀ;ef⠀भ᠛旃rĀdu⠇⠍shar;楊har;楦Āen⠗⠡rtneqq;쀀≨︀Å⠞܀Dacdefhilnopsu⡀⡅⢂⢎⢓⢠⢥⢨⣚⣢⣤ઃ⣳⤂Dot;戺Ȁclpr⡎⡒⡣⡽r耻¯䂯Āet⡗⡙;時Ā;e⡞⡟朠se»⡟Ā;sျ⡨toȀ;dluျ⡳⡷⡻owîҌefôएðᏑker;斮Āoy⢇⢌mma;権;䐼ash;怔asuredangle»ᘦr;쀀𝔪o;愧ƀcdn⢯⢴⣉ro耻µ䂵Ȁ;acdᑤ⢽⣀⣄sôᚧir;櫰ot肻·Ƶusƀ;bd⣒ᤃ⣓戒Ā;uᴼ⣘;横ţ⣞⣡p;櫛ò−ðઁĀdp⣩⣮els;抧f;쀀𝕞Āct⣸⣽r;쀀𝓂pos»ᖝƀ;lm⤉⤊⤍䎼timap;抸ఀGLRVabcdefghijlmoprstuvw⥂⥓⥾⦉⦘⧚⧩⨕⨚⩘⩝⪃⪕⪤⪨⬄⬇⭄⭿⮮ⰴⱧⱼ⳩Āgt⥇⥋;쀀⋙̸Ā;v⥐௏쀀≫⃒ƀelt⥚⥲⥶ftĀar⥡⥧rrow;懍ightarrow;懎;쀀⋘̸Ā;v⥻ే쀀≪⃒ightarrow;懏ĀDd⦎⦓ash;抯ash;抮ʀbcnpt⦣⦧⦬⦱⧌la»˞ute;䅄g;쀀∠⃒ʀ;Eiop඄⦼⧀⧅⧈;쀀⩰̸d;쀀≋̸s;䅉roø඄urĀ;a⧓⧔普lĀ;s⧓ସdz⧟\0⧣p肻 ଷmpĀ;e௹ఀʀaeouy⧴⧾⨃⨐⨓ǰ⧹\0⧻;橃on;䅈dil;䅆ngĀ;dൾ⨊ot;쀀⩭̸p;橂;䐽ash;怓΀;Aadqsxஒ⨩⨭⨻⩁⩅⩐rr;懗rĀhr⨳⨶k;椤Ā;oᏲᏰot;쀀≐̸uiöୣĀei⩊⩎ar;椨í஘istĀ;s஠டr;쀀𝔫ȀEest௅⩦⩹⩼ƀ;qs஼⩭௡ƀ;qs஼௅⩴lanô௢ií௪Ā;rஶ⪁»ஷƀAap⪊⪍⪑rò⥱rr;憮ar;櫲ƀ;svྍ⪜ྌĀ;d⪡⪢拼;拺cy;䑚΀AEadest⪷⪺⪾⫂⫅⫶⫹rò⥦;쀀≦̸rr;憚r;急Ȁ;fqs఻⫎⫣⫯tĀar⫔⫙rro÷⫁ightarro÷⪐ƀ;qs఻⪺⫪lanôౕĀ;sౕ⫴»శiíౝĀ;rవ⫾iĀ;eచథiäඐĀpt⬌⬑f;쀀𝕟膀¬;in⬙⬚⬶䂬nȀ;Edvஉ⬤⬨⬮;쀀⋹̸ot;쀀⋵̸ǡஉ⬳⬵;拷;拶iĀ;vಸ⬼ǡಸ⭁⭃;拾;拽ƀaor⭋⭣⭩rȀ;ast୻⭕⭚⭟lleì୻l;쀀⫽⃥;쀀∂̸lint;樔ƀ;ceಒ⭰⭳uåಥĀ;cಘ⭸Ā;eಒ⭽ñಘȀAait⮈⮋⮝⮧rò⦈rrƀ;cw⮔⮕⮙憛;쀀⤳̸;쀀↝̸ghtarrow»⮕riĀ;eೋೖ΀chimpqu⮽⯍⯙⬄୸⯤⯯Ȁ;cerല⯆ഷ⯉uå൅;쀀𝓃ortɭ⬅\0\0⯖ará⭖mĀ;e൮⯟Ā;q൴൳suĀbp⯫⯭å೸åഋƀbcp⯶ⰑⰙȀ;Ees⯿ⰀഢⰄ抄;쀀⫅̸etĀ;eഛⰋqĀ;qണⰀcĀ;eലⰗñസȀ;EesⰢⰣൟⰧ抅;쀀⫆̸etĀ;e൘ⰮqĀ;qൠⰣȀgilrⰽⰿⱅⱇìௗlde耻ñ䃱çృiangleĀlrⱒⱜeftĀ;eచⱚñదightĀ;eೋⱥñ೗Ā;mⱬⱭ䎽ƀ;esⱴⱵⱹ䀣ro;愖p;怇ҀDHadgilrsⲏⲔⲙⲞⲣⲰⲶⳓⳣash;抭arr;椄p;쀀≍⃒ash;抬ĀetⲨⲬ;쀀≥⃒;쀀>⃒nfin;槞ƀAetⲽⳁⳅrr;椂;쀀≤⃒Ā;rⳊⳍ쀀<⃒ie;쀀⊴⃒ĀAtⳘⳜrr;椃rie;쀀⊵⃒im;쀀∼⃒ƀAan⳰⳴ⴂrr;懖rĀhr⳺⳽k;椣Ā;oᏧᏥear;椧ቓ᪕\0\0\0\0\0\0\0\0\0\0\0\0\0ⴭ\0ⴸⵈⵠⵥ⵲ⶄᬇ\0\0ⶍⶫ\0ⷈⷎ\0ⷜ⸙⸫⸾⹃Ācsⴱ᪗ute耻ó䃳ĀiyⴼⵅrĀ;c᪞ⵂ耻ô䃴;䐾ʀabios᪠ⵒⵗLjⵚlac;䅑v;樸old;榼lig;䅓Ācr⵩⵭ir;榿;쀀𝔬ͯ⵹\0\0⵼\0ⶂn;䋛ave耻ò䃲;槁Ābmⶈ෴ar;榵Ȁacitⶕ⶘ⶥⶨrò᪀Āir⶝ⶠr;榾oss;榻nå๒;槀ƀaeiⶱⶵⶹcr;䅍ga;䏉ƀcdnⷀⷅǍron;䎿;榶pf;쀀𝕠ƀaelⷔ⷗ǒr;榷rp;榹΀;adiosvⷪⷫⷮ⸈⸍⸐⸖戨rò᪆Ȁ;efmⷷⷸ⸂⸅橝rĀ;oⷾⷿ愴f»ⷿ耻ª䂪耻º䂺gof;抶r;橖lope;橗;橛ƀclo⸟⸡⸧ò⸁ash耻ø䃸l;折iŬⸯ⸴de耻õ䃵esĀ;aǛ⸺s;樶ml耻ö䃶bar;挽ૡ⹞\0⹽\0⺀⺝\0⺢⺹\0\0⻋ຜ\0⼓\0\0⼫⾼\0⿈rȀ;astЃ⹧⹲຅脀¶;l⹭⹮䂶leìЃɩ⹸\0\0⹻m;櫳;櫽y;䐿rʀcimpt⺋⺏⺓ᡥ⺗nt;䀥od;䀮il;怰enk;怱r;쀀𝔭ƀimo⺨⺰⺴Ā;v⺭⺮䏆;䏕maô੶ne;明ƀ;tv⺿⻀⻈䏀chfork»´;䏖Āau⻏⻟nĀck⻕⻝kĀ;h⇴⻛;愎ö⇴sҀ;abcdemst⻳⻴ᤈ⻹⻽⼄⼆⼊⼎䀫cir;樣ir;樢Āouᵀ⼂;樥;橲n肻±ຝim;樦wo;樧ƀipu⼙⼠⼥ntint;樕f;쀀𝕡nd耻£䂣Ԁ;Eaceinosu່⼿⽁⽄⽇⾁⾉⾒⽾⾶;檳p;檷uå໙Ā;c໎⽌̀;acens່⽙⽟⽦⽨⽾pproø⽃urlyeñ໙ñ໎ƀaes⽯⽶⽺pprox;檹qq;檵im;拨iíໟmeĀ;s⾈ຮ怲ƀEas⽸⾐⽺ð⽵ƀdfp໬⾙⾯ƀals⾠⾥⾪lar;挮ine;挒urf;挓Ā;t໻⾴ï໻rel;抰Āci⿀⿅r;쀀𝓅;䏈ncsp;怈̀fiopsu⿚⋢⿟⿥⿫⿱r;쀀𝔮pf;쀀𝕢rime;恗cr;쀀𝓆ƀaeo⿸〉〓tĀei⿾々rnionóڰnt;樖stĀ;e【】䀿ñἙô༔઀ABHabcdefhilmnoprstux぀けさすムㄎㄫㅇㅢㅲㆎ㈆㈕㈤㈩㉘㉮㉲㊐㊰㊷ƀartぇおがròႳòϝail;検aròᱥar;楤΀cdenqrtとふへみわゔヌĀeuねぱ;쀀∽̱te;䅕iãᅮmptyv;榳gȀ;del࿑らるろ;榒;榥å࿑uo耻»䂻rր;abcfhlpstw࿜ガクシスゼゾダッデナp;極Ā;f࿠ゴs;椠;椳s;椞ë≝ð✮l;楅im;楴l;憣;憝Āaiパフil;椚oĀ;nホボ戶aló༞ƀabrョリヮrò៥rk;杳ĀakンヽcĀekヹ・;䁽;䁝Āes㄂㄄;榌lĀduㄊㄌ;榎;榐Ȁaeuyㄗㄜㄧㄩron;䅙Ādiㄡㄥil;䅗ì࿲âヺ;䑀Ȁclqsㄴㄷㄽㅄa;椷dhar;楩uoĀ;rȎȍh;憳ƀacgㅎㅟངlȀ;ipsླྀㅘㅛႜnåႻarôྩt;断ƀilrㅩဣㅮsht;楽;쀀𝔯ĀaoㅷㆆrĀduㅽㅿ»ѻĀ;l႑ㆄ;楬Ā;vㆋㆌ䏁;䏱ƀgns㆕ㇹㇼht̀ahlrstㆤㆰ㇂㇘㇤㇮rrowĀ;t࿜ㆭaéトarpoonĀduㆻㆿowîㅾp»႒eftĀah㇊㇐rrowó࿪arpoonóՑightarrows;應quigarro÷ニhreetimes;拌g;䋚ingdotseñἲƀahm㈍㈐㈓rò࿪aòՑ;怏oustĀ;a㈞㈟掱che»㈟mid;櫮Ȁabpt㈲㈽㉀㉒Ānr㈷㈺g;柭r;懾rëဃƀafl㉇㉊㉎r;榆;쀀𝕣us;樮imes;樵Āap㉝㉧rĀ;g㉣㉤䀩t;榔olint;樒arò㇣Ȁachq㉻㊀Ⴜ㊅quo;怺r;쀀𝓇Ābu・㊊oĀ;rȔȓƀhir㊗㊛㊠reåㇸmes;拊iȀ;efl㊪ၙᠡ㊫方tri;槎luhar;楨;愞ൡ㋕㋛㋟㌬㌸㍱\0㍺㎤\0\0㏬㏰\0㐨㑈㑚㒭㒱㓊㓱\0㘖\0\0㘳cute;䅛quï➺Ԁ;Eaceinpsyᇭ㋳㋵㋿㌂㌋㌏㌟㌦㌩;檴ǰ㋺\0㋼;檸on;䅡uåᇾĀ;dᇳ㌇il;䅟rc;䅝ƀEas㌖㌘㌛;檶p;檺im;择olint;樓iíሄ;䑁otƀ;be㌴ᵇ㌵担;橦΀Aacmstx㍆㍊㍗㍛㍞㍣㍭rr;懘rĀhr㍐㍒ë∨Ā;oਸ਼਴t耻§䂧i;䀻war;椩mĀin㍩ðnuóñt;朶rĀ;o㍶⁕쀀𝔰Ȁacoy㎂㎆㎑㎠rp;景Āhy㎋㎏cy;䑉;䑈rtɭ㎙\0\0㎜iäᑤaraì⹯耻­䂭Āgm㎨㎴maƀ;fv㎱㎲㎲䏃;䏂Ѐ;deglnprካ㏅㏉㏎㏖㏞㏡㏦ot;橪Ā;q኱ኰĀ;E㏓㏔檞;檠Ā;E㏛㏜檝;檟e;扆lus;樤arr;楲aròᄽȀaeit㏸㐈㐏㐗Āls㏽㐄lsetmé㍪hp;樳parsl;槤Ādlᑣ㐔e;挣Ā;e㐜㐝檪Ā;s㐢㐣檬;쀀⪬︀ƀflp㐮㐳㑂tcy;䑌Ā;b㐸㐹䀯Ā;a㐾㐿槄r;挿f;쀀𝕤aĀdr㑍ЂesĀ;u㑔㑕晠it»㑕ƀcsu㑠㑹㒟Āau㑥㑯pĀ;sᆈ㑫;쀀⊓︀pĀ;sᆴ㑵;쀀⊔︀uĀbp㑿㒏ƀ;esᆗᆜ㒆etĀ;eᆗ㒍ñᆝƀ;esᆨᆭ㒖etĀ;eᆨ㒝ñᆮƀ;afᅻ㒦ְrť㒫ֱ»ᅼaròᅈȀcemt㒹㒾㓂㓅r;쀀𝓈tmîñiì㐕aræᆾĀar㓎㓕rĀ;f㓔ឿ昆Āan㓚㓭ightĀep㓣㓪psiloîỠhé⺯s»⡒ʀbcmnp㓻㕞ሉ㖋㖎Ҁ;Edemnprs㔎㔏㔑㔕㔞㔣㔬㔱㔶抂;櫅ot;檽Ā;dᇚ㔚ot;櫃ult;櫁ĀEe㔨㔪;櫋;把lus;檿arr;楹ƀeiu㔽㕒㕕tƀ;en㔎㕅㕋qĀ;qᇚ㔏eqĀ;q㔫㔨m;櫇Ābp㕚㕜;櫕;櫓c̀;acensᇭ㕬㕲㕹㕻㌦pproø㋺urlyeñᇾñᇳƀaes㖂㖈㌛pproø㌚qñ㌗g;晪ڀ123;Edehlmnps㖩㖬㖯ሜ㖲㖴㗀㗉㗕㗚㗟㗨㗭耻¹䂹耻²䂲耻³䂳;櫆Āos㖹㖼t;檾ub;櫘Ā;dሢ㗅ot;櫄sĀou㗏㗒l;柉b;櫗arr;楻ult;櫂ĀEe㗤㗦;櫌;抋lus;櫀ƀeiu㗴㘉㘌tƀ;enሜ㗼㘂qĀ;qሢ㖲eqĀ;q㗧㗤m;櫈Ābp㘑㘓;櫔;櫖ƀAan㘜㘠㘭rr;懙rĀhr㘦㘨ë∮Ā;oਫ਩war;椪lig耻ß䃟௡㙑㙝㙠ዎ㙳㙹\0㙾㛂\0\0\0\0\0㛛㜃\0㜉㝬\0\0\0㞇ɲ㙖\0\0㙛get;挖;䏄rë๟ƀaey㙦㙫㙰ron;䅥dil;䅣;䑂lrec;挕r;쀀𝔱Ȁeiko㚆㚝㚵㚼Dz㚋\0㚑eĀ4fኄኁaƀ;sv㚘㚙㚛䎸ym;䏑Ācn㚢㚲kĀas㚨㚮pproø዁im»ኬsðኞĀas㚺㚮ð዁rn耻þ䃾Ǭ̟㛆⋧es膀×;bd㛏㛐㛘䃗Ā;aᤏ㛕r;樱;樰ƀeps㛡㛣㜀á⩍Ȁ;bcf҆㛬㛰㛴ot;挶ir;櫱Ā;o㛹㛼쀀𝕥rk;櫚á㍢rime;怴ƀaip㜏㜒㝤dåቈ΀adempst㜡㝍㝀㝑㝗㝜㝟ngleʀ;dlqr㜰㜱㜶㝀㝂斵own»ᶻeftĀ;e⠀㜾ñम;扜ightĀ;e㊪㝋ñၚot;旬inus;樺lus;樹b;槍ime;樻ezium;揢ƀcht㝲㝽㞁Āry㝷㝻;쀀𝓉;䑆cy;䑛rok;䅧Āio㞋㞎xô᝷headĀlr㞗㞠eftarro÷ࡏightarrow»ཝऀAHabcdfghlmoprstuw㟐㟓㟗㟤㟰㟼㠎㠜㠣㠴㡑㡝㡫㢩㣌㣒㣪㣶ròϭar;楣Ācr㟜㟢ute耻ú䃺òᅐrǣ㟪\0㟭y;䑞ve;䅭Āiy㟵㟺rc耻û䃻;䑃ƀabh㠃㠆㠋ròᎭlac;䅱aòᏃĀir㠓㠘sht;楾;쀀𝔲rave耻ù䃹š㠧㠱rĀlr㠬㠮»ॗ»ႃlk;斀Āct㠹㡍ɯ㠿\0\0㡊rnĀ;e㡅㡆挜r»㡆op;挏ri;旸Āal㡖㡚cr;䅫肻¨͉Āgp㡢㡦on;䅳f;쀀𝕦̀adhlsuᅋ㡸㡽፲㢑㢠ownáᎳarpoonĀlr㢈㢌efô㠭ighô㠯iƀ;hl㢙㢚㢜䏅»ᏺon»㢚parrows;懈ƀcit㢰㣄㣈ɯ㢶\0\0㣁rnĀ;e㢼㢽挝r»㢽op;挎ng;䅯ri;旹cr;쀀𝓊ƀdir㣙㣝㣢ot;拰lde;䅩iĀ;f㜰㣨»᠓Āam㣯㣲rò㢨l耻ü䃼angle;榧ހABDacdeflnoprsz㤜㤟㤩㤭㦵㦸㦽㧟㧤㧨㧳㧹㧽㨁㨠ròϷarĀ;v㤦㤧櫨;櫩asèϡĀnr㤲㤷grt;榜΀eknprst㓣㥆㥋㥒㥝㥤㦖appá␕othinçẖƀhir㓫⻈㥙opô⾵Ā;hᎷ㥢ïㆍĀiu㥩㥭gmá㎳Ābp㥲㦄setneqĀ;q㥽㦀쀀⊊︀;쀀⫋︀setneqĀ;q㦏㦒쀀⊋︀;쀀⫌︀Āhr㦛㦟etá㚜iangleĀlr㦪㦯eft»थight»ၑy;䐲ash»ံƀelr㧄㧒㧗ƀ;beⷪ㧋㧏ar;抻q;扚lip;拮Ābt㧜ᑨaòᑩr;쀀𝔳tré㦮suĀbp㧯㧱»ജ»൙pf;쀀𝕧roð໻tré㦴Ācu㨆㨋r;쀀𝓋Ābp㨐㨘nĀEe㦀㨖»㥾nĀEe㦒㨞»㦐igzag;榚΀cefoprs㨶㨻㩖㩛㩔㩡㩪irc;䅵Ādi㩀㩑Ābg㩅㩉ar;機eĀ;qᗺ㩏;扙erp;愘r;쀀𝔴pf;쀀𝕨Ā;eᑹ㩦atèᑹcr;쀀𝓌ૣណ㪇\0㪋\0㪐㪛\0\0㪝㪨㪫㪯\0\0㫃㫎\0㫘ៜ៟tré៑r;쀀𝔵ĀAa㪔㪗ròσrò৶;䎾ĀAa㪡㪤ròθrò৫að✓is;拻ƀdptឤ㪵㪾Āfl㪺ឩ;쀀𝕩imåឲĀAa㫇㫊ròώròਁĀcq㫒ីr;쀀𝓍Āpt៖㫜ré។Ѐacefiosu㫰㫽㬈㬌㬑㬕㬛㬡cĀuy㫶㫻te耻ý䃽;䑏Āiy㬂㬆rc;䅷;䑋n耻¥䂥r;쀀𝔶cy;䑗pf;쀀𝕪cr;쀀𝓎Ācm㬦㬩y;䑎l耻ÿ䃿Ԁacdefhiosw㭂㭈㭔㭘㭤㭩㭭㭴㭺㮀cute;䅺Āay㭍㭒ron;䅾;䐷ot;䅼Āet㭝㭡træᕟa;䎶r;쀀𝔷cy;䐶grarr;懝pf;쀀𝕫cr;쀀𝓏Ājn㮅㮇;怍j;怌'.split("").map(t=>t.charCodeAt(0))),Di=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map(t=>t.charCodeAt(0)));var Pi;const Li=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]),Ui=null!==(Pi=String.fromCodePoint)&&void 0!==Pi?Pi:function(t){let e="";return t>65535&&(t-=65536,e+=String.fromCharCode(t>>>10&1023|55296),t=56320|1023&t),e+=String.fromCharCode(t),e};function Mi(t){return Ui(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=Li.get(t))&&void 0!==e?e:t}(t))}var Fi,Hi;function ji(t){return function(e,r){let i="",n=0,s=0;for(;(s=e.indexOf("&",s))>=0;){if(i+=e.slice(n,s),n=s,s+=1,e.charCodeAt(s)===Fi.NUM){let t=s+1,o=10,a=e.charCodeAt(t);(a|Fi.To_LOWER_BIT)===Fi.LOWER_X&&(o=16,s+=1,t+=1);do{a=e.charCodeAt(++s)}while(a>=Fi.ZERO&&a<=Fi.NINE||16===o&&(a|Fi.To_LOWER_BIT)>=Fi.LOWER_A&&(a|Fi.To_LOWER_BIT)<=Fi.LOWER_F);if(t!==s){const a=e.substring(t,s),c=parseInt(a,o);if(e.charCodeAt(s)===Fi.SEMI)s+=1;else if(r)continue;i+=Mi(c),n=s}continue}let o=0,a=1,c=0,l=t[c];for(;s<e.length&&(c=Wi(t,l,c+1,e.charCodeAt(s)),!(c<0));s++,a++){l=t[c];const i=l&Hi.VALUE_LENGTH;if(i){r&&e.charCodeAt(s)!==Fi.SEMI||(o=c,a=0);const t=(i>>14)-1;if(0===t)break;c+=t}}if(0!==o){const e=(t[o]&Hi.VALUE_LENGTH)>>14;i+=1===e?String.fromCharCode(t[o]&~Hi.VALUE_LENGTH):2===e?String.fromCharCode(t[o+1]):String.fromCharCode(t[o+1],t[o+2]),n=s-a+1}}return i+e.slice(n)}}function Wi(t,e,r,i){const n=(e&Hi.BRANCH_LENGTH)>>7,s=e&Hi.JUMP_TABLE;if(0===n)return 0!==s&&i===s?r:-1;if(s){const e=i-s;return e<0||e>=n?-1:t[r+e]-1}let o=r,a=o+n-1;for(;o<=a;){const e=o+a>>>1,r=t[e];if(r<i)o=e+1;else{if(!(r>i))return t[e+n];a=e-1}}return-1}!function(t){t[t.NUM=35]="NUM",t[t.SEMI=59]="SEMI",t[t.ZERO=48]="ZERO",t[t.NINE=57]="NINE",t[t.LOWER_A=97]="LOWER_A",t[t.LOWER_F=102]="LOWER_F",t[t.LOWER_X=120]="LOWER_X",t[t.To_LOWER_BIT=32]="To_LOWER_BIT"}(Fi||(Fi={})),function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(Hi||(Hi={}));ji(Oi),ji(Di);var Qi,zi,Vi,Gi,qi;!function(t){t.HTML="http://www.w3.org/1999/xhtml",t.MATHML="http://www.w3.org/1998/Math/MathML",t.SVG="http://www.w3.org/2000/svg",t.XLINK="http://www.w3.org/1999/xlink",t.XML="http://www.w3.org/XML/1998/namespace",t.XMLNS="http://www.w3.org/2000/xmlns/"}(Qi=Qi||(Qi={})),function(t){t.TYPE="type",t.ACTION="action",t.ENCODING="encoding",t.PROMPT="prompt",t.NAME="name",t.COLOR="color",t.FACE="face",t.SIZE="size"}(zi=zi||(zi={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(Vi=Vi||(Vi={})),function(t){t.A="a",t.ADDRESS="address",t.ANNOTATION_XML="annotation-xml",t.APPLET="applet",t.AREA="area",t.ARTICLE="article",t.ASIDE="aside",t.B="b",t.BASE="base",t.BASEFONT="basefont",t.BGSOUND="bgsound",t.BIG="big",t.BLOCKQUOTE="blockquote",t.BODY="body",t.BR="br",t.BUTTON="button",t.CAPTION="caption",t.CENTER="center",t.CODE="code",t.COL="col",t.COLGROUP="colgroup",t.DD="dd",t.DESC="desc",t.DETAILS="details",t.DIALOG="dialog",t.DIR="dir",t.DIV="div",t.DL="dl",t.DT="dt",t.EM="em",t.EMBED="embed",t.FIELDSET="fieldset",t.FIGCAPTION="figcaption",t.FIGURE="figure",t.FONT="font",t.FOOTER="footer",t.FOREIGN_OBJECT="foreignObject",t.FORM="form",t.FRAME="frame",t.FRAMESET="frameset",t.H1="h1",t.H2="h2",t.H3="h3",t.H4="h4",t.H5="h5",t.H6="h6",t.HEAD="head",t.HEADER="header",t.HGROUP="hgroup",t.HR="hr",t.HTML="html",t.I="i",t.IMG="img",t.IMAGE="image",t.INPUT="input",t.IFRAME="iframe",t.KEYGEN="keygen",t.LABEL="label",t.LI="li",t.LINK="link",t.LISTING="listing",t.MAIN="main",t.MALIGNMARK="malignmark",t.MARQUEE="marquee",t.MATH="math",t.MENU="menu",t.META="meta",t.MGLYPH="mglyph",t.MI="mi",t.MO="mo",t.MN="mn",t.MS="ms",t.MTEXT="mtext",t.NAV="nav",t.NOBR="nobr",t.NOFRAMES="noframes",t.NOEMBED="noembed",t.NOSCRIPT="noscript",t.OBJECT="object",t.OL="ol",t.OPTGROUP="optgroup",t.OPTION="option",t.P="p",t.PARAM="param",t.PLAINTEXT="plaintext",t.PRE="pre",t.RB="rb",t.RP="rp",t.RT="rt",t.RTC="rtc",t.RUBY="ruby",t.S="s",t.SCRIPT="script",t.SECTION="section",t.SELECT="select",t.SOURCE="source",t.SMALL="small",t.SPAN="span",t.STRIKE="strike",t.STRONG="strong",t.STYLE="style",t.SUB="sub",t.SUMMARY="summary",t.SUP="sup",t.TABLE="table",t.TBODY="tbody",t.TEMPLATE="template",t.TEXTAREA="textarea",t.TFOOT="tfoot",t.TD="td",t.TH="th",t.THEAD="thead",t.TITLE="title",t.TR="tr",t.TRACK="track",t.TT="tt",t.U="u",t.UL="ul",t.SVG="svg",t.VAR="var",t.WBR="wbr",t.XMP="xmp"}(Gi=Gi||(Gi={})),function(t){t[t.UNKNOWN=0]="UNKNOWN",t[t.A=1]="A",t[t.ADDRESS=2]="ADDRESS",t[t.ANNOTATION_XML=3]="ANNOTATION_XML",t[t.APPLET=4]="APPLET",t[t.AREA=5]="AREA",t[t.ARTICLE=6]="ARTICLE",t[t.ASIDE=7]="ASIDE",t[t.B=8]="B",t[t.BASE=9]="BASE",t[t.BASEFONT=10]="BASEFONT",t[t.BGSOUND=11]="BGSOUND",t[t.BIG=12]="BIG",t[t.BLOCKQUOTE=13]="BLOCKQUOTE",t[t.BODY=14]="BODY",t[t.BR=15]="BR",t[t.BUTTON=16]="BUTTON",t[t.CAPTION=17]="CAPTION",t[t.CENTER=18]="CENTER",t[t.CODE=19]="CODE",t[t.COL=20]="COL",t[t.COLGROUP=21]="COLGROUP",t[t.DD=22]="DD",t[t.DESC=23]="DESC",t[t.DETAILS=24]="DETAILS",t[t.DIALOG=25]="DIALOG",t[t.DIR=26]="DIR",t[t.DIV=27]="DIV",t[t.DL=28]="DL",t[t.DT=29]="DT",t[t.EM=30]="EM",t[t.EMBED=31]="EMBED",t[t.FIELDSET=32]="FIELDSET",t[t.FIGCAPTION=33]="FIGCAPTION",t[t.FIGURE=34]="FIGURE",t[t.FONT=35]="FONT",t[t.FOOTER=36]="FOOTER",t[t.FOREIGN_OBJECT=37]="FOREIGN_OBJECT",t[t.FORM=38]="FORM",t[t.FRAME=39]="FRAME",t[t.FRAMESET=40]="FRAMESET",t[t.H1=41]="H1",t[t.H2=42]="H2",t[t.H3=43]="H3",t[t.H4=44]="H4",t[t.H5=45]="H5",t[t.H6=46]="H6",t[t.HEAD=47]="HEAD",t[t.HEADER=48]="HEADER",t[t.HGROUP=49]="HGROUP",t[t.HR=50]="HR",t[t.HTML=51]="HTML",t[t.I=52]="I",t[t.IMG=53]="IMG",t[t.IMAGE=54]="IMAGE",t[t.INPUT=55]="INPUT",t[t.IFRAME=56]="IFRAME",t[t.KEYGEN=57]="KEYGEN",t[t.LABEL=58]="LABEL",t[t.LI=59]="LI",t[t.LINK=60]="LINK",t[t.LISTING=61]="LISTING",t[t.MAIN=62]="MAIN",t[t.MALIGNMARK=63]="MALIGNMARK",t[t.MARQUEE=64]="MARQUEE",t[t.MATH=65]="MATH",t[t.MENU=66]="MENU",t[t.META=67]="META",t[t.MGLYPH=68]="MGLYPH",t[t.MI=69]="MI",t[t.MO=70]="MO",t[t.MN=71]="MN",t[t.MS=72]="MS",t[t.MTEXT=73]="MTEXT",t[t.NAV=74]="NAV",t[t.NOBR=75]="NOBR",t[t.NOFRAMES=76]="NOFRAMES",t[t.NOEMBED=77]="NOEMBED",t[t.NOSCRIPT=78]="NOSCRIPT",t[t.OBJECT=79]="OBJECT",t[t.OL=80]="OL",t[t.OPTGROUP=81]="OPTGROUP",t[t.OPTION=82]="OPTION",t[t.P=83]="P",t[t.PARAM=84]="PARAM",t[t.PLAINTEXT=85]="PLAINTEXT",t[t.PRE=86]="PRE",t[t.RB=87]="RB",t[t.RP=88]="RP",t[t.RT=89]="RT",t[t.RTC=90]="RTC",t[t.RUBY=91]="RUBY",t[t.S=92]="S",t[t.SCRIPT=93]="SCRIPT",t[t.SECTION=94]="SECTION",t[t.SELECT=95]="SELECT",t[t.SOURCE=96]="SOURCE",t[t.SMALL=97]="SMALL",t[t.SPAN=98]="SPAN",t[t.STRIKE=99]="STRIKE",t[t.STRONG=100]="STRONG",t[t.STYLE=101]="STYLE",t[t.SUB=102]="SUB",t[t.SUMMARY=103]="SUMMARY",t[t.SUP=104]="SUP",t[t.TABLE=105]="TABLE",t[t.TBODY=106]="TBODY",t[t.TEMPLATE=107]="TEMPLATE",t[t.TEXTAREA=108]="TEXTAREA",t[t.TFOOT=109]="TFOOT",t[t.TD=110]="TD",t[t.TH=111]="TH",t[t.THEAD=112]="THEAD",t[t.TITLE=113]="TITLE",t[t.TR=114]="TR",t[t.TRACK=115]="TRACK",t[t.TT=116]="TT",t[t.U=117]="U",t[t.UL=118]="UL",t[t.SVG=119]="SVG",t[t.VAR=120]="VAR",t[t.WBR=121]="WBR",t[t.XMP=122]="XMP"}(qi=qi||(qi={}));const Ki=new Map([[Gi.A,qi.A],[Gi.ADDRESS,qi.ADDRESS],[Gi.ANNOTATION_XML,qi.ANNOTATION_XML],[Gi.APPLET,qi.APPLET],[Gi.AREA,qi.AREA],[Gi.ARTICLE,qi.ARTICLE],[Gi.ASIDE,qi.ASIDE],[Gi.B,qi.B],[Gi.BASE,qi.BASE],[Gi.BASEFONT,qi.BASEFONT],[Gi.BGSOUND,qi.BGSOUND],[Gi.BIG,qi.BIG],[Gi.BLOCKQUOTE,qi.BLOCKQUOTE],[Gi.BODY,qi.BODY],[Gi.BR,qi.BR],[Gi.BUTTON,qi.BUTTON],[Gi.CAPTION,qi.CAPTION],[Gi.CENTER,qi.CENTER],[Gi.CODE,qi.CODE],[Gi.COL,qi.COL],[Gi.COLGROUP,qi.COLGROUP],[Gi.DD,qi.DD],[Gi.DESC,qi.DESC],[Gi.DETAILS,qi.DETAILS],[Gi.DIALOG,qi.DIALOG],[Gi.DIR,qi.DIR],[Gi.DIV,qi.DIV],[Gi.DL,qi.DL],[Gi.DT,qi.DT],[Gi.EM,qi.EM],[Gi.EMBED,qi.EMBED],[Gi.FIELDSET,qi.FIELDSET],[Gi.FIGCAPTION,qi.FIGCAPTION],[Gi.FIGURE,qi.FIGURE],[Gi.FONT,qi.FONT],[Gi.FOOTER,qi.FOOTER],[Gi.FOREIGN_OBJECT,qi.FOREIGN_OBJECT],[Gi.FORM,qi.FORM],[Gi.FRAME,qi.FRAME],[Gi.FRAMESET,qi.FRAMESET],[Gi.H1,qi.H1],[Gi.H2,qi.H2],[Gi.H3,qi.H3],[Gi.H4,qi.H4],[Gi.H5,qi.H5],[Gi.H6,qi.H6],[Gi.HEAD,qi.HEAD],[Gi.HEADER,qi.HEADER],[Gi.HGROUP,qi.HGROUP],[Gi.HR,qi.HR],[Gi.HTML,qi.HTML],[Gi.I,qi.I],[Gi.IMG,qi.IMG],[Gi.IMAGE,qi.IMAGE],[Gi.INPUT,qi.INPUT],[Gi.IFRAME,qi.IFRAME],[Gi.KEYGEN,qi.KEYGEN],[Gi.LABEL,qi.LABEL],[Gi.LI,qi.LI],[Gi.LINK,qi.LINK],[Gi.LISTING,qi.LISTING],[Gi.MAIN,qi.MAIN],[Gi.MALIGNMARK,qi.MALIGNMARK],[Gi.MARQUEE,qi.MARQUEE],[Gi.MATH,qi.MATH],[Gi.MENU,qi.MENU],[Gi.META,qi.META],[Gi.MGLYPH,qi.MGLYPH],[Gi.MI,qi.MI],[Gi.MO,qi.MO],[Gi.MN,qi.MN],[Gi.MS,qi.MS],[Gi.MTEXT,qi.MTEXT],[Gi.NAV,qi.NAV],[Gi.NOBR,qi.NOBR],[Gi.NOFRAMES,qi.NOFRAMES],[Gi.NOEMBED,qi.NOEMBED],[Gi.NOSCRIPT,qi.NOSCRIPT],[Gi.OBJECT,qi.OBJECT],[Gi.OL,qi.OL],[Gi.OPTGROUP,qi.OPTGROUP],[Gi.OPTION,qi.OPTION],[Gi.P,qi.P],[Gi.PARAM,qi.PARAM],[Gi.PLAINTEXT,qi.PLAINTEXT],[Gi.PRE,qi.PRE],[Gi.RB,qi.RB],[Gi.RP,qi.RP],[Gi.RT,qi.RT],[Gi.RTC,qi.RTC],[Gi.RUBY,qi.RUBY],[Gi.S,qi.S],[Gi.SCRIPT,qi.SCRIPT],[Gi.SECTION,qi.SECTION],[Gi.SELECT,qi.SELECT],[Gi.SOURCE,qi.SOURCE],[Gi.SMALL,qi.SMALL],[Gi.SPAN,qi.SPAN],[Gi.STRIKE,qi.STRIKE],[Gi.STRONG,qi.STRONG],[Gi.STYLE,qi.STYLE],[Gi.SUB,qi.SUB],[Gi.SUMMARY,qi.SUMMARY],[Gi.SUP,qi.SUP],[Gi.TABLE,qi.TABLE],[Gi.TBODY,qi.TBODY],[Gi.TEMPLATE,qi.TEMPLATE],[Gi.TEXTAREA,qi.TEXTAREA],[Gi.TFOOT,qi.TFOOT],[Gi.TD,qi.TD],[Gi.TH,qi.TH],[Gi.THEAD,qi.THEAD],[Gi.TITLE,qi.TITLE],[Gi.TR,qi.TR],[Gi.TRACK,qi.TRACK],[Gi.TT,qi.TT],[Gi.U,qi.U],[Gi.UL,qi.UL],[Gi.SVG,qi.SVG],[Gi.VAR,qi.VAR],[Gi.WBR,qi.WBR],[Gi.XMP,qi.XMP]]);function Xi(t){var e;return null!==(e=Ki.get(t))&&void 0!==e?e:qi.UNKNOWN}const Yi=qi;Qi.HTML,new Set([Yi.ADDRESS,Yi.APPLET,Yi.AREA,Yi.ARTICLE,Yi.ASIDE,Yi.BASE,Yi.BASEFONT,Yi.BGSOUND,Yi.BLOCKQUOTE,Yi.BODY,Yi.BR,Yi.BUTTON,Yi.CAPTION,Yi.CENTER,Yi.COL,Yi.COLGROUP,Yi.DD,Yi.DETAILS,Yi.DIR,Yi.DIV,Yi.DL,Yi.DT,Yi.EMBED,Yi.FIELDSET,Yi.FIGCAPTION,Yi.FIGURE,Yi.FOOTER,Yi.FORM,Yi.FRAME,Yi.FRAMESET,Yi.H1,Yi.H2,Yi.H3,Yi.H4,Yi.H5,Yi.H6,Yi.HEAD,Yi.HEADER,Yi.HGROUP,Yi.HR,Yi.HTML,Yi.IFRAME,Yi.IMG,Yi.INPUT,Yi.LI,Yi.LINK,Yi.LISTING,Yi.MAIN,Yi.MARQUEE,Yi.MENU,Yi.META,Yi.NAV,Yi.NOEMBED,Yi.NOFRAMES,Yi.NOSCRIPT,Yi.OBJECT,Yi.OL,Yi.P,Yi.PARAM,Yi.PLAINTEXT,Yi.PRE,Yi.SCRIPT,Yi.SECTION,Yi.SELECT,Yi.SOURCE,Yi.STYLE,Yi.SUMMARY,Yi.TABLE,Yi.TBODY,Yi.TD,Yi.TEMPLATE,Yi.TEXTAREA,Yi.TFOOT,Yi.TH,Yi.THEAD,Yi.TITLE,Yi.TR,Yi.TRACK,Yi.UL,Yi.WBR,Yi.XMP]),Qi.MATHML,new Set([Yi.MI,Yi.MO,Yi.MN,Yi.MS,Yi.MTEXT,Yi.ANNOTATION_XML]),Qi.SVG,new Set([Yi.TITLE,Yi.FOREIGN_OBJECT,Yi.DESC]),Qi.XLINK,new Set,Qi.XML,new Set,Qi.XMLNS,new Set;const Ji=new Set([Gi.STYLE,Gi.SCRIPT,Gi.XMP,Gi.IFRAME,Gi.NOEMBED,Gi.NOFRAMES,Gi.PLAINTEXT]);const Zi=new Map([[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);var $i;!function(t){t[t.DATA=0]="DATA",t[t.RCDATA=1]="RCDATA",t[t.RAWTEXT=2]="RAWTEXT",t[t.SCRIPT_DATA=3]="SCRIPT_DATA",t[t.PLAINTEXT=4]="PLAINTEXT",t[t.TAG_OPEN=5]="TAG_OPEN",t[t.END_TAG_OPEN=6]="END_TAG_OPEN",t[t.TAG_NAME=7]="TAG_NAME",t[t.RCDATA_LESS_THAN_SIGN=8]="RCDATA_LESS_THAN_SIGN",t[t.RCDATA_END_TAG_OPEN=9]="RCDATA_END_TAG_OPEN",t[t.RCDATA_END_TAG_NAME=10]="RCDATA_END_TAG_NAME",t[t.RAWTEXT_LESS_THAN_SIGN=11]="RAWTEXT_LESS_THAN_SIGN",t[t.RAWTEXT_END_TAG_OPEN=12]="RAWTEXT_END_TAG_OPEN",t[t.RAWTEXT_END_TAG_NAME=13]="RAWTEXT_END_TAG_NAME",t[t.SCRIPT_DATA_LESS_THAN_SIGN=14]="SCRIPT_DATA_LESS_THAN_SIGN",t[t.SCRIPT_DATA_END_TAG_OPEN=15]="SCRIPT_DATA_END_TAG_OPEN",t[t.SCRIPT_DATA_END_TAG_NAME=16]="SCRIPT_DATA_END_TAG_NAME",t[t.SCRIPT_DATA_ESCAPE_START=17]="SCRIPT_DATA_ESCAPE_START",t[t.SCRIPT_DATA_ESCAPE_START_DASH=18]="SCRIPT_DATA_ESCAPE_START_DASH",t[t.SCRIPT_DATA_ESCAPED=19]="SCRIPT_DATA_ESCAPED",t[t.SCRIPT_DATA_ESCAPED_DASH=20]="SCRIPT_DATA_ESCAPED_DASH",t[t.SCRIPT_DATA_ESCAPED_DASH_DASH=21]="SCRIPT_DATA_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN=22]="SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_OPEN=23]="SCRIPT_DATA_ESCAPED_END_TAG_OPEN",t[t.SCRIPT_DATA_ESCAPED_END_TAG_NAME=24]="SCRIPT_DATA_ESCAPED_END_TAG_NAME",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_START=25]="SCRIPT_DATA_DOUBLE_ESCAPE_START",t[t.SCRIPT_DATA_DOUBLE_ESCAPED=26]="SCRIPT_DATA_DOUBLE_ESCAPED",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH=27]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH=28]="SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH",t[t.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN=29]="SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN",t[t.SCRIPT_DATA_DOUBLE_ESCAPE_END=30]="SCRIPT_DATA_DOUBLE_ESCAPE_END",t[t.BEFORE_ATTRIBUTE_NAME=31]="BEFORE_ATTRIBUTE_NAME",t[t.ATTRIBUTE_NAME=32]="ATTRIBUTE_NAME",t[t.AFTER_ATTRIBUTE_NAME=33]="AFTER_ATTRIBUTE_NAME",t[t.BEFORE_ATTRIBUTE_VALUE=34]="BEFORE_ATTRIBUTE_VALUE",t[t.ATTRIBUTE_VALUE_DOUBLE_QUOTED=35]="ATTRIBUTE_VALUE_DOUBLE_QUOTED",t[t.ATTRIBUTE_VALUE_SINGLE_QUOTED=36]="ATTRIBUTE_VALUE_SINGLE_QUOTED",t[t.ATTRIBUTE_VALUE_UNQUOTED=37]="ATTRIBUTE_VALUE_UNQUOTED",t[t.AFTER_ATTRIBUTE_VALUE_QUOTED=38]="AFTER_ATTRIBUTE_VALUE_QUOTED",t[t.SELF_CLOSING_START_TAG=39]="SELF_CLOSING_START_TAG",t[t.BOGUS_COMMENT=40]="BOGUS_COMMENT",t[t.MARKUP_DECLARATION_OPEN=41]="MARKUP_DECLARATION_OPEN",t[t.COMMENT_START=42]="COMMENT_START",t[t.COMMENT_START_DASH=43]="COMMENT_START_DASH",t[t.COMMENT=44]="COMMENT",t[t.COMMENT_LESS_THAN_SIGN=45]="COMMENT_LESS_THAN_SIGN",t[t.COMMENT_LESS_THAN_SIGN_BANG=46]="COMMENT_LESS_THAN_SIGN_BANG",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH=47]="COMMENT_LESS_THAN_SIGN_BANG_DASH",t[t.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH=48]="COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH",t[t.COMMENT_END_DASH=49]="COMMENT_END_DASH",t[t.COMMENT_END=50]="COMMENT_END",t[t.COMMENT_END_BANG=51]="COMMENT_END_BANG",t[t.DOCTYPE=52]="DOCTYPE",t[t.BEFORE_DOCTYPE_NAME=53]="BEFORE_DOCTYPE_NAME",t[t.DOCTYPE_NAME=54]="DOCTYPE_NAME",t[t.AFTER_DOCTYPE_NAME=55]="AFTER_DOCTYPE_NAME",t[t.AFTER_DOCTYPE_PUBLIC_KEYWORD=56]="AFTER_DOCTYPE_PUBLIC_KEYWORD",t[t.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER=57]="BEFORE_DOCTYPE_PUBLIC_IDENTIFIER",t[t.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED=58]="DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED=59]="DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_PUBLIC_IDENTIFIER=60]="AFTER_DOCTYPE_PUBLIC_IDENTIFIER",t[t.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS=61]="BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS",t[t.AFTER_DOCTYPE_SYSTEM_KEYWORD=62]="AFTER_DOCTYPE_SYSTEM_KEYWORD",t[t.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER=63]="BEFORE_DOCTYPE_SYSTEM_IDENTIFIER",t[t.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED=64]="DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED",t[t.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED=65]="DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED",t[t.AFTER_DOCTYPE_SYSTEM_IDENTIFIER=66]="AFTER_DOCTYPE_SYSTEM_IDENTIFIER",t[t.BOGUS_DOCTYPE=67]="BOGUS_DOCTYPE",t[t.CDATA_SECTION=68]="CDATA_SECTION",t[t.CDATA_SECTION_BRACKET=69]="CDATA_SECTION_BRACKET",t[t.CDATA_SECTION_END=70]="CDATA_SECTION_END",t[t.CHARACTER_REFERENCE=71]="CHARACTER_REFERENCE",t[t.NAMED_CHARACTER_REFERENCE=72]="NAMED_CHARACTER_REFERENCE",t[t.AMBIGUOUS_AMPERSAND=73]="AMBIGUOUS_AMPERSAND",t[t.NUMERIC_CHARACTER_REFERENCE=74]="NUMERIC_CHARACTER_REFERENCE",t[t.HEXADEMICAL_CHARACTER_REFERENCE_START=75]="HEXADEMICAL_CHARACTER_REFERENCE_START",t[t.HEXADEMICAL_CHARACTER_REFERENCE=76]="HEXADEMICAL_CHARACTER_REFERENCE",t[t.DECIMAL_CHARACTER_REFERENCE=77]="DECIMAL_CHARACTER_REFERENCE",t[t.NUMERIC_CHARACTER_REFERENCE_END=78]="NUMERIC_CHARACTER_REFERENCE_END"}($i||($i={}));const tn={DATA:$i.DATA,RCDATA:$i.RCDATA,RAWTEXT:$i.RAWTEXT,SCRIPT_DATA:$i.SCRIPT_DATA,PLAINTEXT:$i.PLAINTEXT,CDATA_SECTION:$i.CDATA_SECTION};function en(t){return t>=bi.DIGIT_0&&t<=bi.DIGIT_9}function rn(t){return t>=bi.LATIN_CAPITAL_A&&t<=bi.LATIN_CAPITAL_Z}function nn(t){return function(t){return t>=bi.LATIN_SMALL_A&&t<=bi.LATIN_SMALL_Z}(t)||rn(t)}function sn(t){return nn(t)||en(t)}function on(t){return t>=bi.LATIN_CAPITAL_A&&t<=bi.LATIN_CAPITAL_F}function an(t){return t>=bi.LATIN_SMALL_A&&t<=bi.LATIN_SMALL_F}function cn(t){return t+32}function ln(t){return t===bi.SPACE||t===bi.LINE_FEED||t===bi.TABULATION||t===bi.FORM_FEED}function hn(t){return t===bi.EQUALS_SIGN||sn(t)}function un(t){return ln(t)||t===bi.SOLIDUS||t===bi.GREATER_THAN_SIGN}class pn{constructor(t,e){this.options=t,this.handler=e,this.paused=!1,this.inLoop=!1,this.inForeignNode=!1,this.lastStartTagName="",this.active=!1,this.state=$i.DATA,this.returnState=$i.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new Bi(e),this.currentLocation=this.getCurrentLocation(-1)}_err(t){var e,r;null===(r=(e=this.handler).onParseError)||void 0===r||r.call(e,this.preprocessor.getError(t))}getCurrentLocation(t){return this.options.sourceCodeLocationInfo?{startLine:this.preprocessor.line,startCol:this.preprocessor.col-t,startOffset:this.preprocessor.offset-t,endLine:-1,endCol:-1,endOffset:-1}:null}_runParsingLoop(){if(!this.inLoop){for(this.inLoop=!0;this.active&&!this.paused;){this.consumedAfterSnapshot=0;const t=this._consume();this._ensureHibernation()||this._callState(t)}this.inLoop=!1}}pause(){this.paused=!0}resume(t){if(!this.paused)throw new Error("Parser was already resumed");this.paused=!1,this.inLoop||(this._runParsingLoop(),this.paused||null==t||t())}write(t,e,r){this.active=!0,this.preprocessor.write(t,e),this._runParsingLoop(),this.paused||null==r||r()}insertHtmlAtCurrentPos(t){this.active=!0,this.preprocessor.insertHtmlAtCurrentPos(t),this._runParsingLoop()}_ensureHibernation(){return!!this.preprocessor.endOfChunkHit&&(this._unconsume(this.consumedAfterSnapshot),this.active=!1,!0)}_consume(){return this.consumedAfterSnapshot++,this.preprocessor.advance()}_unconsume(t){this.consumedAfterSnapshot-=t,this.preprocessor.retreat(t)}_reconsumeInState(t,e){this.state=t,this._callState(e)}_advanceBy(t){this.consumedAfterSnapshot+=t;for(let e=0;e<t;e++)this.preprocessor.advance()}_consumeSequenceIfMatch(t,e){return!!this.preprocessor.startsWith(t,e)&&(this._advanceBy(t.length-1),!0)}_createStartTagToken(){this.currentToken={type:Ni.START_TAG,tagName:"",tagID:qi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:Ni.END_TAG,tagName:"",tagID:qi.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(t){this.currentToken={type:Ni.COMMENT,data:"",location:this.getCurrentLocation(t)}}_createDoctypeToken(t){this.currentToken={type:Ni.DOCTYPE,name:t,forceQuirks:!1,publicId:null,systemId:null,location:this.currentLocation}}_createCharacterToken(t,e){this.currentCharacterToken={type:t,chars:e,location:this.currentLocation}}_createAttr(t){this.currentAttr={name:t,value:""},this.currentLocation=this.getCurrentLocation(0)}_leaveAttrName(){var t,e;const r=this.currentToken;if(null===function(t,e){for(let r=t.attrs.length-1;r>=0;r--)if(t.attrs[r].name===e)return t.attrs[r].value;return null}(r,this.currentAttr.name)){if(r.attrs.push(this.currentAttr),r.location&&this.currentLocation){(null!==(t=(e=r.location).attrs)&&void 0!==t?t:e.attrs=Object.create(null))[this.currentAttr.name]=this.currentLocation,this._leaveAttrValue()}}else this._err(ki.duplicateAttribute)}_leaveAttrValue(){this.currentLocation&&(this.currentLocation.endLine=this.preprocessor.line,this.currentLocation.endCol=this.preprocessor.col,this.currentLocation.endOffset=this.preprocessor.offset)}prepareToken(t){this._emitCurrentCharacterToken(t.location),this.currentToken=null,t.location&&(t.location.endLine=this.preprocessor.line,t.location.endCol=this.preprocessor.col+1,t.location.endOffset=this.preprocessor.offset+1),this.currentLocation=this.getCurrentLocation(-1)}emitCurrentTagToken(){const t=this.currentToken;this.prepareToken(t),t.tagID=Xi(t.tagName),t.type===Ni.START_TAG?(this.lastStartTagName=t.tagName,this.handler.onStartTag(t)):(t.attrs.length>0&&this._err(ki.endTagWithAttributes),t.selfClosing&&this._err(ki.endTagWithTrailingSolidus),this.handler.onEndTag(t)),this.preprocessor.dropParsedChunk()}emitCurrentComment(t){this.prepareToken(t),this.handler.onComment(t),this.preprocessor.dropParsedChunk()}emitCurrentDoctype(t){this.prepareToken(t),this.handler.onDoctype(t),this.preprocessor.dropParsedChunk()}_emitCurrentCharacterToken(t){if(this.currentCharacterToken){switch(t&&this.currentCharacterToken.location&&(this.currentCharacterToken.location.endLine=t.startLine,this.currentCharacterToken.location.endCol=t.startCol,this.currentCharacterToken.location.endOffset=t.startOffset),this.currentCharacterToken.type){case Ni.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case Ni.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case Ni.WHITESPACE_CHARACTER:this.handler.onWhitespaceCharacter(this.currentCharacterToken)}this.currentCharacterToken=null}}_emitEOFToken(){const t=this.getCurrentLocation(0);t&&(t.endLine=t.startLine,t.endCol=t.startCol,t.endOffset=t.startOffset),this._emitCurrentCharacterToken(t),this.handler.onEof({type:Ni.EOF,location:t}),this.active=!1}_appendCharToCurrentCharacterToken(t,e){if(this.currentCharacterToken){if(this.currentCharacterToken.type===t)return void(this.currentCharacterToken.chars+=e);this.currentLocation=this.getCurrentLocation(0),this._emitCurrentCharacterToken(this.currentLocation),this.preprocessor.dropParsedChunk()}this._createCharacterToken(t,e)}_emitCodePoint(t){const e=ln(t)?Ni.WHITESPACE_CHARACTER:t===bi.NULL?Ni.NULL_CHARACTER:Ni.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Ni.CHARACTER,t)}_matchNamedCharacterReference(t){let e=null,r=0,i=!1;for(let n=0,s=Oi[0];n>=0&&(n=Wi(Oi,s,n+1,t),!(n<0));t=this._consume()){r+=1,s=Oi[n];const o=s&Hi.VALUE_LENGTH;if(o){const s=(o>>14)-1;if(t!==bi.SEMICOLON&&this._isCharacterReferenceInAttribute()&&hn(this.preprocessor.peek(1))?(e=[bi.AMPERSAND],n+=s):(e=0===s?[Oi[n]&~Hi.VALUE_LENGTH]:1===s?[Oi[++n]]:[Oi[++n],Oi[++n]],r=0,i=t!==bi.SEMICOLON),0===s){this._consume();break}}}return this._unconsume(r),i&&!this.preprocessor.endOfChunkHit&&this._err(ki.missingSemicolonAfterCharacterReference),this._unconsume(1),e}_isCharacterReferenceInAttribute(){return this.returnState===$i.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===$i.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===$i.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case $i.DATA:this._stateData(t);break;case $i.RCDATA:this._stateRcdata(t);break;case $i.RAWTEXT:this._stateRawtext(t);break;case $i.SCRIPT_DATA:this._stateScriptData(t);break;case $i.PLAINTEXT:this._statePlaintext(t);break;case $i.TAG_OPEN:this._stateTagOpen(t);break;case $i.END_TAG_OPEN:this._stateEndTagOpen(t);break;case $i.TAG_NAME:this._stateTagName(t);break;case $i.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(t);break;case $i.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(t);break;case $i.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(t);break;case $i.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(t);break;case $i.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(t);break;case $i.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(t);break;case $i.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(t);break;case $i.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(t);break;case $i.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(t);break;case $i.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(t);break;case $i.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(t);break;case $i.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(t);break;case $i.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(t);break;case $i.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(t);break;case $i.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(t);break;case $i.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(t);break;case $i.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(t);break;case $i.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(t);break;case $i.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(t);break;case $i.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(t);break;case $i.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(t);break;case $i.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(t);break;case $i.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(t);break;case $i.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(t);break;case $i.ATTRIBUTE_NAME:this._stateAttributeName(t);break;case $i.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(t);break;case $i.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(t);break;case $i.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(t);break;case $i.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(t);break;case $i.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(t);break;case $i.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(t);break;case $i.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(t);break;case $i.BOGUS_COMMENT:this._stateBogusComment(t);break;case $i.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(t);break;case $i.COMMENT_START:this._stateCommentStart(t);break;case $i.COMMENT_START_DASH:this._stateCommentStartDash(t);break;case $i.COMMENT:this._stateComment(t);break;case $i.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(t);break;case $i.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(t);break;case $i.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(t);break;case $i.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(t);break;case $i.COMMENT_END_DASH:this._stateCommentEndDash(t);break;case $i.COMMENT_END:this._stateCommentEnd(t);break;case $i.COMMENT_END_BANG:this._stateCommentEndBang(t);break;case $i.DOCTYPE:this._stateDoctype(t);break;case $i.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(t);break;case $i.DOCTYPE_NAME:this._stateDoctypeName(t);break;case $i.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(t);break;case $i.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(t);break;case $i.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(t);break;case $i.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(t);break;case $i.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(t);break;case $i.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(t);break;case $i.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break;case $i.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(t);break;case $i.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(t);break;case $i.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(t);break;case $i.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(t);break;case $i.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(t);break;case $i.BOGUS_DOCTYPE:this._stateBogusDoctype(t);break;case $i.CDATA_SECTION:this._stateCdataSection(t);break;case $i.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(t);break;case $i.CDATA_SECTION_END:this._stateCdataSectionEnd(t);break;case $i.CHARACTER_REFERENCE:this._stateCharacterReference(t);break;case $i.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(t);break;case $i.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(t);break;case $i.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(t);break;case $i.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(t);break;case $i.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(t);break;case $i.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(t);break;case $i.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(t);break;default:throw new Error("Unknown state")}}_stateData(t){switch(t){case bi.LESS_THAN_SIGN:this.state=$i.TAG_OPEN;break;case bi.AMPERSAND:this.returnState=$i.DATA,this.state=$i.CHARACTER_REFERENCE;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this._emitCodePoint(t);break;case bi.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case bi.AMPERSAND:this.returnState=$i.RCDATA,this.state=$i.CHARACTER_REFERENCE;break;case bi.LESS_THAN_SIGN:this.state=$i.RCDATA_LESS_THAN_SIGN;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this._emitChars(Ai);break;case bi.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case bi.LESS_THAN_SIGN:this.state=$i.RAWTEXT_LESS_THAN_SIGN;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this._emitChars(Ai);break;case bi.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case bi.LESS_THAN_SIGN:this.state=$i.SCRIPT_DATA_LESS_THAN_SIGN;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this._emitChars(Ai);break;case bi.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case bi.NULL:this._err(ki.unexpectedNullCharacter),this._emitChars(Ai);break;case bi.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateTagOpen(t){if(nn(t))this._createStartTagToken(),this.state=$i.TAG_NAME,this._stateTagName(t);else switch(t){case bi.EXCLAMATION_MARK:this.state=$i.MARKUP_DECLARATION_OPEN;break;case bi.SOLIDUS:this.state=$i.END_TAG_OPEN;break;case bi.QUESTION_MARK:this._err(ki.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=$i.BOGUS_COMMENT,this._stateBogusComment(t);break;case bi.EOF:this._err(ki.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(ki.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=$i.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(nn(t))this._createEndTagToken(),this.state=$i.TAG_NAME,this._stateTagName(t);else switch(t){case bi.GREATER_THAN_SIGN:this._err(ki.missingEndTagName),this.state=$i.DATA;break;case bi.EOF:this._err(ki.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break;default:this._err(ki.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=$i.BOGUS_COMMENT,this._stateBogusComment(t)}}_stateTagName(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:this.state=$i.BEFORE_ATTRIBUTE_NAME;break;case bi.SOLIDUS:this.state=$i.SELF_CLOSING_START_TAG;break;case bi.GREATER_THAN_SIGN:this.state=$i.DATA,this.emitCurrentTagToken();break;case bi.NULL:this._err(ki.unexpectedNullCharacter),e.tagName+=Ai;break;case bi.EOF:this._err(ki.eofInTag),this._emitEOFToken();break;default:e.tagName+=String.fromCodePoint(rn(t)?cn(t):t)}}_stateRcdataLessThanSign(t){t===bi.SOLIDUS?this.state=$i.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=$i.RCDATA,this._stateRcdata(t))}_stateRcdataEndTagOpen(t){nn(t)?(this.state=$i.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(t)):(this._emitChars("</"),this.state=$i.RCDATA,this._stateRcdata(t))}handleSpecialEndTag(t){if(!this.preprocessor.startsWith(this.lastStartTagName,!1))return!this._ensureHibernation();this._createEndTagToken();this.currentToken.tagName=this.lastStartTagName;switch(this.preprocessor.peek(this.lastStartTagName.length)){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=$i.BEFORE_ATTRIBUTE_NAME,!1;case bi.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=$i.SELF_CLOSING_START_TAG,!1;case bi.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=$i.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=$i.RCDATA,this._stateRcdata(t))}_stateRawtextLessThanSign(t){t===bi.SOLIDUS?this.state=$i.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=$i.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagOpen(t){nn(t)?(this.state=$i.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(t)):(this._emitChars("</"),this.state=$i.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=$i.RAWTEXT,this._stateRawtext(t))}_stateScriptDataLessThanSign(t){switch(t){case bi.SOLIDUS:this.state=$i.SCRIPT_DATA_END_TAG_OPEN;break;case bi.EXCLAMATION_MARK:this.state=$i.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break;default:this._emitChars("<"),this.state=$i.SCRIPT_DATA,this._stateScriptData(t)}}_stateScriptDataEndTagOpen(t){nn(t)?(this.state=$i.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(t)):(this._emitChars("</"),this.state=$i.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=$i.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStart(t){t===bi.HYPHEN_MINUS?(this.state=$i.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=$i.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStartDash(t){t===bi.HYPHEN_MINUS?(this.state=$i.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=$i.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscaped(t){switch(t){case bi.HYPHEN_MINUS:this.state=$i.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break;case bi.LESS_THAN_SIGN:this.state=$i.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this._emitChars(Ai);break;case bi.EOF:this._err(ki.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataEscapedDash(t){switch(t){case bi.HYPHEN_MINUS:this.state=$i.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break;case bi.LESS_THAN_SIGN:this.state=$i.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this.state=$i.SCRIPT_DATA_ESCAPED,this._emitChars(Ai);break;case bi.EOF:this._err(ki.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=$i.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedDashDash(t){switch(t){case bi.HYPHEN_MINUS:this._emitChars("-");break;case bi.LESS_THAN_SIGN:this.state=$i.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case bi.GREATER_THAN_SIGN:this.state=$i.SCRIPT_DATA,this._emitChars(">");break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this.state=$i.SCRIPT_DATA_ESCAPED,this._emitChars(Ai);break;case bi.EOF:this._err(ki.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=$i.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===bi.SOLIDUS?this.state=$i.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:nn(t)?(this._emitChars("<"),this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=$i.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){nn(t)?(this.state=$i.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("</"),this.state=$i.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=$i.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscapeStart(t){if(this.preprocessor.startsWith(xi,!1)&&un(this.preprocessor.peek(xi.length))){this._emitCodePoint(t);for(let t=0;t<xi.length;t++)this._emitCodePoint(this._consume());this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=$i.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscaped(t){switch(t){case bi.HYPHEN_MINUS:this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break;case bi.LESS_THAN_SIGN:this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this._emitChars(Ai);break;case bi.EOF:this._err(ki.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDash(t){switch(t){case bi.HYPHEN_MINUS:this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break;case bi.LESS_THAN_SIGN:this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Ai);break;case bi.EOF:this._err(ki.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDashDash(t){switch(t){case bi.HYPHEN_MINUS:this._emitChars("-");break;case bi.LESS_THAN_SIGN:this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case bi.GREATER_THAN_SIGN:this.state=$i.SCRIPT_DATA,this._emitChars(">");break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Ai);break;case bi.EOF:this._err(ki.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===bi.SOLIDUS?(this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(xi,!1)&&un(this.preprocessor.peek(xi.length))){this._emitCodePoint(t);for(let t=0;t<xi.length;t++)this._emitCodePoint(this._consume());this.state=$i.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=$i.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateBeforeAttributeName(t){switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.SOLIDUS:case bi.GREATER_THAN_SIGN:case bi.EOF:this.state=$i.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case bi.EQUALS_SIGN:this._err(ki.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=$i.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=$i.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateAttributeName(t){switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:case bi.SOLIDUS:case bi.GREATER_THAN_SIGN:case bi.EOF:this._leaveAttrName(),this.state=$i.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case bi.EQUALS_SIGN:this._leaveAttrName(),this.state=$i.BEFORE_ATTRIBUTE_VALUE;break;case bi.QUOTATION_MARK:case bi.APOSTROPHE:case bi.LESS_THAN_SIGN:this._err(ki.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(t);break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this.currentAttr.name+=Ai;break;default:this.currentAttr.name+=String.fromCodePoint(rn(t)?cn(t):t)}}_stateAfterAttributeName(t){switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.SOLIDUS:this.state=$i.SELF_CLOSING_START_TAG;break;case bi.EQUALS_SIGN:this.state=$i.BEFORE_ATTRIBUTE_VALUE;break;case bi.GREATER_THAN_SIGN:this.state=$i.DATA,this.emitCurrentTagToken();break;case bi.EOF:this._err(ki.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=$i.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateBeforeAttributeValue(t){switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.QUOTATION_MARK:this.state=$i.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case bi.APOSTROPHE:this.state=$i.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case bi.GREATER_THAN_SIGN:this._err(ki.missingAttributeValue),this.state=$i.DATA,this.emitCurrentTagToken();break;default:this.state=$i.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(t)}}_stateAttributeValueDoubleQuoted(t){switch(t){case bi.QUOTATION_MARK:this.state=$i.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case bi.AMPERSAND:this.returnState=$i.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=$i.CHARACTER_REFERENCE;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this.currentAttr.value+=Ai;break;case bi.EOF:this._err(ki.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueSingleQuoted(t){switch(t){case bi.APOSTROPHE:this.state=$i.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case bi.AMPERSAND:this.returnState=$i.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=$i.CHARACTER_REFERENCE;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this.currentAttr.value+=Ai;break;case bi.EOF:this._err(ki.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueUnquoted(t){switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:this._leaveAttrValue(),this.state=$i.BEFORE_ATTRIBUTE_NAME;break;case bi.AMPERSAND:this.returnState=$i.ATTRIBUTE_VALUE_UNQUOTED,this.state=$i.CHARACTER_REFERENCE;break;case bi.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=$i.DATA,this.emitCurrentTagToken();break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this.currentAttr.value+=Ai;break;case bi.QUOTATION_MARK:case bi.APOSTROPHE:case bi.LESS_THAN_SIGN:case bi.EQUALS_SIGN:case bi.GRAVE_ACCENT:this._err(ki.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(t);break;case bi.EOF:this._err(ki.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAfterAttributeValueQuoted(t){switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:this._leaveAttrValue(),this.state=$i.BEFORE_ATTRIBUTE_NAME;break;case bi.SOLIDUS:this._leaveAttrValue(),this.state=$i.SELF_CLOSING_START_TAG;break;case bi.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=$i.DATA,this.emitCurrentTagToken();break;case bi.EOF:this._err(ki.eofInTag),this._emitEOFToken();break;default:this._err(ki.missingWhitespaceBetweenAttributes),this.state=$i.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateSelfClosingStartTag(t){switch(t){case bi.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=$i.DATA,this.emitCurrentTagToken();break;case bi.EOF:this._err(ki.eofInTag),this._emitEOFToken();break;default:this._err(ki.unexpectedSolidusInTag),this.state=$i.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateBogusComment(t){const e=this.currentToken;switch(t){case bi.GREATER_THAN_SIGN:this.state=$i.DATA,this.emitCurrentComment(e);break;case bi.EOF:this.emitCurrentComment(e),this._emitEOFToken();break;case bi.NULL:this._err(ki.unexpectedNullCharacter),e.data+=Ai;break;default:e.data+=String.fromCodePoint(t)}}_stateMarkupDeclarationOpen(t){this._consumeSequenceIfMatch(vi,!0)?(this._createCommentToken(vi.length+1),this.state=$i.COMMENT_START):this._consumeSequenceIfMatch(_i,!1)?(this.currentLocation=this.getCurrentLocation(_i.length+1),this.state=$i.DOCTYPE):this._consumeSequenceIfMatch(Ei,!0)?this.inForeignNode?this.state=$i.CDATA_SECTION:(this._err(ki.cdataInHtmlContent),this._createCommentToken(Ei.length+1),this.currentToken.data="[CDATA[",this.state=$i.BOGUS_COMMENT):this._ensureHibernation()||(this._err(ki.incorrectlyOpenedComment),this._createCommentToken(2),this.state=$i.BOGUS_COMMENT,this._stateBogusComment(t))}_stateCommentStart(t){switch(t){case bi.HYPHEN_MINUS:this.state=$i.COMMENT_START_DASH;break;case bi.GREATER_THAN_SIGN:{this._err(ki.abruptClosingOfEmptyComment),this.state=$i.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=$i.COMMENT,this._stateComment(t)}}_stateCommentStartDash(t){const e=this.currentToken;switch(t){case bi.HYPHEN_MINUS:this.state=$i.COMMENT_END;break;case bi.GREATER_THAN_SIGN:this._err(ki.abruptClosingOfEmptyComment),this.state=$i.DATA,this.emitCurrentComment(e);break;case bi.EOF:this._err(ki.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=$i.COMMENT,this._stateComment(t)}}_stateComment(t){const e=this.currentToken;switch(t){case bi.HYPHEN_MINUS:this.state=$i.COMMENT_END_DASH;break;case bi.LESS_THAN_SIGN:e.data+="<",this.state=$i.COMMENT_LESS_THAN_SIGN;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),e.data+=Ai;break;case bi.EOF:this._err(ki.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+=String.fromCodePoint(t)}}_stateCommentLessThanSign(t){const e=this.currentToken;switch(t){case bi.EXCLAMATION_MARK:e.data+="!",this.state=$i.COMMENT_LESS_THAN_SIGN_BANG;break;case bi.LESS_THAN_SIGN:e.data+="<";break;default:this.state=$i.COMMENT,this._stateComment(t)}}_stateCommentLessThanSignBang(t){t===bi.HYPHEN_MINUS?this.state=$i.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=$i.COMMENT,this._stateComment(t))}_stateCommentLessThanSignBangDash(t){t===bi.HYPHEN_MINUS?this.state=$i.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=$i.COMMENT_END_DASH,this._stateCommentEndDash(t))}_stateCommentLessThanSignBangDashDash(t){t!==bi.GREATER_THAN_SIGN&&t!==bi.EOF&&this._err(ki.nestedComment),this.state=$i.COMMENT_END,this._stateCommentEnd(t)}_stateCommentEndDash(t){const e=this.currentToken;switch(t){case bi.HYPHEN_MINUS:this.state=$i.COMMENT_END;break;case bi.EOF:this._err(ki.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=$i.COMMENT,this._stateComment(t)}}_stateCommentEnd(t){const e=this.currentToken;switch(t){case bi.GREATER_THAN_SIGN:this.state=$i.DATA,this.emitCurrentComment(e);break;case bi.EXCLAMATION_MARK:this.state=$i.COMMENT_END_BANG;break;case bi.HYPHEN_MINUS:e.data+="-";break;case bi.EOF:this._err(ki.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--",this.state=$i.COMMENT,this._stateComment(t)}}_stateCommentEndBang(t){const e=this.currentToken;switch(t){case bi.HYPHEN_MINUS:e.data+="--!",this.state=$i.COMMENT_END_DASH;break;case bi.GREATER_THAN_SIGN:this._err(ki.incorrectlyClosedComment),this.state=$i.DATA,this.emitCurrentComment(e);break;case bi.EOF:this._err(ki.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--!",this.state=$i.COMMENT,this._stateComment(t)}}_stateDoctype(t){switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:this.state=$i.BEFORE_DOCTYPE_NAME;break;case bi.GREATER_THAN_SIGN:this.state=$i.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t);break;case bi.EOF:{this._err(ki.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(ki.missingWhitespaceBeforeDoctypeName),this.state=$i.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t)}}_stateBeforeDoctypeName(t){if(rn(t))this._createDoctypeToken(String.fromCharCode(cn(t))),this.state=$i.DOCTYPE_NAME;else switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.NULL:this._err(ki.unexpectedNullCharacter),this._createDoctypeToken(Ai),this.state=$i.DOCTYPE_NAME;break;case bi.GREATER_THAN_SIGN:{this._err(ki.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=$i.DATA;break}case bi.EOF:{this._err(ki.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._createDoctypeToken(String.fromCodePoint(t)),this.state=$i.DOCTYPE_NAME}}_stateDoctypeName(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:this.state=$i.AFTER_DOCTYPE_NAME;break;case bi.GREATER_THAN_SIGN:this.state=$i.DATA,this.emitCurrentDoctype(e);break;case bi.NULL:this._err(ki.unexpectedNullCharacter),e.name+=Ai;break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.name+=String.fromCodePoint(rn(t)?cn(t):t)}}_stateAfterDoctypeName(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.GREATER_THAN_SIGN:this.state=$i.DATA,this.emitCurrentDoctype(e);break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._consumeSequenceIfMatch(Ii,!1)?this.state=$i.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch(Si,!1)?this.state=$i.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(ki.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=$i.BOGUS_DOCTYPE,this._stateBogusDoctype(t))}}_stateAfterDoctypePublicKeyword(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:this.state=$i.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case bi.QUOTATION_MARK:this._err(ki.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=$i.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case bi.APOSTROPHE:this._err(ki.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=$i.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case bi.GREATER_THAN_SIGN:this._err(ki.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=$i.DATA,this.emitCurrentDoctype(e);break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ki.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=$i.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.QUOTATION_MARK:e.publicId="",this.state=$i.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case bi.APOSTROPHE:e.publicId="",this.state=$i.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case bi.GREATER_THAN_SIGN:this._err(ki.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=$i.DATA,this.emitCurrentDoctype(e);break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ki.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=$i.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypePublicIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case bi.QUOTATION_MARK:this.state=$i.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),e.publicId+=Ai;break;case bi.GREATER_THAN_SIGN:this._err(ki.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=$i.DATA;break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateDoctypePublicIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case bi.APOSTROPHE:this.state=$i.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),e.publicId+=Ai;break;case bi.GREATER_THAN_SIGN:this._err(ki.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=$i.DATA;break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.publicId+=String.fromCodePoint(t)}}_stateAfterDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:this.state=$i.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case bi.GREATER_THAN_SIGN:this.state=$i.DATA,this.emitCurrentDoctype(e);break;case bi.QUOTATION_MARK:this._err(ki.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=$i.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case bi.APOSTROPHE:this._err(ki.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=$i.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ki.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=$i.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBetweenDoctypePublicAndSystemIdentifiers(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=$i.DATA;break;case bi.QUOTATION_MARK:e.systemId="",this.state=$i.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case bi.APOSTROPHE:e.systemId="",this.state=$i.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ki.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=$i.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateAfterDoctypeSystemKeyword(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:this.state=$i.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case bi.QUOTATION_MARK:this._err(ki.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=$i.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case bi.APOSTROPHE:this._err(ki.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=$i.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case bi.GREATER_THAN_SIGN:this._err(ki.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=$i.DATA,this.emitCurrentDoctype(e);break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ki.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=$i.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.QUOTATION_MARK:e.systemId="",this.state=$i.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case bi.APOSTROPHE:e.systemId="",this.state=$i.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case bi.GREATER_THAN_SIGN:this._err(ki.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=$i.DATA,this.emitCurrentDoctype(e);break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ki.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=$i.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypeSystemIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case bi.QUOTATION_MARK:this.state=$i.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),e.systemId+=Ai;break;case bi.GREATER_THAN_SIGN:this._err(ki.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=$i.DATA;break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateDoctypeSystemIdentifierSingleQuoted(t){const e=this.currentToken;switch(t){case bi.APOSTROPHE:this.state=$i.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case bi.NULL:this._err(ki.unexpectedNullCharacter),e.systemId+=Ai;break;case bi.GREATER_THAN_SIGN:this._err(ki.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=$i.DATA;break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.systemId+=String.fromCodePoint(t)}}_stateAfterDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case bi.SPACE:case bi.LINE_FEED:case bi.TABULATION:case bi.FORM_FEED:break;case bi.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=$i.DATA;break;case bi.EOF:this._err(ki.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(ki.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=$i.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBogusDoctype(t){const e=this.currentToken;switch(t){case bi.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=$i.DATA;break;case bi.NULL:this._err(ki.unexpectedNullCharacter);break;case bi.EOF:this.emitCurrentDoctype(e),this._emitEOFToken()}}_stateCdataSection(t){switch(t){case bi.RIGHT_SQUARE_BRACKET:this.state=$i.CDATA_SECTION_BRACKET;break;case bi.EOF:this._err(ki.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateCdataSectionBracket(t){t===bi.RIGHT_SQUARE_BRACKET?this.state=$i.CDATA_SECTION_END:(this._emitChars("]"),this.state=$i.CDATA_SECTION,this._stateCdataSection(t))}_stateCdataSectionEnd(t){switch(t){case bi.GREATER_THAN_SIGN:this.state=$i.DATA;break;case bi.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=$i.CDATA_SECTION,this._stateCdataSection(t)}}_stateCharacterReference(t){t===bi.NUMBER_SIGN?this.state=$i.NUMERIC_CHARACTER_REFERENCE:sn(t)?(this.state=$i.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(t)):(this._flushCodePointConsumedAsCharacterReference(bi.AMPERSAND),this._reconsumeInState(this.returnState,t))}_stateNamedCharacterReference(t){const e=this._matchNamedCharacterReference(t);if(this._ensureHibernation());else if(e){for(let t=0;t<e.length;t++)this._flushCodePointConsumedAsCharacterReference(e[t]);this.state=this.returnState}else this._flushCodePointConsumedAsCharacterReference(bi.AMPERSAND),this.state=$i.AMBIGUOUS_AMPERSAND}_stateAmbiguousAmpersand(t){sn(t)?this._flushCodePointConsumedAsCharacterReference(t):(t===bi.SEMICOLON&&this._err(ki.unknownNamedCharacterReference),this._reconsumeInState(this.returnState,t))}_stateNumericCharacterReference(t){this.charRefCode=0,t===bi.LATIN_SMALL_X||t===bi.LATIN_CAPITAL_X?this.state=$i.HEXADEMICAL_CHARACTER_REFERENCE_START:en(t)?(this.state=$i.DECIMAL_CHARACTER_REFERENCE,this._stateDecimalCharacterReference(t)):(this._err(ki.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(bi.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(bi.NUMBER_SIGN),this._reconsumeInState(this.returnState,t))}_stateHexademicalCharacterReferenceStart(t){!function(t){return en(t)||on(t)||an(t)}(t)?(this._err(ki.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(bi.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(bi.NUMBER_SIGN),this._unconsume(2),this.state=this.returnState):(this.state=$i.HEXADEMICAL_CHARACTER_REFERENCE,this._stateHexademicalCharacterReference(t))}_stateHexademicalCharacterReference(t){on(t)?this.charRefCode=16*this.charRefCode+t-55:an(t)?this.charRefCode=16*this.charRefCode+t-87:en(t)?this.charRefCode=16*this.charRefCode+t-48:t===bi.SEMICOLON?this.state=$i.NUMERIC_CHARACTER_REFERENCE_END:(this._err(ki.missingSemicolonAfterCharacterReference),this.state=$i.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateDecimalCharacterReference(t){en(t)?this.charRefCode=10*this.charRefCode+t-48:t===bi.SEMICOLON?this.state=$i.NUMERIC_CHARACTER_REFERENCE_END:(this._err(ki.missingSemicolonAfterCharacterReference),this.state=$i.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateNumericCharacterReferenceEnd(t){if(this.charRefCode===bi.NULL)this._err(ki.nullCharacterReference),this.charRefCode=bi.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(ki.characterReferenceOutsideUnicodeRange),this.charRefCode=bi.REPLACEMENT_CHARACTER;else if(Ti(this.charRefCode))this._err(ki.surrogateCharacterReference),this.charRefCode=bi.REPLACEMENT_CHARACTER;else if(Ri(this.charRefCode))this._err(ki.noncharacterCharacterReference);else if(Ci(this.charRefCode)||this.charRefCode===bi.CARRIAGE_RETURN){this._err(ki.controlCharacterReference);const t=Zi.get(this.charRefCode);void 0!==t&&(this.charRefCode=t)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,t)}}const dn=new Set([qi.DD,qi.DT,qi.LI,qi.OPTGROUP,qi.OPTION,qi.P,qi.RB,qi.RP,qi.RT,qi.RTC]);new Set([...dn,qi.CAPTION,qi.COLGROUP,qi.TBODY,qi.TD,qi.TFOOT,qi.TH,qi.THEAD,qi.TR]),new Map([[qi.APPLET,Qi.HTML],[qi.CAPTION,Qi.HTML],[qi.HTML,Qi.HTML],[qi.MARQUEE,Qi.HTML],[qi.OBJECT,Qi.HTML],[qi.TABLE,Qi.HTML],[qi.TD,Qi.HTML],[qi.TEMPLATE,Qi.HTML],[qi.TH,Qi.HTML],[qi.ANNOTATION_XML,Qi.MATHML],[qi.MI,Qi.MATHML],[qi.MN,Qi.MATHML],[qi.MO,Qi.MATHML],[qi.MS,Qi.MATHML],[qi.MTEXT,Qi.MATHML],[qi.DESC,Qi.SVG],[qi.FOREIGN_OBJECT,Qi.SVG],[qi.TITLE,Qi.SVG]]),qi.H1,qi.H2,qi.H3,qi.H4,qi.H5,qi.H6,qi.TR,qi.TEMPLATE,qi.HTML,qi.TBODY,qi.TFOOT,qi.THEAD,qi.TEMPLATE,qi.HTML,qi.TABLE,qi.TEMPLATE,qi.HTML,qi.TD,qi.TH;var fn;!function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(fn=fn||(fn={}));fn.Marker;const gn=["+//silmaril//dtd html pro v0r11 19970101//","-//as//dtd html 3.0 aswedit + extensions//","-//advasoft ltd//dtd html 3.0 aswedit + extensions//","-//ietf//dtd html 2.0 level 1//","-//ietf//dtd html 2.0 level 2//","-//ietf//dtd html 2.0 strict level 1//","-//ietf//dtd html 2.0 strict level 2//","-//ietf//dtd html 2.0 strict//","-//ietf//dtd html 2.0//","-//ietf//dtd html 2.1e//","-//ietf//dtd html 3.0//","-//ietf//dtd html 3.2 final//","-//ietf//dtd html 3.2//","-//ietf//dtd html 3//","-//ietf//dtd html level 0//","-//ietf//dtd html level 1//","-//ietf//dtd html level 2//","-//ietf//dtd html level 3//","-//ietf//dtd html strict level 0//","-//ietf//dtd html strict level 1//","-//ietf//dtd html strict level 2//","-//ietf//dtd html strict level 3//","-//ietf//dtd html strict//","-//ietf//dtd html//","-//metrius//dtd metrius presentational//","-//microsoft//dtd internet explorer 2.0 html strict//","-//microsoft//dtd internet explorer 2.0 html//","-//microsoft//dtd internet explorer 2.0 tables//","-//microsoft//dtd internet explorer 3.0 html strict//","-//microsoft//dtd internet explorer 3.0 html//","-//microsoft//dtd internet explorer 3.0 tables//","-//netscape comm. corp.//dtd html//","-//netscape comm. corp.//dtd strict html//","-//o'reilly and associates//dtd html 2.0//","-//o'reilly and associates//dtd html extended 1.0//","-//o'reilly and associates//dtd html extended relaxed 1.0//","-//sq//dtd html 2.0 hotmetal + extensions//","-//softquad software//dtd hotmetal pro 6.0::19990601::extensions to html 4.0//","-//softquad//dtd hotmetal pro 4.0::19971010::extensions to html 4.0//","-//spyglass//dtd html 2.0 extended//","-//sun microsystems corp.//dtd hotjava html//","-//sun microsystems corp.//dtd hotjava strict html//","-//w3c//dtd html 3 1995-03-24//","-//w3c//dtd html 3.2 draft//","-//w3c//dtd html 3.2 final//","-//w3c//dtd html 3.2//","-//w3c//dtd html 3.2s draft//","-//w3c//dtd html 4.0 frameset//","-//w3c//dtd html 4.0 transitional//","-//w3c//dtd html experimental 19960712//","-//w3c//dtd html experimental 970421//","-//w3c//dtd w3 html//","-//w3o//dtd w3 html 3.0//","-//webtechs//dtd mozilla html 2.0//","-//webtechs//dtd mozilla html//"],mn=(new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]),["-//w3c//dtd xhtml 1.0 frameset//","-//w3c//dtd xhtml 1.0 transitional//"]);const yn="text/html",wn="application/xhtml+xml",An=new Map(["attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(t=>[t.toLowerCase(),t])),bn=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:Qi.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:Qi.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:Qi.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:Qi.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:Qi.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:Qi.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:Qi.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:Qi.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:Qi.XML}],["xml:space",{prefix:"xml",name:"space",namespace:Qi.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:Qi.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:Qi.XMLNS}]]),vn=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(t=>[t.toLowerCase(),t])),En=new Set([qi.B,qi.BIG,qi.BLOCKQUOTE,qi.BODY,qi.BR,qi.CENTER,qi.CODE,qi.DD,qi.DIV,qi.DL,qi.DT,qi.EM,qi.EMBED,qi.H1,qi.H2,qi.H3,qi.H4,qi.H5,qi.H6,qi.HEAD,qi.HR,qi.I,qi.IMG,qi.LI,qi.LISTING,qi.MENU,qi.META,qi.NOBR,qi.OL,qi.P,qi.PRE,qi.RUBY,qi.S,qi.SMALL,qi.SPAN,qi.STRONG,qi.STRIKE,qi.SUB,qi.SUP,qi.TABLE,qi.TT,qi.U,qi.UL,qi.VAR]);function _n(t){const e=vn.get(t.tagName);null!=e&&(t.tagName=e,t.tagID=Xi(t.tagName))}function xn(t,e,r,i){return(!i||i===Qi.HTML)&&function(t,e,r){if(e===Qi.MATHML&&t===qi.ANNOTATION_XML)for(let t=0;t<r.length;t++)if(r[t].name===zi.ENCODING){const e=r[t].value.toLowerCase();return e===yn||e===wn}return e===Qi.SVG&&(t===qi.FOREIGN_OBJECT||t===qi.DESC||t===qi.TITLE)}(t,e,r)||(!i||i===Qi.MATHML)&&function(t,e){return e===Qi.MATHML&&(t===qi.MI||t===qi.MO||t===qi.MN||t===qi.MS||t===qi.MTEXT)}(t,e)}var In;!function(t){t[t.INITIAL=0]="INITIAL",t[t.BEFORE_HTML=1]="BEFORE_HTML",t[t.BEFORE_HEAD=2]="BEFORE_HEAD",t[t.IN_HEAD=3]="IN_HEAD",t[t.IN_HEAD_NO_SCRIPT=4]="IN_HEAD_NO_SCRIPT",t[t.AFTER_HEAD=5]="AFTER_HEAD",t[t.IN_BODY=6]="IN_BODY",t[t.TEXT=7]="TEXT",t[t.IN_TABLE=8]="IN_TABLE",t[t.IN_TABLE_TEXT=9]="IN_TABLE_TEXT",t[t.IN_CAPTION=10]="IN_CAPTION",t[t.IN_COLUMN_GROUP=11]="IN_COLUMN_GROUP",t[t.IN_TABLE_BODY=12]="IN_TABLE_BODY",t[t.IN_ROW=13]="IN_ROW",t[t.IN_CELL=14]="IN_CELL",t[t.IN_SELECT=15]="IN_SELECT",t[t.IN_SELECT_IN_TABLE=16]="IN_SELECT_IN_TABLE",t[t.IN_TEMPLATE=17]="IN_TEMPLATE",t[t.AFTER_BODY=18]="AFTER_BODY",t[t.IN_FRAMESET=19]="IN_FRAMESET",t[t.AFTER_FRAMESET=20]="AFTER_FRAMESET",t[t.AFTER_AFTER_BODY=21]="AFTER_AFTER_BODY",t[t.AFTER_AFTER_FRAMESET=22]="AFTER_AFTER_FRAMESET"}(In||(In={}));new Set([qi.TABLE,qi.TBODY,qi.TFOOT,qi.THEAD,qi.TR]);new Set([qi.CAPTION,qi.COL,qi.COLGROUP,qi.TBODY,qi.TD,qi.TFOOT,qi.TH,qi.THEAD,qi.TR]);const Sn=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]);String.prototype.codePointAt;function Tn(t,e){return function(r){let i,n=0,s="";for(;i=t.exec(r);)n!==i.index&&(s+=r.substring(n,i.index)),s+=e.get(i[0].charCodeAt(0)),n=i.index+1;return s+r.substring(n)}}Tn(/[&<>'"]/g,Sn);const Cn=Tn(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]])),Rn=Tn(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]));new Set([Gi.AREA,Gi.BASE,Gi.BASEFONT,Gi.BGSOUND,Gi.BR,Gi.COL,Gi.EMBED,Gi.FRAME,Gi.HR,Gi.IMG,Gi.INPUT,Gi.KEYGEN,Gi.LINK,Gi.META,Gi.PARAM,Gi.SOURCE,Gi.TRACK,Gi.WBR]);var kn=r(8310);class Bn extends kn.Writable{_write(t,e,r){r()}}const Nn=qi;class On{constructor(t,e){this.handler=e,this.namespaceStack=[],this.inForeignContent=!1,this.skipNextNewLine=!1,this.tokenizer=new pn(t,this),this._enterNamespace(Qi.HTML)}onNullCharacter(t){this.skipNextNewLine=!1,this.inForeignContent?this.handler.onCharacter({type:Ni.CHARACTER,chars:"�",location:t.location}):this.handler.onNullCharacter(t)}onWhitespaceCharacter(t){if(this.skipNextNewLine&&10===t.chars.charCodeAt(0)){if(this.skipNextNewLine=!1,1===t.chars.length)return;t.chars=t.chars.substr(1)}this.handler.onWhitespaceCharacter(t)}onCharacter(t){this.skipNextNewLine=!1,this.handler.onCharacter(t)}onComment(t){this.skipNextNewLine=!1,this.handler.onComment(t)}onDoctype(t){this.skipNextNewLine=!1,this.handler.onDoctype(t)}onEof(t){this.skipNextNewLine=!1,this.handler.onEof(t)}_enterNamespace(t){this.namespaceStack.unshift(t),this.inForeignContent=t!==Qi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_leaveCurrentNamespace(){this.namespaceStack.shift(),this.inForeignContent=this.namespaceStack[0]!==Qi.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_ensureTokenizerMode(t){switch(t){case Nn.TEXTAREA:case Nn.TITLE:this.tokenizer.state=tn.RCDATA;break;case Nn.PLAINTEXT:this.tokenizer.state=tn.PLAINTEXT;break;case Nn.SCRIPT:this.tokenizer.state=tn.SCRIPT_DATA;break;case Nn.STYLE:case Nn.IFRAME:case Nn.XMP:case Nn.NOEMBED:case Nn.NOFRAMES:case Nn.NOSCRIPT:this.tokenizer.state=tn.RAWTEXT}}onStartTag(t){let e=t.tagID;switch(e){case Nn.SVG:this._enterNamespace(Qi.SVG);break;case Nn.MATH:this._enterNamespace(Qi.MATHML)}if(this.inForeignContent)if(function(t){const e=t.tagID;return e===qi.FONT&&t.attrs.some(({name:t})=>t===zi.COLOR||t===zi.SIZE||t===zi.FACE)||En.has(e)}(t))this._leaveCurrentNamespace();else{const r=this.namespaceStack[0];r===Qi.MATHML?function(t){for(let e=0;e<t.attrs.length;e++)if("definitionurl"===t.attrs[e].name){t.attrs[e].name="definitionURL";break}}(t):r===Qi.SVG&&(_n(t),function(t){for(let e=0;e<t.attrs.length;e++){const r=An.get(t.attrs[e].name);null!=r&&(t.attrs[e].name=r)}}(t)),function(t){for(let e=0;e<t.attrs.length;e++){const r=bn.get(t.attrs[e].name);r&&(t.attrs[e].prefix=r.prefix,t.attrs[e].name=r.name,t.attrs[e].namespace=r.namespace)}}(t),e=t.tagID,!t.selfClosing&&xn(e,r,t.attrs)&&this._enterNamespace(Qi.HTML)}else{switch(e){case Nn.PRE:case Nn.TEXTAREA:case Nn.LISTING:this.skipNextNewLine=!0;break;case Nn.IMAGE:t.tagName=Gi.IMG,t.tagID=Nn.IMG}this._ensureTokenizerMode(e)}this.handler.onStartTag(t)}onEndTag(t){let e=t.tagID;if(this.inForeignContent)(e===Nn.SVG&&this.namespaceStack[0]===Qi.SVG||e===Nn.MATH&&this.namespaceStack[0]===Qi.MATHML)&&this._leaveCurrentNamespace();else{const r=this.namespaceStack[1];if(r===Qi.SVG){const r=vn.get(t.tagName);r&&(e=Xi(r))}xn(e,r,t.attrs)&&this._leaveCurrentNamespace()}this.namespaceStack[0]===Qi.SVG&&_n(t),this.handler.onEndTag(t)}}class Dn extends kn.Transform{constructor(t={}){super({encoding:"utf8",decodeStrings:!1}),this.pendingText=null,this.lastChunkWritten=!1,this.stopped=!1,this.options={sourceCodeLocationInfo:!1,...t},this.parserFeedbackSimulator=new On(this.options,this),this.tokenizer=this.parserFeedbackSimulator.tokenizer,this.pipe(new Bn)}_transform(t,e,r){if("string"!=typeof t)throw new TypeError("Parser can work only with string streams.");r(null,this._transformChunk(t))}_final(t){this.lastChunkWritten=!0,t(null,this._transformChunk(""))}stop(){this.stopped=!0,this.tokenizer.pause()}_transformChunk(t){return this.stopped||this.tokenizer.write(t,this.lastChunkWritten),t}onCharacter({chars:t,location:e}){if(null===this.pendingText)this.pendingText={text:t,sourceCodeLocation:e};else if(this.pendingText.text+=t,e&&this.pendingText.sourceCodeLocation){const{endLine:t,endCol:r,endOffset:i}=e;this.pendingText.sourceCodeLocation={...this.pendingText.sourceCodeLocation,endLine:t,endCol:r,endOffset:i}}this.tokenizer.preprocessor.willDropParsedChunk()&&this._emitPendingText()}onWhitespaceCharacter(t){this.onCharacter(t)}onNullCharacter(t){this.onCharacter(t)}onEof(){this._emitPendingText(),this.stopped=!0}onStartTag(t){this._emitPendingText();const e={tagName:t.tagName,attrs:t.attrs,selfClosing:t.selfClosing,sourceCodeLocation:t.location};this.emitIfListenerExists("startTag",e)}onEndTag(t){this._emitPendingText();const e={tagName:t.tagName,sourceCodeLocation:t.location};this.emitIfListenerExists("endTag",e)}onDoctype(t){this._emitPendingText();const e={name:t.name,publicId:t.publicId,systemId:t.systemId,sourceCodeLocation:t.location};this.emitIfListenerExists("doctype",e)}onComment(t){this._emitPendingText();const e={text:t.data,sourceCodeLocation:t.location};this.emitIfListenerExists("comment",e)}emitIfListenerExists(t,e){return 0!==this.listenerCount(t)&&(this._emitToken(t,e),!0)}_emitToken(t,e){this.emit(t,e)}_emitPendingText(){null!==this.pendingText&&(this.emitIfListenerExists("text",this.pendingText),this.pendingText=null)}}class Pn extends Dn{constructor(){super({sourceCodeLocationInfo:!0})}_transformChunk(t){return super._transformChunk(t),""}_getRawHtml(t){const{droppedBufferSize:e,html:r}=this.tokenizer.preprocessor,i=t.startOffset-e,n=t.endOffset-e;return r.slice(i,n)}emitIfListenerExists(t,e){return super.emitIfListenerExists(t,e)||this.emitRaw(this._getRawHtml(e.sourceCodeLocation)),this.parserFeedbackSimulator.skipNextNewLine=!1,!0}_emitToken(t,e){this.emit(t,e,this._getRawHtml(e.sourceCodeLocation))}emitDoctype(t){let e=`<!DOCTYPE ${t.name}`;null!==t.publicId?e+=` PUBLIC "${t.publicId}"`:null!==t.systemId&&(e+=" SYSTEM"),null!==t.systemId&&(e+=` "${t.systemId}"`),e+=">",this.push(e)}emitStartTag(t){let e=`<${t.tagName}`;for(const r of t.attrs)e+=` ${r.name}="${Cn(r.value)}"`;e+=t.selfClosing?"/>":">",this.push(e)}emitEndTag(t){this.push(`</${t.tagName}>`)}emitText({text:t}){var e,r;this.push(!this.parserFeedbackSimulator.inForeignContent&&(e=this.tokenizer.lastStartTagName,r=!0,Ji.has(e)||r&&e===Gi.NOSCRIPT)?t:Rn(t))}emitComment(t){this.push(`\x3c!--${t.text}--\x3e`)}emitRaw(t){this.push(t)}}const Ln=new TextEncoder,Un=new TextDecoder,Mn=/([\d.]+\s*;\s*(?:url\s*=)?\s*)['"]?(.+)['"]?(\s*)/im,Fn=["http://","https://","//"],Hn="mp_",jn=["utf-8","utf8"],Wn={a:{href:"ln_"},applet:{codebase:"oe_",archive:"oe_"},area:{href:Hn},audio:{src:"oe_"},base:{href:Hn},blockquote:{cite:Hn},body:{background:"im_"},button:{formaction:Hn},command:{icon:"im_"},del:{cite:Hn},embed:{src:"oe_"},iframe:{src:"if_"},image:{src:"im_","xlink:href":"im_",href:"im_"},img:{src:"im_",srcset:"im_"},ins:{cite:Hn},input:{src:"im_",formaction:Hn},form:{action:Hn},frame:{src:"fr_"},link:{href:"oe_"},meta:{content:"mt_"},object:{codebase:"oe_",data:"oe_"},param:{value:"oe_"},q:{cite:Hn},ref:{href:"oe_"},script:{src:"js_","xlink:href":"js_"},source:{src:"oe_",srcset:"oe_"},video:{src:"oe_",poster:"im_"}},Qn=[{match:/youtube.com\/v\/([^&]+)[&]/,replace:"youtube.com/embed/$1?"}],zn=[{urlMatch:/[?&]:loadOrderID=([\d]+)/,match:/(loadOrderID&(quot;&)?#x[^;]+?;)([\d]+)/gi,replace:"$1$U1"}];class Vn{rewriter;rule=null;ruleMatch=null;isCharsetUTF8;detectedCharset="";constructor(t){this.rewriter=t,this.rule=null;for(const t of zn){const e=this.rewriter.url.match(t.urlMatch);if(e){this.ruleMatch=e,this.rule=t;break}}this.isCharsetUTF8=t.isCharsetUTF8}detectMetaCharset(t){t.length>1024&&(t=t.slice(0,1024));const e=new TextDecoder("latin1").decode(t),r=e.match(/<meta[^>]*charset\s*=\s*["']?([^"'\s>/]+)["']?[^>]*>/i);if(r?.[1])return r[1].toLowerCase();const i=e.match(/<meta[^>]*http-equiv\s*=\s*["']?content-type["']?[^>]*content\s*=\s*["']?[^"']*charset\s*=\s*([^"'\s>/;]+)[^>]*>/i);return i?.[1]?i[1].toLowerCase():""}rewriteMetaContent(t,e,r){let i=this.getAttr(t,"http-equiv");if(i&&(i=i.toLowerCase()),"content-security-policy"===i)e.name="_"+e.name;else{if("refresh"===i)return e.value.replace(Mn,(t,e,i,n)=>e+this.rewriteUrl(r,i,!1,"mt_")+n);if("referrer"===this.getAttr(t,"name"))return"no-referrer-when-downgrade";if(p(e.value,Fn))return this.rewriteUrl(r,e.value)}return e.value}rewriteSrcSet(t,e){const r=/\s*(\S*\s+[\d.]+[wx]),|(?:\s*,(?:\s+|(?=https?:)))/,i=[];for(const n of t.split(r))if(n){const t=n.trim().split(" ");t[0]=this.rewriteUrl(e,t[0]),i.push(t.join(" "))}return i.join(", ")}rewriteTagAndAttrs(t,e,r){const i=t=>p(t,Fn),n=t.tagName;if(n.indexOf("-")>0)return"";let s="";const o=e=>{"iframe"===e&&(t.selfClosing&&(t.selfClosing=!1,s=e),t.attrs.push({name:"style",value:"border: none"})),t.tagName=e};for(const s of t.attrs){const a=s.name||"",l=s.value||"";if(l.startsWith("javascript:"))s.value="javascript:"+r.rewriteJS(l.slice(11),{inline:!0});else if(a.startsWith("on")&&"-"!=a.slice(2,3))s.value=r.rewriteJS(l,{inline:!0});else if("style"===a)s.value=r.rewriteCSS(s.value);else if("background"===a)s.value=this.rewriteUrl(r,l);else if("srcset"===a||"imagesrcset"===a&&"link"===n)s.value=this.rewriteSrcSet(l,r);else if("crossorigin"===a||"integrity"===a||"download"===a)s.name="_"+s.name;else if("meta"===n&&"content"===a)s.value=this.rewriteMetaContent(t.attrs,s,r);else if("meta"===n&&"charset"===a)l&&jn.includes(l.toLowerCase())&&(this.isCharsetUTF8=!0);else if("param"===n&&i(l))s.value=this.rewriteUrl(r,s.value);else if(a.startsWith("data-")&&i(l))s.value=this.rewriteUrl(r,s.value);else if("base"===n&&"href"===a)try{s.value=this.rewriter.updateBaseUrl(s.value)}catch(t){console.warn("Invalid <base>: "+s.value)}else if("script"===n&&"src"===a){const e="module"===this.getScriptRWType(t)?"esm_":"",i=this.rewriteUrl(r,s.value,!1,e);i===s.value?(t.attrs.push({name:"__wb_orig_src",value:s.value}),s.value&&s.value.startsWith("data:text/javascript;base64")?s.value=this.rewriteJSBase64(s.value,r):s.value=this.rewriteUrl(r,s.value,!0,e)):s.value=i}else if("object"===n&&"data"===a){const e=this.getAttr(t.attrs,"type");if("application/pdf"===e)s.name="src",s.value=this.rewriteUrl(r,s.value,!1,"if_"),o("iframe");else if("image/svg+xml"===e)s.name="src",s.value=this.rewriteUrl(r,s.value),o("img");else if("application/x-shockwave-flash"===e)for(const t of Qn){const e=s.value.replace(t.match,t.replace);if(e!==s.value){s.name="src",s.value=this.rewriteUrl(r,e,!1,"if_"),o("iframe");break}}}else if("embed"===n&&"src"===a){const e=this.getAttr(t.attrs,"type")||"";e.startsWith("image/")?(o("img"),s.value=this.rewriteUrl(r,l,!1,"mp_")):"application/pdf"!==e&&e.startsWith("application/")||(o("iframe"),s.value=this.rewriteUrl(r,l,!1,"if_"),"application/pdf"!==e&&t.attrs.push({name:"sandbox",value:"allow-same-origin allow-scripts"}))}else if("target"===a){const t=s.value;"_blank"!==t&&"_parent"!==t&&"_top"!==t&&"new"!==t||(s.value=c)}else(e[a]||"href"===a||"src"===a)&&(s.value=this.rewriteUrl(r,s.value,!1,e[a]))}return s}getAttr(t,e){for(const r of t)if(r.name===e)return r.value;return null}getScriptRWType(t){const e=this.getAttr(t.attrs,"type");return"module"===e?"module":"application/json"===e?"json":!e||e.indexOf("javascript")>=0||e.indexOf("ecmascript")>=0?"js":e.startsWith("text/")?"text":"importmap"===e?"importmap":""}async rewrite(t){let e=await t.getBuffer();if(!e)return t;if(e.length>5e7)return console.warn("Skipping rewriting, HTML file too big: "+e.length),t;const{bomFound:r,text:i}=await t.getText(this.isCharsetUTF8,!0);r&&(e=(new TextEncoder).encode(i),this.isCharsetUTF8=!0),this.isCharsetUTF8||this.rewriter.isCharsetDetected||(this.detectedCharset=this.detectMetaCharset(e),jn.includes(this.detectedCharset)&&(this.isCharsetUTF8=!0));const n=this.rewriter,s=new Pn;s.tokenizer.preprocessor.bufferWaterline=1/0;let o=!1,c=!1,l=!0,h="",u="",p="";const d=()=>{if(!o&&n.headInsertFunc){this.detectedCharset&&s.emitRaw(`<meta charset="${this.detectedCharset}"/>`);const t=n.headInsertFunc(n.url);t&&s.emitRaw(t),o=!0}};s.on("startTag",t=>{const e=Wn[t.tagName],r=t.tagName,i=this.rewriteTagAndAttrs(t,e||{},n);switch(o||["head","html"].includes(t.tagName)||d(),s.emitStartTag(t),i&&s.emitEndTag({tagName:i}),t.tagName){case"script":if(t.selfClosing)break;h=t.tagName,l=!0,u=this.getScriptRWType(t);break;case"style":t.selfClosing||(h=t.tagName);break;case"head":d();break;case"body":c=!0}t.tagName!==r&&(h=r,p=t.tagName)}),s.on("endTag",t=>{if(t.tagName===h){switch(p&&(t.tagName=p,p=""),h){case"head":c=!0;break;case"script":c&&!l&&"js"===u&&s.emitRaw(";document.close();")}h=""}s.emitEndTag(t)}),s.on("text",(t,e)=>{const r=(()=>{if("script"===h){const e=n.prefix,r="module"===u;return l=l&&0===t.text.trim().length,"js"===u||r?n.rewriteJS(t.text,{isModule:r,prefix:e}):"json"===u?n.rewriteJSON(t.text,{prefix:e}):"importmap"===u?n.rewriteImportmap(t.text):t.text}return"style"===h?n.rewriteCSS(t.text):this.rewriteHTMLText(e)})();for(let t=0;t<r.length;t+=a)s.emitRaw(r.slice(t,t+a))});const f=this;return t.setReader(new ReadableStream({async start(t){s.on("data",e=>{t.enqueue(f.isCharsetUTF8?Ln.encode(e):A(e))}),s.on("end",()=>{t.close()}),f.isCharsetUTF8?s.write(Un.decode(e),"utf8"):s.write(w(e),"latin1"),d(),s.end()}})),t}rewriteUrl(t,e,r=!1,i=""){this.isCharsetUTF8||(e=Un.decode(A(e)));const n=t.rewriteUrl(e,r);return i&&i!==Hn&&"ln_"!==i&&"mt_"!==i?n.replace(Hn+"/",i+"/"):n}rewriteHTMLText(t){if(this.rule&&this.ruleMatch){const e=this.rule.replace.replace("$U1",this.ruleMatch[1]),r=t.replace(this.rule.match,e);if(t!==r)return r}return t}rewriteJSBase64(t,e){const r=t.split(","),i=e.rewriteJS(atob(r[1]),{isModule:!1});return r[1]=btoa(i),r.join(",")}}class Gn extends Vn{rewriteUrl(t,e,r=!1,i=""){return"if_"===i||"fr_"===i||"mt_"===i?t.fullRewriteUrl(e,r):"ln_"===i?(this.isCharsetUTF8||(e=Un.decode(A(e))),t.rewriteUrl(e,r)):t.httpToHttps?t.rewriteUrl(e,r):e}rewriteTagAndAttrs(t,e,r){if(r.httpToHttps)return super.rewriteTagAndAttrs(t,e,r);const i=t.tagName;if(i.indexOf("-")>0)return"";for(const n of t.attrs){const s=n.name||"",o=n.value||"";"meta"===i&&"content"===s?n.value=this.rewriteMetaContent(t.attrs,n,r):(e[s]||"href"===s||"src"===s)&&(n.value=this.rewriteUrl(r,o,!1,e[s]))}return""}}var qn=r(8287);const Kn=new TextEncoder,Xn=new TextDecoder;class Yn{static fromResponse({url:t,response:e,date:r,noRW:i,isLive:n,archivePrefix:s}){const o=e.body?new It(e.body.getReader(),null,!1):null,a=Number(e.headers.get("x-redirect-status")||e.status),c=e.headers.get("x-redirect-statusText")||e.statusText,l=new Headers(e.headers);let h=l.get("x-orig-location");if(h){if(h.startsWith(self.location.origin)&&(h=h.slice(self.location.origin.length)),s&&h.startsWith(s)){const t=h.indexOf("/http");t>0&&(h=h.slice(t+1))}l.set("location",h),l.delete("x-orig-location"),l.delete("x-redirect-status"),l.delete("x-redirect-statusText")}let u=null;const p=l.get("x-orig-ts");p&&(r=f(p),l.delete("x-orig-ts"),p&&h&&(u=p));const d=l.get("memento-datetime");d&&(r=new Date(d));const g=l.get("x-proxy-set-cookie");if(g){const t=[];g.split(",").forEach(e=>{const r=e.split(";",1)[0].trim();r.indexOf("=")>0&&t.push(r)}),l.delete("x-proxy-set-cookie"),t.length&&l.set("x-wabac-preset-cookie",t.join(";"))}return new Yn({payload:o,status:a,statusText:c,headers:l,url:t,date:r,noRW:i,isLive:n,updateTS:u})}reader;buffer;status;statusText;url;date;extraOpts;headers;noRW;isLive;updateTS;clonedResponse=null;constructor({payload:t,status:e,statusText:r,headers:i,url:n,date:s,extraOpts:o=null,noRW:a=!1,isLive:c=!1,updateTS:l=null}){this.reader=null,this.buffer=null,t&&t instanceof xt?this.reader=t:this.buffer=t,this.status=e,this.statusText=r||x(e),this.headers=i,this.url=n,this.date=s,this.extraOpts=o,this.noRW=a,this.isLive=c,this.updateTS=l}async getText(t=!1,e=!1){const r=await this.getBuffer();return"string"==typeof r?{bomFound:!1,text:r}:r?239===r[0]&&187===r[1]&&191===r[2]?{bomFound:!0,text:Xn.decode(r.slice(3))}:254===r[0]&&255===r[1]?{bomFound:!0,text:qn.Buffer.from(r.slice(2)).swap16().toString("utf16le")}:255===r[0]&&254===r[1]?{bomFound:!0,text:qn.Buffer.from(r.slice(2)).toString("utf16le")}:{bomFound:!1,text:e?"":t?Xn.decode(r):w(r)}:{bomFound:!1,text:""}}setText(t,e=!1){this.setBuffer(e?Kn.encode(t):A(t))}async getBuffer(){return this.buffer||!this.reader||(this.buffer=await this.reader.readFully()),this.buffer}setBuffer(t){this.buffer=t,this.reader=null}setReader(t){t instanceof xt?(this.reader=t,this.buffer=null):t.getReader&&(this.reader=new It(t.getReader()),this.buffer=null)}setRange(t){if(206===this.status){const t=this.headers.get("Content-Range");if(t&&!t.startsWith("bytes 0-"))return!1}const e=t.match(/^bytes=(\d+)-(\d+)?$/);let r=0;if(this.buffer)r=this.buffer.length;else if(this.reader&&(r=Number(this.headers.get("content-length")),!r))return!1;if(!e)return this.status=416,this.statusText="Range Not Satisfiable",this.headers.set("Content-Range",`*/${r}`),!1;const i=Number(e[1]),n=Number(e[2])||r-1;return!!this.setRawRange(i,n)&&(this.headers.set("Content-Range",`bytes ${i}-${n}/${r}`),this.headers.set("Content-Length",String(n-i+1)),this.status=206,this.statusText="Partial Content",!0)}setRawRange(t,e){const r=this.reader;return this.buffer?(this.buffer=this.buffer.slice(t,e+1),!0):!!r?.setLimitSkip&&(r.setLimitSkip(e-t+1,t),!0)}makeResponse(t=!1,e=!1){let r=null;_(this.status)||(r=this.buffer||!this.reader?this.buffer:this.reader.getReadableStream());const i=new Response(r,{status:this.status,statusText:this.statusText,headers:this.headers});return i.date=this.date,t&&(i.headers.set("Cross-Origin-Opener-Policy","same-origin"),i.headers.set("Cross-Origin-Embedder-Policy","require-corp")),e&&i.headers.set("content-disposition","inline"),i}}const Jn=/(url\s*\(\s*[\\"']*)([^)'"]+)([\\"']*\s*\)?)/gi,Zn=/(@import\s*[\\"']*)([^)'";]+)([\\"']*\s*;?)/gi,$n=/WB_wombat_/g,ts=/^(?:\s*(?:(?:\/\*[^*]*\*\/)|(?:\/\/[^\n]+[\n])))*\s*([\w.]+)\([{[]/,es=/[?].*(?:callback|jsonp)=([^&]+)/i,rs=new de(class extends fe{extraRules;firstBuff;lastBuff;constructor(t=[]){super(),this.extraRules=t,this.firstBuff=this.initLocalDecl(di),this.lastBuff="\n\n}"}initLocalDecl(t){const e="_____WB$wombat$assign$function_____";let r=`var ${e} = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n{\n`;for(const i of t)r+=`let ${i} = ${e}("${i}");\n`;return r+="let arguments;\n",r+"\n"}getModuleDecl(t,e){return`import { ${t.join(", ")} } from "${e}__wb_module_decl.js";\n`}detectModuleOrStrict(t){return t.indexOf("import")>=0&&t.match(li)?"module":t.indexOf('"use strict";')>=0?"strict":t.indexOf("export")>=0&&t.match(hi)?"module":"lax"}parseGlobals(t,e){const r=nr.parse(t,{ecmaVersion:"latest"});let i=!1;const n=[],s=new Set,o=[];let a=-1;for(const t of r.body){const{type:r,start:c}=t;if("VariableDeclaration"===r){const{kind:r,declarations:i}=t;for(const t of i)if("Identifier"===t.id.type){const i=t.id.name;e.includes(i)?s.add(i):"const"!==r&&"let"!==r||(n.push({name:i,kind:r}),"let"===r&&(a!==c&&o.unshift(c),a=c))}}else if("ClassDeclaration"===r){if(t.id.name){const e=t.id.name;n.push({name:e,kind:"const"})}}else if(!i&&"ExpressionStatement"===r){const{expression:e}=t;if("CallExpression"===e.type){const{callee:t}=e;if("MemberExpression"===t.type){const{object:e,property:r}=t;"Identifier"===e.type&&"document"===e.name&&"Identifier"===r.type&&"write"===r.name&&(i=!0)}}}}if(s.size){const t=di.filter(t=>!s.has(t));this.firstBuff=this.initLocalDecl(t)}return i&&(this.lastBuff=";document.close();"+this.lastBuff),{names:n,letOffsets:o}}rewrite(t,e){if(void 0===e.isModule)switch(this.detectModuleOrStrict(t)){case"module":e.isModule=!0,e.isStrict=!0;break;case"strict":e.isModule=!1,e.isStrict=!0}else e.isModule&&(e.isStrict=!0);let r=yi;e.isModule&&(r=[...r,this.getESMImportRule()]),this.extraRules.length?this.rules=[...r,...this.extraRules]:this.rules=r,this.compileRules();let i=super.rewrite(t,e);if(e.isModule)return this.getModuleDecl(di,e.prefix||"")+(e.moduleInsert||"")+i;const n=!!mi.exec(t);e.inline&&(i=i.replace(/\n/g," "));const s=e.isWorker;if(s&&-1===t.indexOf("location"))return i;if(n){let t=this.firstBuff,r=di;s&&(t="{ const location = self._WB_wombat_location || self.location;\n",r=fi);let n="",o="",a="";if(i)try{const{names:t,letOffsets:e}=this.parseGlobals(i,r);for(const t of e)i=i.slice(0,t)+i.slice(t+3);for(const{name:e,kind:r}of t)if("const"===r){const t=`self.___WB_const_${e}`;o+=`${t} = ${e};\n`,a+=`${r} ${e} = ${t}; delete ${t};\n`}else"let"===r&&(n+=`let ${e};\n`);o&&(o="\n;"+o),a&&(a="\n"+a)}catch(t){console.warn(`acorn parsing failed, script len ${i.length}`)}i=n+t+i+o+this.lastBuff+a,e.inline&&(i=i.replace(/\n/g," "))}return i}getESMImportRule(){return[ui,(t,e)=>{const r=(e.prefix||"").replace("mp_/","esm_/");return t.replace(pi,(t,i,n,s)=>{try{n=new URL(n,e.baseUrl).href,n=r+n}catch(t){}return i+n+s})}]}}),is=new de(fe),ns=(new de(fe,oe),["if_","fr_","ln_","oe_","mt_"]);class ss{urlRewrite;contentRewrite;baseUrl;dsRules;decode;prefix="";originPrefix="";relPrefix="";schemeRelPrefix="";scheme;url;responseUrl;isCharsetUTF8;isCharsetDetected=!1;headInsertFunc;workerInsertFunc;_jsonpCallback;constructor({baseUrl:t,prefix:e,responseUrl:r,workerInsertFunc:i=null,headInsertFunc:n=null,urlRewrite:s=!0,contentRewrite:o=!0,decode:a=!0,useBaseRules:c=!1}){if(this.urlRewrite=s,this.contentRewrite=o,this.dsRules=s&&!c?rs:is,this.decode=a,this.prefix=e||"",this.prefix&&s){const t=new URL(this.prefix);this.originPrefix=t.origin,this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}const l=new URL(r||t);this.scheme=l.protocol,t.startsWith("//")&&(t=this.scheme+t),this.url=this.baseUrl=t,this.headInsertFunc=n,this.workerInsertFunc=i,this.responseUrl=r||t,this.isCharsetUTF8=!1,this._jsonpCallback=null}getRewriteMode(t,e,r="",i=""){if(!i&&e){const t=(i=e.headers.get("Content-Type")||"").split(";");i=t[0],t.length>1&&(this.isCharsetUTF8="utf8"===t[1].trim().toLowerCase().replace("charset=","").replace("-",""),this.isCharsetDetected=!0)}if(i=i.toLowerCase(),"esm_"===t.mod&&(this.isCharsetUTF8=!0),t)switch(t.destination){case"style":return"css";case"script":return this.getScriptRewriteMode(i,r,t.mod,"js");case"worker":return"js-worker"}switch(i){case"text/html":return t.destination||"application/json"!==t.headers.get("Accept")?"html":"json";case"text/css":return"css";case"application/x-mpegurl":case"application/vnd.apple.mpegurl":return"hls";case"application/dash+xml":return"dash";case"":if(this.isGuessHtml(t,e))return"html";default:return this.getScriptRewriteMode(i,r,t.mod,"")}}isGuessHtml(t,e){if(t.destination&&"document"!==t.destination&&"iframe"!==t.destination)return!1;if(e.buffer)try{const t=(new TextDecoder).decode(e.buffer.slice(0,1024));if(/<\s*html/i.exec(t))return!0}catch(t){return!1}return!1}getScriptRewriteMode(t,e,r="",i=""){switch(t){case"text/javascript":case"application/javascript":case"application/x-javascript":return this.parseJSONPCallback(e)?"jsonp":e.endsWith(".json")?"json":"wkr_"===r||"wkrm_"===r?"js-worker":"js";case"application/json":return"json";default:return i}}async rewrite(t,e){const r=this.contentRewrite?this.getRewriteMode(e,t,this.baseUrl):null,i=I(e),n=this.urlRewrite&&!i,s=this.rewriteHeaders(t.headers,this.urlRewrite,!!r,i),o=t.headers.get("content-encoding"),a=t.headers.get("transfer-encoding");t.headers=s,this.decode&&(o||a)&&(t=await async function(t,e,r,i){if(t.reader&&i&&("gzip"===e&&!r||!e&&"gzip"===r))return t.setReader(new It(t.reader)),t;const n=await t.getBuffer()||[],s=new Uint8Array(n),o=await Zt(s,e,r);return s!==o&&t.setBuffer(o),t}(t,o,a,null===r));const c={response:t,prefix:this.prefix,baseUrl:this.baseUrl};let l=null;switch(r){case"html":if(n)return await this.rewriteHtml(t);break;case"css":this.urlRewrite&&(l=this.rewriteCSS);break;case"js":l=this.rewriteJS,"esm_"===e.mod&&(c.isModule=!0);break;case"json":l=this.rewriteJSON;break;case"js-worker":"wkrm_"!==e.mod&&"esm_"!==e.mod||(c.isModule=!0),l=this.rewriteJSWorker;break;case"jsonp":l=this.rewriteJSONP;break;case"hls":l=ee;break;case"dash":l=ie}if(n&&(c.rewriteUrl=t=>this.rewriteUrl(t)),l){let{bomFound:e,text:r}=await t.getText(this.isCharsetUTF8);if(r=l.call(this,r,c),e&&!this.isCharsetUTF8){let t=s.get("Content-Type")||"";const e=t.split(";");t=e[0],t&&s.set("Content-Type",t+"; charset=utf-8"),this.isCharsetUTF8=!0}t.setText(r,this.isCharsetUTF8)}else{const r=ce(e.url);if(r){const i=new URL(e.url),n=parseInt(i.searchParams.get(r.start)||""),s=parseInt(i.searchParams.get(r.end)||"");if(!isNaN(n)&&!isNaN(s)){const e=Number(t.headers.get("Content-Length")),r=s-n+1;e!==r&&(isNaN(e)||e>r)&&t.setRawRange(n,s)&&t.headers.set("Content-Length",String(r))}}}return t}updateBaseUrl(t){if(this.originPrefix&&t.startsWith(this.originPrefix)){const e=t.indexOf("/http");e>=0&&(t=t.slice(e+1))}if(this.baseUrl=new URL(t,this.baseUrl).href,t&&this.baseUrl!=t)try{t=new URL(t).href}catch(e){t.startsWith("//")&&(t=(t=new URL("https:"+t).href).slice(6))}return this.rewriteUrl(t)}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}rewriteUrl(t,e=!1){if(!this.urlRewrite)return t;const r=t;return(t=t.trim()).startsWith("\\")&&(t=t.replace(/\\(?![//])/g,"/")),!t||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\3a/")?this.prefix+t:t.startsWith("//")||t.startsWith("\\/\\/")?this.schemeRelPrefix+t:t.startsWith("/")?(t=new URL(t,this.baseUrl).href,this.relPrefix+t):e||t.indexOf("../")>=0?(t=new URL(t,this.baseUrl).href,this.prefix+t):r}async rewriteHtml(t){return new Vn(this).rewrite(t)}rewriteCSS(t){const e=this;function r(t,r,i,n){return i=i.trim(),r+e.rewriteUrl(i)+n}return t.replace(Jn,r).replace(Zn,r).replace($n,"")}rewriteJS(t,e){const r=e&&!e.rewriteUrl&&void 0===e.isModule&&!e.inline,i=r?is:this.dsRules,n=i.getRewriter(this.baseUrl);return n===i.defaultRewriter&&r?t:n.rewrite(t,e)}rewriteJSWorker(t,e){e.isWorker=!0;const r=this.workerInsertFunc(e.isModule??!1);return e.isModule?(e.moduleInsert=r,this.rewriteJS(t,e)):r+this.rewriteJS(t,e)}rewriteJSON(t,e){t=this.rewriteJSONP(t);const r=is.getRewriter(this.baseUrl);return r!==is.defaultRewriter?r.rewrite(t,e):t}rewriteImportmap(t){const e=t=>this.rewriteUrl(t).replace("mp_/","esm_/");try{const r=JSON.parse(t),i={},n={imports:i};for(const[t,n]of Object.entries(r.imports||{}))i[e(t)]=e(n);if(r.scopes){const t={};for(const[i,n]of Object.entries(r.scopes)){const r={};for(const[t,i]of Object.entries(n))r[e(t)]=e(i);t[e(i)]=r}n.scopes=t}return JSON.stringify(n,null,2)}catch(e){return console.warn("Error parsing importmap",e),t}}parseJSONPCallback(t){const e=t.match(es);return e&&"?"!==e[1]?(this._jsonpCallback=e[1],!0):(this._jsonpCallback=!1,!1)}rewriteJSONP(t){const e=t.match(ts);return e?(null===this._jsonpCallback&&this.parseJSONPCallback(this.baseUrl),!1===this._jsonpCallback?t:this._jsonpCallback+t.slice(t.indexOf(e[1])+e[1].length)):t}rewriteHeaders(t,e,r,i){const n={"access-control-allow-origin":"prefix-if-url-rewrite","access-control-allow-credentials":"prefix-if-url-rewrite","access-control-expose-headers":"prefix-if-url-rewrite","access-control-max-age":"prefix-if-url-rewrite","access-control-allow-methods":"prefix-if-url-rewrite","access-control-allow-headers":"prefix-if-url-rewrite","accept-patch":"keep","accept-ranges":"keep",age:"prefix",allow:"keep","alt-svc":"prefix","cache-control":"prefix",connection:"prefix","content-base":"url-rewrite","content-disposition":"keep","content-encoding":"prefix-if-content-rewrite","content-language":"keep","content-length":"content-length","content-location":"url-rewrite","content-md5":"prefix","content-range":"keep","content-security-policy":"prefix","content-security-policy-report-only":"prefix","content-type":"keep",date:"keep",etag:"prefix",expires:"prefix","last-modified":"prefix",link:"link",location:"url-rewrite",p3p:"prefix",pragma:"prefix","proxy-authenticate":"keep","public-key-pins":"prefix","referrer-policy":"prefix","retry-after":"prefix",server:"prefix","set-cookie":"cookie",status:"prefix","strict-transport-security":"prefix",trailer:"prefix","transfer-encoding":"transfer-encoding",tk:"prefix",upgrade:"prefix","upgrade-insecure-requests":"prefix",vary:"prefix",via:"prefix",warning:"prefix","www-authenticate":"keep","x-frame-options":"prefix","x-xss-protection":"prefix","origin-agent-cluster":"prefix"},s="X-Archive-Orig-",o=new Headers;for(let[a,c]of t.entries()){switch(n[a]){case"keep":case"cookie":default:o.append(a,c);break;case"url-rewrite":if(e){if("location"===a&&this.url!==this.responseUrl){const t="http:"===this.scheme?"https:":"http:";c===t+this.responseUrl.slice(this.scheme.length)&&(c=t+this.url.slice(this.url.indexOf("//")))}o.append(a,this.rewriteUrl(c))}else o.append(a,c);break;case"prefix-if-content-rewrite":r?o.append(s+a,c):o.append(a,c);break;case"prefix-if-url-rewrite":e?o.append(s+a,c):o.append(a,c);break;case"content-length":if("0"==c){o.append(a,c);continue}if(r)try{if(parseInt(c)>=0){o.append(a,c);continue}}catch(t){}o.append(a,c);break;case"transfer-encoding":case"prefix":o.append(s+a,c);break;case"link":e?o.append(a,this.rewriteLinkHeader(c,i)):o.append(a,c)}}return o}rewriteLinkHeader(t,e=!1){try{t=t.replace(e?/<(.*?)>(?=[^,]+rel=["']?(?:preload|modulepreload|stylesheet))/g:/<(.*?)>/g,(t,e)=>"<"+this.rewriteUrl(e)+">")}catch(e){console.warn("Error parsing link header: "+t)}return t}}class os extends ss{proxyOrigin;proxyHost;localOrigin;proxyTLD;localTLD;localScheme;httpToHttps;constructor(t,e){super(t),this.proxyOrigin=e.proxyOrigin,this.localOrigin=e.localOrigin,this.proxyTLD=e.proxyTLD||"",this.localTLD=e.localTLD||"";const r=new URL(this.proxyOrigin);this.proxyHost=r.host;const i=new URL(this.localOrigin);this.localScheme=i.protocol,this.httpToHttps=e.httpToHttpsNeeded}rewriteUrl(t){if(t.startsWith(this.proxyOrigin))return this.localOrigin+t.slice(this.proxyOrigin.length);if(this.proxyTLD&&this.localTLD&&t.indexOf(this.proxyTLD)>0){const e=new URL(t);if(e.host.endsWith(this.proxyTLD)){const t=e.host.slice(0,-this.proxyTLD.length).replace(".","-")+this.localTLD;return this.localScheme+"//"+t+e.href.slice(e.origin.length)}}return this.httpToHttps?t.replace("http:","https:"):t}fullRewriteUrl(t,e=!1){return t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):t.startsWith("//"+this.proxyHost)?this.localOrigin+t.slice(this.proxyHost.length+2):t.startsWith("https://")||t.startsWith("http://")||t.startsWith("//")?super.rewriteUrl(t,e):t}async rewriteHtml(t){return new Gn(this).rewrite(t)}rewriteJS(t,e){return t}rewriteCSS(t){return this.httpToHttps?super.rewriteCSS(t):t}rewriteJSON(t,e){return t}rewriteImportmap(t){return t}updateBaseUrl(t){return t}}async function as(t,e){const r=t.split("."),i=[];for(let t=0;t<r.length-1;t++)"www"!==r[t]&&i.push(r.slice(t).join("."));const n=i.length?i[i.length-1]:"";let s=(await fetch(e)).body;const o=new Headers({"Content-Type":"text/css"});if(!s)return new Response("",{status:400,headers:o,statusText:"Not Found"});e.endsWith(".gz")&&(s=s.pipeThrough(new self.DecompressionStream("gzip")));const a=s.pipeThrough(new ls);const c=new TextEncoder;const l=async function*(){for await(const t of async function*(t){try{let e;const r=t.getReader();for(;(e=await r.read())&&!e.done;){const t=e.value;if(n&&t.indexOf(n)>=0){const e=t.split("##");if(e.length<2)continue;if(e[0].endsWith("#@"))continue;const r=e[0].split(",");for(const t of i)if(r.includes(t)){yield e[1];break}}else!n&&t.startsWith("##")&&(yield t.slice(2))}}catch(t){console.warn(t)}}(a))yield c.encode(`${t} {\n display: none !important;\n}\n\n`)}(),h=new ReadableStream({pull:async t=>l.next().then(e=>{e.done||!e.value?t.close():t.enqueue(e.value)})});return new Response(h,{status:200,statusText:"OK",headers:o})}class cs{_buffer=[];_lastChunkEndedWithCR=!1;decoder=new TextDecoder;transform(t,e){const r=this.decoder.decode(t),i=r.split(/\r\n|[\n\v\f\r\x85\u2028\u2029]/g),n=this._buffer;for(this._lastChunkEndedWithCR&&r.startsWith("\n")&&i.shift(),n.length>0&&(n[n.length-1]+=i[0],i.shift()),this._lastChunkEndedWithCR=r.endsWith("\r");n.length>1;){const t=n.shift();t?.length&&e.enqueue(t)}for(;i.length>1;){const t=i.shift();t?.length&&e.enqueue(t)}}flush(t){const e=this._buffer;for(;e.length;){const r=e.shift();r?.length&&t.enqueue(r)}}}class ls extends TransformStream{constructor(){super(new cs)}}function hs(t,e,r=404){return us(t,t.url,"",!1,r,e)}function us(t,e,r,i=!1,n=404,s){let o,a;switch(t.destination){case"json":case"":o=function(t,e,r="not_found"){return JSON.stringify({error:r,URL:t,TS:e})}(e,r,s),a="application/json; charset=utf-8";break;case"script":o=ds("Script",e,r,s),a="text/javascript; charset=utf-8";break;case"style":o=ds("CSS",e,r,s),a="text/css; charset=utf-8";break;default:o=function(t,e,r,i,n){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = ${JSON.stringify(e)};\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Archived Page Not Found</h2>\n <p id="msg"></p>\n <p>\n <code\n id="url"\n style="word-break: break-all; font-size: larger"\n ></code>\n </p>\n ${i&&"navigate"===t.mode?"\n <p>\n Redirecting to live page now... (If this URL is a file download,\n the download should have started).\n </p>\n <script>\n window.top.location.href = window.requestURL;\n <\/script>\n ":"\n "}\n <p id="goback" style="display: none">\n <a href="#" onclick="window.history.back()">Go Back</a> to the\n previous page.\n </p>\n\n <p>\n <a id="livelink" target="_blank" href="">Load the live page</a> in a\n new tab (or download the file, if this URL points to a file).\n </p>\n\n <script>\n document.querySelector("#url").innerText = window.requestURL;\n document.querySelector("#msg").innerText = ${JSON.stringify(n||"Sorry, this page was not found in this archive:")};\n document.querySelector("#livelink").href = window.requestURL;\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {}\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage(\n {\n wb_type: "archive-not-found",\n url: window.requestURL,\n ts: ${JSON.stringify(r)},\n },\n "*",\n );\n }\n <\/script>\n </body>\n </html>\n `}(t,e,r,i,s),a="text/html; charset=utf-8"}return ps(o,a,n)}function ps(t,e,r=200){const i=(new TextEncoder).encode(t),n={status:r,statusText:x(r),headers:{"Content-Type":e,"Content-Length":i.length+"","Content-Security-Policy":u()}};return new Response(i,n)}function ds(t,e,r,i){return`/*\n ${i||t+" Not Found"}\n URL: ${e}\n TS: ${r}\n*/\n `}function fs(t,e){return ps(function(t,e){return`\n <!doctype html>\n <html>\n <head>\n <script>\n window.requestURL = ${JSON.stringify(t)};\n <\/script>\n </head>\n <body style="font-family: sans-serif">\n <h2>Live page could not be loaded</h2>\n <p>\n Sorry, this page was could not be loaded through the archiving proxy.\n Check the URL and try again.\n </p>\n <p>\n <code\n id="url"\n style="word-break: break-all; font-size: larger"\n ></code>\n </p>\n <p id="goback" style="display: none">\n <a href="#" onclick="window.history.back()">Go Back</a> to the\n previous page.\n </p>\n\n <script>\n document.getElementById("url").innerText = ${JSON.stringify(`Status Code: ${e}`)};\n let isTop = true;\n try {\n if (window.parent._WB_wombat_location) {\n isTop = false;\n }\n } catch (e) {}\n if (isTop) {\n document.querySelector("#goback").style.display = "";\n\n window.parent.postMessage(\n {\n wb_type: "live-proxy-url-error",\n url: window.requestURL,\n status: ${JSON.stringify(e)},\n },\n "*",\n );\n }\n <\/script>\n </body>\n </html>\n `}(t,e),"text/html",e)}const gs={"application/andrew-inset":["ez"],"application/appinstaller":["appinstaller"],"application/applixware":["aw"],"application/appx":["appx"],"application/appxbundle":["appxbundle"],"application/atom+xml":["atom"],"application/atomcat+xml":["atomcat"],"application/atomdeleted+xml":["atomdeleted"],"application/atomsvc+xml":["atomsvc"],"application/atsc-dwd+xml":["dwd"],"application/atsc-held+xml":["held"],"application/atsc-rsat+xml":["rsat"],"application/automationml-aml+xml":["aml"],"application/automationml-amlx+zip":["amlx"],"application/bdoc":["bdoc"],"application/calendar+xml":["xcs"],"application/ccxml+xml":["ccxml"],"application/cdfx+xml":["cdfx"],"application/cdmi-capability":["cdmia"],"application/cdmi-container":["cdmic"],"application/cdmi-domain":["cdmid"],"application/cdmi-object":["cdmio"],"application/cdmi-queue":["cdmiq"],"application/cpl+xml":["cpl"],"application/cu-seeme":["cu"],"application/cwl":["cwl"],"application/dash+xml":["mpd"],"application/dash-patch+xml":["mpp"],"application/davmount+xml":["davmount"],"application/dicom":["dcm"],"application/docbook+xml":["dbk"],"application/dssc+der":["dssc"],"application/dssc+xml":["xdssc"],"application/ecmascript":["ecma"],"application/emma+xml":["emma"],"application/emotionml+xml":["emotionml"],"application/epub+zip":["epub"],"application/exi":["exi"],"application/express":["exp"],"application/fdf":["fdf"],"application/fdt+xml":["fdt"],"application/font-tdpfr":["pfr"],"application/geo+json":["geojson"],"application/gml+xml":["gml"],"application/gpx+xml":["gpx"],"application/gxf":["gxf"],"application/gzip":["gz"],"application/hjson":["hjson"],"application/hyperstudio":["stk"],"application/inkml+xml":["ink","inkml"],"application/ipfix":["ipfix"],"application/its+xml":["its"],"application/java-archive":["jar","war","ear"],"application/java-serialized-object":["ser"],"application/java-vm":["class"],"application/javascript":["*js"],"application/json":["json","map"],"application/json5":["json5"],"application/jsonml+json":["jsonml"],"application/ld+json":["jsonld"],"application/lgr+xml":["lgr"],"application/lost+xml":["lostxml"],"application/mac-binhex40":["hqx"],"application/mac-compactpro":["cpt"],"application/mads+xml":["mads"],"application/manifest+json":["webmanifest"],"application/marc":["mrc"],"application/marcxml+xml":["mrcx"],"application/mathematica":["ma","nb","mb"],"application/mathml+xml":["mathml"],"application/mbox":["mbox"],"application/media-policy-dataset+xml":["mpf"],"application/mediaservercontrol+xml":["mscml"],"application/metalink+xml":["metalink"],"application/metalink4+xml":["meta4"],"application/mets+xml":["mets"],"application/mmt-aei+xml":["maei"],"application/mmt-usd+xml":["musd"],"application/mods+xml":["mods"],"application/mp21":["m21","mp21"],"application/mp4":["*mp4","*mpg4","mp4s","m4p"],"application/msix":["msix"],"application/msixbundle":["msixbundle"],"application/msword":["doc","dot"],"application/mxf":["mxf"],"application/n-quads":["nq"],"application/n-triples":["nt"],"application/node":["cjs"],"application/octet-stream":["bin","dms","lrf","mar","so","dist","distz","pkg","bpk","dump","elc","deploy","exe","dll","deb","dmg","iso","img","msi","msp","msm","buffer"],"application/oda":["oda"],"application/oebps-package+xml":["opf"],"application/ogg":["ogx"],"application/omdoc+xml":["omdoc"],"application/onenote":["onetoc","onetoc2","onetmp","onepkg","one","onea"],"application/oxps":["oxps"],"application/p2p-overlay+xml":["relo"],"application/patch-ops-error+xml":["xer"],"application/pdf":["pdf"],"application/pgp-encrypted":["pgp"],"application/pgp-keys":["asc"],"application/pgp-signature":["sig","*asc"],"application/pics-rules":["prf"],"application/pkcs10":["p10"],"application/pkcs7-mime":["p7m","p7c"],"application/pkcs7-signature":["p7s"],"application/pkcs8":["p8"],"application/pkix-attr-cert":["ac"],"application/pkix-cert":["cer"],"application/pkix-crl":["crl"],"application/pkix-pkipath":["pkipath"],"application/pkixcmp":["pki"],"application/pls+xml":["pls"],"application/postscript":["ai","eps","ps"],"application/provenance+xml":["provx"],"application/pskc+xml":["pskcxml"],"application/raml+yaml":["raml"],"application/rdf+xml":["rdf","owl"],"application/reginfo+xml":["rif"],"application/relax-ng-compact-syntax":["rnc"],"application/resource-lists+xml":["rl"],"application/resource-lists-diff+xml":["rld"],"application/rls-services+xml":["rs"],"application/route-apd+xml":["rapd"],"application/route-s-tsid+xml":["sls"],"application/route-usd+xml":["rusd"],"application/rpki-ghostbusters":["gbr"],"application/rpki-manifest":["mft"],"application/rpki-roa":["roa"],"application/rsd+xml":["rsd"],"application/rss+xml":["rss"],"application/rtf":["rtf"],"application/sbml+xml":["sbml"],"application/scvp-cv-request":["scq"],"application/scvp-cv-response":["scs"],"application/scvp-vp-request":["spq"],"application/scvp-vp-response":["spp"],"application/sdp":["sdp"],"application/senml+xml":["senmlx"],"application/sensml+xml":["sensmlx"],"application/set-payment-initiation":["setpay"],"application/set-registration-initiation":["setreg"],"application/shf+xml":["shf"],"application/sieve":["siv","sieve"],"application/smil+xml":["smi","smil"],"application/sparql-query":["rq"],"application/sparql-results+xml":["srx"],"application/sql":["sql"],"application/srgs":["gram"],"application/srgs+xml":["grxml"],"application/sru+xml":["sru"],"application/ssdl+xml":["ssdl"],"application/ssml+xml":["ssml"],"application/swid+xml":["swidtag"],"application/tei+xml":["tei","teicorpus"],"application/thraud+xml":["tfi"],"application/timestamped-data":["tsd"],"application/toml":["toml"],"application/trig":["trig"],"application/ttml+xml":["ttml"],"application/ubjson":["ubj"],"application/urc-ressheet+xml":["rsheet"],"application/urc-targetdesc+xml":["td"],"application/voicexml+xml":["vxml"],"application/wasm":["wasm"],"application/watcherinfo+xml":["wif"],"application/widget":["wgt"],"application/winhlp":["hlp"],"application/wsdl+xml":["wsdl"],"application/wspolicy+xml":["wspolicy"],"application/xaml+xml":["xaml"],"application/xcap-att+xml":["xav"],"application/xcap-caps+xml":["xca"],"application/xcap-diff+xml":["xdf"],"application/xcap-el+xml":["xel"],"application/xcap-ns+xml":["xns"],"application/xenc+xml":["xenc"],"application/xfdf":["xfdf"],"application/xhtml+xml":["xhtml","xht"],"application/xliff+xml":["xlf"],"application/xml":["xml","xsl","xsd","rng"],"application/xml-dtd":["dtd"],"application/xop+xml":["xop"],"application/xproc+xml":["xpl"],"application/xslt+xml":["*xsl","xslt"],"application/xspf+xml":["xspf"],"application/xv+xml":["mxml","xhvml","xvml","xvm"],"application/yang":["yang"],"application/yin+xml":["yin"],"application/zip":["zip"],"application/zip+dotlottie":["lottie"],"audio/3gpp":["*3gpp"],"audio/aac":["adts","aac"],"audio/adpcm":["adp"],"audio/amr":["amr"],"audio/basic":["au","snd"],"audio/midi":["mid","midi","kar","rmi"],"audio/mobile-xmf":["mxmf"],"audio/mp3":["*mp3"],"audio/mp4":["m4a","mp4a","m4b"],"audio/mpeg":["mpga","mp2","mp2a","mp3","m2a","m3a"],"audio/ogg":["oga","ogg","spx","opus"],"audio/s3m":["s3m"],"audio/silk":["sil"],"audio/wav":["wav"],"audio/wave":["*wav"],"audio/webm":["weba"],"audio/xm":["xm"],"font/collection":["ttc"],"font/otf":["otf"],"font/ttf":["ttf"],"font/woff":["woff"],"font/woff2":["woff2"],"image/aces":["exr"],"image/apng":["apng"],"image/avci":["avci"],"image/avcs":["avcs"],"image/avif":["avif"],"image/bmp":["bmp","dib"],"image/cgm":["cgm"],"image/dicom-rle":["drle"],"image/dpx":["dpx"],"image/emf":["emf"],"image/fits":["fits"],"image/g3fax":["g3"],"image/gif":["gif"],"image/heic":["heic"],"image/heic-sequence":["heics"],"image/heif":["heif"],"image/heif-sequence":["heifs"],"image/hej2k":["hej2"],"image/ief":["ief"],"image/jaii":["jaii"],"image/jais":["jais"],"image/jls":["jls"],"image/jp2":["jp2","jpg2"],"image/jpeg":["jpg","jpeg","jpe"],"image/jph":["jph"],"image/jphc":["jhc"],"image/jpm":["jpm","jpgm"],"image/jpx":["jpx","jpf"],"image/jxl":["jxl"],"image/jxr":["jxr"],"image/jxra":["jxra"],"image/jxrs":["jxrs"],"image/jxs":["jxs"],"image/jxsc":["jxsc"],"image/jxsi":["jxsi"],"image/jxss":["jxss"],"image/ktx":["ktx"],"image/ktx2":["ktx2"],"image/pjpeg":["jfif"],"image/png":["png"],"image/sgi":["sgi"],"image/svg+xml":["svg","svgz"],"image/t38":["t38"],"image/tiff":["tif","tiff"],"image/tiff-fx":["tfx"],"image/webp":["webp"],"image/wmf":["wmf"],"message/disposition-notification":["disposition-notification"],"message/global":["u8msg"],"message/global-delivery-status":["u8dsn"],"message/global-disposition-notification":["u8mdn"],"message/global-headers":["u8hdr"],"message/rfc822":["eml","mime","mht","mhtml"],"model/3mf":["3mf"],"model/gltf+json":["gltf"],"model/gltf-binary":["glb"],"model/iges":["igs","iges"],"model/jt":["jt"],"model/mesh":["msh","mesh","silo"],"model/mtl":["mtl"],"model/obj":["obj"],"model/prc":["prc"],"model/step":["step","stp","stpnc","p21","210"],"model/step+xml":["stpx"],"model/step+zip":["stpz"],"model/step-xml+zip":["stpxz"],"model/stl":["stl"],"model/u3d":["u3d"],"model/vrml":["wrl","vrml"],"model/x3d+binary":["*x3db","x3dbz"],"model/x3d+fastinfoset":["x3db"],"model/x3d+vrml":["*x3dv","x3dvz"],"model/x3d+xml":["x3d","x3dz"],"model/x3d-vrml":["x3dv"],"text/cache-manifest":["appcache","manifest"],"text/calendar":["ics","ifb"],"text/coffeescript":["coffee","litcoffee"],"text/css":["css"],"text/csv":["csv"],"text/html":["html","htm","shtml"],"text/jade":["jade"],"text/javascript":["js","mjs"],"text/jsx":["jsx"],"text/less":["less"],"text/markdown":["md","markdown"],"text/mathml":["mml"],"text/mdx":["mdx"],"text/n3":["n3"],"text/plain":["txt","text","conf","def","list","log","in","ini"],"text/richtext":["rtx"],"text/rtf":["*rtf"],"text/sgml":["sgml","sgm"],"text/shex":["shex"],"text/slim":["slim","slm"],"text/spdx":["spdx"],"text/stylus":["stylus","styl"],"text/tab-separated-values":["tsv"],"text/troff":["t","tr","roff","man","me","ms"],"text/turtle":["ttl"],"text/uri-list":["uri","uris","urls"],"text/vcard":["vcard"],"text/vtt":["vtt"],"text/wgsl":["wgsl"],"text/xml":["*xml"],"text/yaml":["yaml","yml"],"video/3gpp":["3gp","3gpp"],"video/3gpp2":["3g2"],"video/h261":["h261"],"video/h263":["h263"],"video/h264":["h264"],"video/iso.segment":["m4s"],"video/jpeg":["jpgv"],"video/jpm":["*jpm","*jpgm"],"video/mj2":["mj2","mjp2"],"video/mp2t":["ts","m2t","m2ts","mts"],"video/mp4":["mp4","mp4v","mpg4"],"video/mpeg":["mpeg","mpg","mpe","m1v","m2v"],"video/ogg":["ogv"],"video/quicktime":["qt","mov"],"video/webm":["webm"]};Object.freeze(gs);const ms=gs;var ys,ws,As,bs=function(t,e,r,i){if("a"===r&&!i)throw new TypeError("Private accessor was defined without a getter");if("function"==typeof e?t!==e||!i:!e.has(t))throw new TypeError("Cannot read private member from an object whose class did not declare it");return"m"===r?i:"a"===r?i.call(t):i?i.value:e.get(t)};ys=new WeakMap,ws=new WeakMap,As=new WeakMap;const vs=class{constructor(...t){ys.set(this,new Map),ws.set(this,new Map),As.set(this,new Map);for(const e of t)this.define(e)}define(t,e=!1){for(let[r,i]of Object.entries(t)){r=r.toLowerCase(),i=i.map(t=>t.toLowerCase()),bs(this,As,"f").has(r)||bs(this,As,"f").set(r,new Set);const t=bs(this,As,"f").get(r);let n=!0;for(let s of i){const i=s.startsWith("*");if(s=i?s.slice(1):s,t?.add(s),n&&bs(this,ws,"f").set(r,s),n=!1,i)continue;const o=bs(this,ys,"f").get(s);if(o&&o!=r&&!e)throw new Error(`"${r} -> ${s}" conflicts with "${o} -> ${s}". Pass \`force=true\` to override this definition.`);bs(this,ys,"f").set(s,r)}}return this}getType(t){if("string"!=typeof t)return null;const e=t.replace(/^.*[/\\]/s,"").toLowerCase(),r=e.replace(/^.*\./s,"").toLowerCase(),i=e.length<t.length;return!(r.length<e.length-1)&&i?null:bs(this,ys,"f").get(r)??null}getExtension(t){return"string"!=typeof t?null:(t=t?.split?.(";")[0],(t&&bs(this,ws,"f").get(t.trim().toLowerCase()))??null)}getAllExtensions(t){return"string"!=typeof t?null:bs(this,As,"f").get(t.toLowerCase())??null}_freeze(){this.define=()=>{throw new Error("define() not allowed for built-in Mime objects. See https://github.com/broofa/mime/blob/main/README.md#custom-mime-instances")},Object.freeze(this);for(const t of bs(this,As,"f").values())Object.freeze(t);return this}_getTestState(){return{types:bs(this,ys,"f"),extensions:bs(this,ws,"f")}}},Es=(new vs(ms)._freeze(),Ss([80,75,3,4])),_s=Ss([31,139,8]),xs=Ss([87,65,82,67]),Is=(new vs).define(ms).define({"application/x-javascript":[".js"]});function Ss(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}async function Ts(t){const e=t.body.getReader();let r="";const{value:i,done:n}=await e.read();var s;return!n&&i.length>=4&&(s=i.slice(0,4),r=Es(s)?".wacz":xs(s)?".warc":_s(s)?".warc.gz":"",r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e.length>1&&e.indexOf(" {")>=0)return".cdxj"}catch(t){return""}}(i))),n||e.cancel().catch(()=>{}),r}class Cs{name;store;config;metadata;injectScripts;noRewritePrefixes;noPostToGet;convertPostToGet;coHeaders;csp;injectRelCanon;baseFramePrefix;baseFrameUrl;baseFrameHashReplay=!1;baseFrameAppendReplay=!1;liveRedirectOnNotFound=!1;rootPrefix;isRoot;prefix;adblockUrl;staticPrefix;proxyPrefix;proxyBannerUrl="";constructor(t,e,r={}){const{name:i,store:n,config:s}=t;this.name=i,this.store=n,this.config=s,this.metadata=this.config.metadata?this.config.metadata:{};const o={...r,...this.config.extraConfig};this.injectScripts=o.injectScripts||[],this.noRewritePrefixes=o.noRewritePrefixes||null,this.noPostToGet=!!o.noPostToGet,this.convertPostToGet=!!o.convertPostToGet,this.coHeaders=o.coHeaders||!1,this.injectRelCanon=o.injectRelCanon||!1,this.baseFramePrefix=o.baseUrlSourcePrefix,this.baseFrameUrl=o.baseUrl,this.baseFrameHashReplay=o.baseUrlHashReplay||!1,this.baseFrameAppendReplay=o.baseUrlAppendReplay||!1,this.liveRedirectOnNotFound=o.liveRedirectOnNotFound||!1,this.rootPrefix=e.root||e.main,this.adblockUrl=o.adblockUrl,this.prefix=e.main,this.proxyBannerUrl=o.proxyBannerUrl||"",this.proxyBannerUrl&&P([this.proxyBannerUrl]),this.config.root?(this.isRoot=!0,this.csp=o.csp||u()):(this.prefix+=this.name+"/",this.isRoot=!1,this.csp=o.csp||u()+this.name+"/"),this.staticPrefix=e.static,this.proxyPrefix=e.proxy}async handleRequest(t,e){let r=t.url,i=t.timestamp;if(!t.mod)return await this.makeTopFrame(r,i);this.noPostToGet||(r=await t.convertPostToGet());let n=null,s=r;try{if(r.startsWith("srcdoc:"))n=this.getSrcDocResponse(r,r.slice(7));else if(r.startsWith("blob:")){const t=r.indexOf("/"),e=r.slice(5,t),i=`blob:${self.location.origin}/${e}`;s=r.slice(t+1),n=await this.getBlobResponse(i)}else"about:blank"===r?n=await this.getSrcDocResponse(r):"__wb_module_decl.js"===r?n=await this.getWrappedModuleDecl():this.adblockUrl&&r.startsWith("adblock:")?n=await as(r.slice(8),this.adblockUrl):(n=await this.getReplayResponse(t,e),r=t.url,n&&n instanceof Yn&&n.updateTS&&(i=n.updateTS))}catch(e){if(await S(e,this.config))return hs(t.request,"Please wait, this page will reload after authentication...",401)}if(!n){try{r=decodeURIComponent(r),r+=t.hash}catch(t){}return us(t.request,r,i,this.liveRedirectOnNotFound)}if(n instanceof Response)return n;n.noRW||(n=t.isProxyOrigin?await this.proxyRewrite(t,n,s,i):await this.fullRewrite(t,n,s,r,i));const o=t.headers.get("range");!o||200!==n.status&&206!==n.status||n.setRange(o);let a=!1;if("dl_"===t.mod){const e=n.headers.get("Content-Disposition");if(!e?.match(/^attachment\s*;/i)){const e=await async function(t,e){let r="";try{const e=new URL(t.url.startsWith("//")?"https:"+t.url:t.url);r=e.pathname.slice(e.pathname.lastIndexOf("/")+1)}catch(t){}if(r||(r="index"),-1===r.indexOf(".")){const t=e.headers.get("content-type"),i=t?Is.getExtension(t):"";i&&(r+="."+i)}const i=encodeURIComponent(r);return i!==r?`filename*=UTF-8''${i}`:`filename="${r}"`}(t,n);n.headers.set("Content-Disposition",`attachment; ${e}`)}}else a="iframe"===t.destination||"document"===t.destination;return n.makeResponse(this.coHeaders,a)}async fullRewrite(t,e,r,i,n){const s=this.prefix+(t.pageId?`:${t.pageId}/`:""),o=s+n,a=e,c=ns.includes(t.mod)?"mp_":t.mod,l="id_"===c||"wkrf_"===c||"dl_"===c,h=o+c+"/",u={baseUrl:r,responseUrl:e.url,prefix:h,headInsertFunc:e=>{const r=o+(n?"/":"")+e;return this.makeHeadInsert(e,n,r,s,a,t.referrer)},workerInsertFunc:t=>{const e=`new WBWombat(\n {"prefix": "${o}",\n "mod": "wkr_",\n "originalURL": "${i}"\n })`;return t?`import '${this.staticPrefix}wombatWorkers.js'; if (!self.__wb_wombat) { self.__wb_wombat = ${e} }`:`\n { if (!self.__wb_wombat) { self.importScripts('${this.staticPrefix}wombatWorkers.js'); self.__wb_wombat = ${e};} }`},urlRewrite:!l,contentRewrite:!l,decode:this.config.decode},p=new ss(u);return(e=await p.rewrite(e,t)).headers.set("Content-Security-Policy",this.csp),e}async proxyRewrite(t,e,r,i){const n=this.prefix+(t.pageId?`:${t.pageId}/`:""),s=e.date.toISOString(),o=n+(i||d(s)),a=o+"mp_/",c={baseUrl:r,responseUrl:e.url,prefix:a,headInsertFunc:r=>{const n=this.getCookiePreset(e,t.proxyScheme),a=g(e.date),c=e.extraOpts,l=c?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n<script>\n const wbinfo = {};\n wbinfo.url = "${r}";\n wbinfo.request_ts = "${i}";\n wbinfo.timestamp = "${s}";\n wbinfo.proxyOrigin = "${t.proxyOrigin||""}";\n wbinfo.localOrigin = "${t.localOrigin||""}";\n wbinfo.localTLD = "${t.localTLD||""}";\n wbinfo.proxyTLD = "${t.proxyTLD||""}";\n wbinfo.prefix = "${o}";\n wbinfo.presetCookie = ${n};\n wbinfo.seconds = "${a}";\n self.__wbinfo = wbinfo;\n<\/script>\n<script src="${this.staticPrefix}wombatProxy.js"><\/script>\n${this.proxyBannerUrl?`\n<script src="${this.proxyPrefix}${this.proxyBannerUrl}"><\/script>`:""}\n${l?se:""}\n\x3c!-- End WB Insert --\x3e\n `},workerInsertFunc:null,urlRewrite:!0,contentRewrite:!0,decode:this.config.decode},l=new os(c,t);return e=await l.rewrite(e,t)}getCookiePreset(t,e){let r=t.headers.get("x-wabac-preset-cookie")||"";const i=t.headers.get("Set-Cookie");return i&&(r=function(t,e){t=t.replace(l,"");const r=[];for(const i of t.split(",")){const t=i.split(";",1)[0];if(t!==i){const r=i.slice(t.length).toLowerCase();if(r.indexOf("httponly")>0)continue;if("http"===e&&r.indexOf("secure")>0)continue}r.push(t)}return r.join(";")}(i,e)+";"+r),r?JSON.stringify(r):'""'}getCanonRedirect(t){let{url:e,timestamp:r,mod:i,referrer:n}=t;const s=e.startsWith("//");if(s){e=(n&&n.indexOf("/http://")>0?"http:":"https:")+e}try{const n=new URL(e);if(n.href!==e){if("/"===n.pathname){let t=this.prefix+r+i;return(r||i)&&(t+="/"),t+=n.href,Response.redirect(t,301)}(!s&&e.indexOf(":443")||e.indexOf(":80"))&&(t.url=n.href)}}catch(t){}return null}getWrappedModuleDecl(){const t=(new TextEncoder).encode('\n var wrapObj = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\n if (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\n\n const window = wrapObj("window");\n const document = wrapObj("document");\n const location = wrapObj("location");\n const top = wrapObj("top");\n const parent = wrapObj("parent");\n const frames = wrapObj("frames");\n const opener = wrapObj("opener");\n const __self = wrapObj("self");\n const __globalThis = wrapObj("globalThis");\n\n export { window, document, location, top, parent, frames, opener, __self as self, __globalThis as globalThis };\n '),e=new Headers({"Content-Type":"application/javascript"});return new Response(t,{headers:e,status:200,statusText:"OK"})}getSrcDocResponse(t,e){const r=e?decodeURIComponent(atob(e)):"<html><head></head><body></body></html>",i=(new TextEncoder).encode(r),n=new Headers({"Content-Type":"text/html"}),s=new Date;return new Yn({payload:i,status:200,statusText:"OK",headers:n,url:t,date:s})}async getBlobResponse(t){const e=await fetch(t),r=e.status,i=e.statusText,n=new Headers(e.headers);"application/xhtml+xml"===n.get("content-type")&&n.set("content-type","text/html");const s=new Date,o=new Uint8Array(await e.arrayBuffer());return new Yn({payload:o,status:r,statusText:i,headers:n,url:t,date:s})}async getReplayResponse(t,e){let r=this.getCanonRedirect(t);if(r)return r;const i={pageId:t.pageId,noRedirect:t.isProxyOrigin};return r=await this.store.getResource(t,this.prefix,e,i),r}async makeTopFrame(t,e){let r="";if(this.baseFrameUrl&&!this.baseFramePrefix?r=this.baseFrameUrl:!this.isRoot&&this.config.sourceUrl&&(r=this.baseFramePrefix||"./",r+=`?source=${this.config.sourceUrl}`),r){if(this.baseFrameAppendReplay)r+=`${e}/${t}`;else if(this.baseFrameHashReplay)r+=`#${e}/${t}`;else{r+="#"+new URLSearchParams({url:t,ts:e,view:"replay"}).toString()}return Response.redirect(r)}let i="";if(this.config.topTemplateUrl){const r=await fetch(this.config.topTemplateUrl);i=(await r.text()).replace("$URL",t).replace("$TS",e).replace("$PREFIX",this.prefix)}else i=`\n<!DOCTYPE html>\n<html>\n<head>\n<style>\nhtml, body\n{\n height: 100%;\n margin: 0px;\n padding: 0px;\n border: 0px;\n overflow: hidden;\n}\n\n</style>\n<script src='${this.staticPrefix}wb_frame.js'> <\/script>\n\n<script>\nwindow.home = "${this.rootPrefix}";\n<\/script>\n\n<script src='${this.staticPrefix}default_banner.js'> <\/script>\n<link rel='stylesheet' href='${this.staticPrefix}default_banner.css'/>\n\n</head>\n<body style="margin: 0px; padding: 0px;">\n<div id="wb_iframe_div">\n<iframe id="replay_iframe" name="${c}" frameborder="0" seamless="seamless" scrolling="yes" class="wb_iframe" allow="autoplay; fullscreen"></iframe>\n</div>\n<script>\n var cframe = new ContentFrame({"url": "${t}",\n "app_prefix": "${this.prefix}",\n "content_prefix": "${this.prefix}",\n "request_ts": "${e}",\n "iframe": "#replay_iframe"});\n\n<\/script>\n</body>\n</html>\n`;const n={status:200,statusText:"OK",headers:{"Content-Type":"text/html","Content-Security-Policy":this.csp}};return new Response(i,n)}makeHeadInsert(t,e,r,i,n,s){const o=this.name,a=n.date,l=n.isLive,h=n.extraOpts,u=g(a),p=d(a.toISOString()),f=new URL(t);let m;m="https:"!==f.protocol&&"http:"!==f.protocol?s&&s.indexOf("/http://")>0?"http":"https":f.protocol.slice(0,-1);const y=this.getCookiePreset(n,m),w=h&&Number(h.pixelRatio)?h.pixelRatio:2,A=h?.storage?JSON.stringify(h.storage):'""',b=h?.disableMSE;return`\n\x3c!-- WB Insert --\x3e\n${this.adblockUrl?`\n<link rel='stylesheet' href="${i}mp_/adblock:${f.hostname}"/>\n<link rel='stylesheet' href="${i}mp_/adblock:"/>\n`:""}\n<style>\nbody {\n font-family: inherit;\n font-size: inherit;\n}\n</style>\n${this.injectRelCanon?`<link rel="canonical" href="${t}"/>`:""}\n<script>\n wbinfo = {};\n wbinfo.top_url = "${r}";\n // Fast Top-Frame Redirect\n if (window == window.top && wbinfo.top_url) {\n var loc = window.location.href.replace(window.location.hash, "");\n loc = decodeURI(loc);\n\n if (loc != decodeURI(wbinfo.top_url)) {\n window.location.href = wbinfo.top_url + window.location.hash;\n }\n }\n wbinfo.url = "${t}";\n wbinfo.timestamp = "${p}";\n wbinfo.request_ts = "${e}";\n wbinfo.prefix = decodeURI("${i}");\n wbinfo.mod = "mp_";\n wbinfo.is_framed = true;\n wbinfo.is_live = ${l?"true":"false"};\n wbinfo.coll = "${o}";\n wbinfo.proxy_magic = "";\n wbinfo.static_prefix = "${this.staticPrefix}";\n wbinfo.enable_auto_fetch = true;\n wbinfo.presetCookie = ${y};\n wbinfo.storage = ${A};\n wbinfo.isSW = true;\n wbinfo.injectDocClose = true;\n wbinfo.pixel_ratio = ${w};\n wbinfo.convert_post_to_get = ${this.convertPostToGet};\n wbinfo.target_frame = "${c}";\n<\/script>\n<script src='${this.staticPrefix}wombat.js'> <\/script>\n<script>\n wbinfo.wombat_ts = "${l?p:e}";\n wbinfo.wombat_sec = "${u}";\n wbinfo.wombat_scheme = "${m}";\n wbinfo.wombat_host = "${f.host}";\n\n ${this.noRewritePrefixes?`\n wbinfo.wombat_opts = {"no_rewrite_prefixes": ${JSON.stringify(this.noRewritePrefixes)}}`:"\n wbinfo.wombat_opts = {}\n "}\n\n if (window && window._WBWombatInit) {\n window._WBWombatInit(wbinfo);\n }\n ${b?se:""}\n<\/script>\n${this.injectScripts.map(t=>`<script src='${this.proxyPrefix}${t}'> <\/script>`).join("")}\n\x3c!-- End WB Insert --\x3e\n`}}const Rs=(t,e)=>e.some(e=>t instanceof e);let ks,Bs;const Ns=new WeakMap,Os=new WeakMap,Ds=new WeakMap,Ps=new WeakMap,Ls=new WeakMap;let Us={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return Os.get(t);if("objectStoreNames"===e)return t.objectStoreNames||Ds.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return js(t[e])},set:(t,e,r)=>(t[e]=r,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function Ms(t){Us=t(Us)}function Fs(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(Bs||(Bs=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Ws(this),e),js(Ns.get(this))}:function(...e){return js(t.apply(Ws(this),e))}:function(e,...r){const i=t.call(Ws(this),e,...r);return Ds.set(i,e.sort?e.sort():[e]),js(i)}}function Hs(t){return"function"==typeof t?Fs(t):(t instanceof IDBTransaction&&function(t){if(Os.has(t))return;const e=new Promise((e,r)=>{const i=()=>{t.removeEventListener("complete",n),t.removeEventListener("error",s),t.removeEventListener("abort",s)},n=()=>{e(),i()},s=()=>{r(t.error||new DOMException("AbortError","AbortError")),i()};t.addEventListener("complete",n),t.addEventListener("error",s),t.addEventListener("abort",s)});Os.set(t,e)}(t),Rs(t,ks||(ks=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,Us):t)}function js(t){if(t instanceof IDBRequest)return function(t){const e=new Promise((e,r)=>{const i=()=>{t.removeEventListener("success",n),t.removeEventListener("error",s)},n=()=>{e(js(t.result)),i()},s=()=>{r(t.error),i()};t.addEventListener("success",n),t.addEventListener("error",s)});return e.then(e=>{e instanceof IDBCursor&&Ns.set(e,t)}).catch(()=>{}),Ls.set(e,t),e}(t);if(Ps.has(t))return Ps.get(t);const e=Hs(t);return e!==t&&(Ps.set(t,e),Ls.set(e,t)),e}const Ws=t=>Ls.get(t);function Qs(t,e,{blocked:r,upgrade:i,blocking:n,terminated:s}={}){const o=indexedDB.open(t,e),a=js(o);return i&&o.addEventListener("upgradeneeded",t=>{i(js(o.result),t.oldVersion,t.newVersion,js(o.transaction),t)}),r&&o.addEventListener("blocked",t=>r(t.oldVersion,t.newVersion,t)),a.then(t=>{s&&t.addEventListener("close",()=>s()),n&&t.addEventListener("versionchange",t=>n(t.oldVersion,t.newVersion,t))}).catch(()=>{}),a}function zs(t,{blocked:e}={}){const r=indexedDB.deleteDatabase(t);return e&&r.addEventListener("blocked",t=>e(t.oldVersion,t)),js(r).then(()=>{})}const Vs=["get","getKey","getAll","getAllKeys","count"],Gs=["put","add","delete","clear"],qs=new Map;function Ks(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(qs.get(e))return qs.get(e);const r=e.replace(/FromIndex$/,""),i=e!==r,n=Gs.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!n&&!Vs.includes(r))return;const s=async function(t,...e){const s=this.transaction(t,n?"readwrite":"readonly");let o=s.store;return i&&(o=o.index(e.shift())),(await Promise.all([o[r](...e),n&&s.done]))[0]};return qs.set(e,s),s}Ms(t=>({...t,get:(e,r,i)=>Ks(e,r)||t.get(e,r,i),has:(e,r)=>!!Ks(e,r)||t.has(e,r)}));const Xs=["continue","continuePrimaryKey","advance"],Ys={},Js=new WeakMap,Zs=new WeakMap,$s={get(t,e){if(!Xs.includes(e))return t[e];let r=Ys[e];return r||(r=Ys[e]=function(...t){Js.set(this,Zs.get(this)[e](...t))}),r}};async function*to(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;const r=new Proxy(e,$s);for(Zs.set(r,e),Ls.set(r,Ws(e));e;)yield r,e=await(Js.get(r)||e.continue()),Js.delete(r)}function eo(t,e){return e===Symbol.asyncIterator&&Rs(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&Rs(t,[IDBIndex,IDBObjectStore])}Ms(t=>({...t,get:(e,r,i)=>eo(e,r)?to:t.get(e,r,i),has:(e,r)=>eo(e,r)||t.has(e,r)}));var ro=r(4668),io=r.n(ro);const no=1024,so=/\[\d]+/,oo=[{match:/\/\/.*(?:gcs-vimeo|vod|vod-progressive|vod-adaptive)\.akamaized\.net.*?\/([\d/]+\.mp4)/,fuzzyCanonReplace:"//vimeo-cdn.fuzzy.replayweb.page/$1",split:".net"},{match:/\/\/.*player.vimeo.com\/(video\/[\d]+)\?.*/i,fuzzyCanonReplace:"//vimeo.fuzzy.replayweb.page/$1"},{match:/www.\washingtonpost\.com\/wp-apps\/imrs.php/,args:[["src"]]},{match:/(static.wixstatic.com\/.*\.[\w]+\/v1\/fill\/)(w_.*)/,replace:"$1?_args=$2",split:"/v1/fill"},{match:/(twimg.com\/profile_images\/[^/]+\/[^_]+)_([\w]+\.[\w]+)/,replace:"$1=_args=$2",split:"_",splitLast:!0},{match:/^https?:\/\/(?:www\.)?(youtube\.com\/embed\/[^?]+)[?].*/i,replace:"$1"},{match:/^(https?:\/\/(?:www\.)?)(youtube\.com\/@[^?]+)[?].*/i,fuzzyCanonReplace:"$1$2"},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(get_video_info)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["video_id"]]},{match:/\/\/(?:www\.)?youtube(?:-nocookie)?\.com\/(youtubei\/v1\/[^?]+\?).*(videoId[^&]+).*/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1$2",args:[["videoId"]]},{match:/\/\/.*googlevideo.com\/(videoplayback)/i,fuzzyCanonReplace:"//youtube.fuzzy.replayweb.page/$1",args:[["id","itag"],["id"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\/pagelet\/generic.php\/photoviewerinitpagelet/i,args:[[{arg:"data",keys:["query_type","fbid","v","cursor","data"]}]]},{match:/((?:twitter|x)\.com\/[^/]+\/status\/[^?]+)(\?.*)/,fuzzyCanonReplace:"$1"},{match:/((?:twitter|x)\.com\/i\/api\/graphql\/.*)/,args:[["cursor"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\//i,fuzzySet:!0},{match:(ao=["(callback=jsonp)[^&]+(?=&|$)","((?:\\w+)=jquery)[\\d]+_[\\d]+","utm_[^=]+=[^&]+(?=&|$)","(_|cb|_ga|\\w*cache\\w*)=[\\d.-]+(?=$|&)"],new RegExp("[?&]"+ao.map(t=>"("+t+")").join("|"),"gi")),replace:""},{match:/(\.(?:js|webm|mp4|gif|jpg|png|css|json|m3u8))\?.*/i,replace:"$1",maxResults:2}];var ao;const co=new class{rules;constructor(t){this.rules=t||oo}getRuleFor(t){let e;const r=-1===t.indexOf("?")?t+"?":t;for(const t of this.rules)if(r.length<4096&&r.match(t.match)){e=t;break}let i=t;e?.fuzzyCanonReplace&&(i=t.replace(e.match,e.fuzzyCanonReplace));const n=e?.split||"?",s=e?.splitLast?t.lastIndexOf(n):t.indexOf(n);return{prefix:s>0?t.slice(0,s+n.length):t,rule:e,fuzzyCanonUrl:i}}getFuzzyCanonsWithArgs(t){let{fuzzyCanonUrl:e,prefix:r,rule:i}=this.getRuleFor(t);e===t&&(e=r);const n=[];if(i?.args){const r=new URL(e),s=new URL(t);for(const t of i.args){const e=new URLSearchParams;for(const r of t)e.set(r,s.searchParams.get(r)||"");r.search=e.toString(),n.push(r.href)}return n}return[e]}fuzzyCompareUrls(t,e,r){if(!e?.length)return null;if(void 0!==r?.replace&&void 0!==r.match&&(!r.maxResults||e.length<=r.maxResults)){const i=r.match,n=r.replace,s=t.replace(i,n),o=[];for(const t of e){const e=t.url.replace(i,n);if(s===e)return t;t.fuzzyMatchUrl=e,o.push(t)}e=o,t=s}return this.fuzzyBestMatchQuery(t,e,r)}fuzzyBestMatchQuery(t,e,r){let i;try{i=new URL(t)}catch(t){return null}const n=r?.args&&!r.fuzzyArgs?new Set(r.args[0]):null;let s=Number.MIN_SAFE_INTEGER,o=null;const a=new URLSearchParams(i.search);for(const t of e){if(204===t.status||304===t.status)continue;let e;try{e=new URL(t.fuzzyMatchUrl||t.url)}catch(t){continue}const i=new URLSearchParams(e.search);let c=this.getMatch(a,i,n,r?.fuzzySet);c+=this.getMatch(i,a,n),c/=2,t.status>200&&(c+=.1*(200-t.status)),c>s&&(s=c,o=t)}return o}getMatch(t,e,r=null,i=!1){let n=1,s=1;const o={};for(let[a,c]of t){let t,l=e.get(a);if(r&&r.has(a)&&l!==c)return-1e3;t=a.startsWith("_")?.1:10,null!==l&&(n+=.5*t,l.length>no&&(l=l.slice(0,no))),c&&c.length>no&&(c=c.slice(0,no));const h=Number(c),u=Number(l);if(s+=t,i&&l&&this.addSetMatch(o,a,c,l),l===c)n+=t*c.length;else if(null===l||null===c)n+=0;else if(isNaN(h)||isNaN(u))if(c.startsWith("{")&&l.startsWith("{"))try{const e=ft(c),r=ft(l);n+=this.getMatch(e,r)*t*2}catch(e){n+=.5*t*this.levScore(c,l)}else i||(n+=t*this.levScore(c,l));else n+=10-Math.log(Math.abs(h-u)+1)}return n/s+(i?this.paramSetMatch(o,100):0)}addSetMatch(t,e,r,i){if(!(r&&i&&r.startsWith("/")&&i.startsWith("/")))return;const n=e.split(so);if(n.length<=1)return;const s=r.indexOf("?"),o=i.indexOf("?"),a=n[0],c=s>0?r.slice(0,s):r,l=o>0?i.slice(0,o):i;t[a]||(t[a]={value:[],found:new Set}),t[a].value.push(c),t[a].found.add(l)}paramSetMatch(t,e){let r=0;for(const i of Object.values(t)){let t=e;for(const e of i.value)i.found.has(e)&&(r+=t),t*=.33}return r}levScore(t,e){const r=Math.min(t.length,e.length),i=io()(t,e);return i<r?r-i:0}},lo=new Date("9999-01-01").getTime(),ho="warc/revisit";class uo{name;minDedupSize;version;autoHttpsCheck=!0;useRefCounts=!1;allowRepeats=!0;repeatTracker=null;fuzzyPrefixSearch=!0;initing;db=null;constructor(t,e={}){this.name=t,this.db=null;const{minDedupSize:r,noRefCounts:i}=e;this.minDedupSize=Number.isInteger(r)?r:1024,this.version=4,this.autoHttpsCheck=!0,this.useRefCounts=!i,this.allowRepeats=!0,this.repeatTracker=new po,this.fuzzyPrefixSearch=!0,this.initing=this.init()}async init(){let t=0;this.db=await Qs(this.name,this.version,{upgrade:(e,r,i,n)=>{t=r,this._initDB(e,r,i,n)},blocking:(t,e)=>{e||this.close()}}),1===t&&await this.convertCuratedPagesToV2(this.db)}_initDB(t,e,r,i){if(!e){const e=t.createObjectStore("pages",{keyPath:"id"});e.createIndex("url","url"),e.createIndex("ts","ts"),e.createIndex("state","state"),t.createObjectStore("pageLists",{keyPath:"id",autoIncrement:!0});t.createObjectStore("curatedPages",{keyPath:"id",autoIncrement:!0}).createIndex("listPages",["list","pos"]);const r=t.createObjectStore("resources",{keyPath:["url","ts"]});r.createIndex("pageId","pageId"),r.createIndex("mimeStatusUrl",["mime","status","url"]);t.createObjectStore("payload",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0});t.createObjectStore("digestRef",{keyPath:"digest"}).createIndex("digest","digest",{unique:!0})}}async clearAll(){const t=["pages","resources","payload","digestRef"];if(this.db)for(const e of t)await this.db.clear(e)}close(){this.db&&(this.db.close(),this.db=null)}async delete(){this.close(),await zs(this.name,{blocked(t,e){console.log("Unable to delete: "+e)}})}async addPage(t,e){const r=t.url,i=t.title||t.url,n=t.id||this.newPageId(),s=t.state||17;let o=t.ts;if("number"!=typeof o)if(t.timestamp)o=f(t.timestamp).getTime();else{const e=t.ts||t.date||t.datetime;e&&(o=new Date(e).getTime())}const a={...t,url:r,ts:o,title:i,id:n,state:s};return e?(e.store.put(a),a.id):await this.db.put("pages",a)}async addPages(t,e="pages",r=!1){const i=this.db.transaction(e,"readwrite");for(const e of t)r?i.store.put(e):this.addPage(e,i);try{await i.done}catch(t){console.warn("addPages tx",String(t))}}async createPageList(t){const e={title:t.title,desc:t.desc||t.description,slug:t.id||t.slug};return await this.db.put("pageLists",e)}async addCuratedPageList(t,e){const r=await this.createPageList(t);let i=0;for(const t of e)t.pos=i++,t.list=r;await this.addPages(e,"curatedPages")}async addCuratedPageLists(t,e="pages",r="public"){for(const i of t){if(r&&!i[r])continue;const t=i[e]||[];await this.addCuratedPageList(i,t)}}async convertCuratedPagesToV2(t){const e=await t.getAll("curatedPages");if(!e?.length)return;const r=await t.getAll("pages"),i=new Map;for(const t of r)i.set(t.id,t);for(const t of e)if(t.page){const e=i.get(t.page);e&&(t.id=this.newPageId(),t.url=e.url,t.ts=e.ts,!t.title&&e.title&&(t.title=e.title)),delete t.page}await t.clear("curatedPages");const n=t.transaction("curatedPages","readwrite");for(const t of e)n.store.put(t);try{await n.done}catch(t){console.warn("Conversion Failed",t)}}async getCuratedPagesByList(){const t=await this.db.getAll("pageLists"),e=this.db.transaction("curatedPages","readonly");for await(const r of e.store.index("listPages").iterate()){const e=t[r.value.list-1];e&&(e.show=!0,e.pages||(e.pages=[]),e.pages.push(r.value))}return t}newPageId(){return b()}async getAllPages(){return await this.db.getAll("pages")}async getPagesByUrl(t){return await this.db.getAllFromIndex("pages","url",t)}async getPages(t){const e=[];t.sort();for await(const r of this.matchAny("pages",null,t))e.push(r);return e}async getTimestampsByURL(t){const e=this.db.transaction("resources"),r=IDBKeyRange.bound([t],[t,lo]),i=[];for await(const t of e.store.iterate(r))i.push(t.key[1]);return i}async getPagesWithState(t){return await this.db.getAllFromIndex("pages","state",t)}async getVerifyInfo(){return{}}async addVerifyData(t="",e,r,i=null,n=!1){}async addVerifyDataList(t,e){}async dedupResource(t,e,r,i=1){const n=r.objectStore("digestRef"),s=await n.get(t);if(s)return++s.count,s;if(e)try{r.objectStore("payload").put({digest:t,payload:e});return{digest:t,count:i,size:e.length}}catch(t){console.log(t)}return null}async addResources(t){const e=[],r=[],i=[],n={},s=new Set,o=this.db.transaction(["digestRef","payload"],"readwrite");for(const a of t){let t=1;const c=a.status||200,l=a.mime===ho?e:c>=300?r:i;l.push(a);const h=this.getFuzzyUrl(a);if(h&&(l.push(h),t=2),this.useRefCounts&&a.digest){const e=n[a.digest];e?(e.count+=t,s.add(a.digest)):n[a.digest]=await this.dedupResource(a.digest,a.payload,o,t),delete a.payload}}if(this.useRefCounts){const t=o.objectStore("digestRef");for(const e of s)t.put(n[e])}try{await o.done}catch(t){console.error("Payload and Ref Count Bulk Add Failed: ",t)}const a=this.db.transaction("resources","readwrite");for(const t of e)a.store.put(t);for(const t of r)a.store.put(t);for(const t of i)a.store.put(t);try{await a.done}catch(t){console.error("Resources Bulk Add Failed",t)}}getFuzzyUrl(t){if(t.status&&t.status>=200&&t.status<400&&304!==t.status&&204!==t.status){const{fuzzyCanonUrl:e}=co.getRuleFor(t.url);if(!e||e===t.url)return null;return{url:e,ts:t.ts,origURL:t.url,origTS:t.ts,pageId:t.pageId,digest:t.digest}}return null}async addResource(t){t.payload&&t.payload.length>this.minDedupSize&&(t.digest||(t.digest=await y(t.payload,"sha-256")));let e=null,r=!1;const i=this.db.transaction(["resources","digestRef","payload"],"readwrite");if(t.payload&&t.payload.length>this.minDedupSize?(e=await this.dedupResource(t.digest||"",t.payload,i),r=!!e&&1===e.count,delete t.payload):t.payload&&(r=!0),t.mime!==ho){i.objectStore("resources").put(t);const r=this.getFuzzyUrl(t);r&&(i.objectStore("resources").put(r),e&&e.count++)}else i.objectStore("resources").add(t);e&&i.objectStore("digestRef").put(e);try{await i.done}catch(e){t.mime===ho?console.log("Skip Duplicate revisit for: "+t.url):console.log("Add Error for "+t.url),console.log(e)}return r}async getResource(t,e,r,i={}){const n=f(t.timestamp).getTime();let s=t.url,o=null;const a=this.repeatTracker?this.repeatTracker.getSkipCount(r,s,t.request.method):0,c={...i,skip:a};if(t.httpToHttpsNeeded&&(s=s.slice(s.indexOf("//"))),s.startsWith("//")){let e=!1;o=await this.lookupUrl("https:"+s,n,c),o||(o=await this.lookupUrl("http:"+s,n,c),(o||t.request.referrer.indexOf("/http://",2)>0)&&(e=!0)),s=(e?"http:":"https:")+s}else if(o=await this.lookupUrl(s,n,c),!o&&this.autoHttpsCheck&&s.startsWith("http://")){const t=s.replace("http://","https://");o=await this.lookupUrl(t,n,c),o&&(s=t)}if(o||!this.fuzzyPrefixSearch||i.noFuzzyCheck||(o=await this.lookupQueryPrefix(s,i)),o?.origURL){const t=await this.lookupUrl(o.origURL,o.origTS||o.ts,i);t&&(s=t.url,o=t)}if(!o)return null;const l=o.status||0,h=o.statusText||x(l);let u=null;if(!_(l)&&(u=await this.loadPayload(o,i),!u))return null;const p=o.respHeaders?v(o.respHeaders):new Headers,d=new Date(o.ts),g=o.extraOpts||null;return s=o.url,s!==t.url&&p.set("Content-Location",s),new Yn({url:s,payload:u,status:l,statusText:h,headers:p,date:d,extraOpts:g})}async loadPayload(t,e){if(t.digest&&!t.payload){if("sha256:e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855"===t.digest||"sha1:3I42H3S6NNFQ2MSVX7XZKYAYSCX5QBYJ"===t.digest)return new Uint8Array([]);const e=await this.db.get("payload",t.digest);if(!e)return null;const{payload:r}=e;return r}return t.payload||null}isSelfRedirect(t,e){try{if(e?.respHeaders&&e.status&&e.status>=300&&e.status<400){const r=new Headers(e.respHeaders).get("location")||"";if(new URL(r,t).href===t)return!0}}catch(t){}return!1}async lookupUrl(t,e,r={}){const i=this.db.transaction("resources","readonly");if(e){const n=IDBKeyRange.bound([t,e],[t,lo]);if(r.noRevisits||r.pageId){let e=await i.store.getAll(n,16);e=e||[];for(const i of e)if(!(r.pageId&&i.pageId&&i.pageId!==r.pageId||r.noRevisits&&i.mime===ho||this.isSelfRedirect(t,i)))return i}else{const r=await i.store.get(n);if(r&&this.isSelfRedirect(t,r))e+=1e4;else if(r)return r}}const n=IDBKeyRange.bound([t],[t,e||lo]);for await(const e of i.store.iterate(n,"prev")){const i=e.value;if((!r.pageId||!i.pageId||i.pageId===r.pageId)&&!(r.noRevisits&&i.mime===ho||this.isSelfRedirect(t,i)))return i}return null}async lookupQueryPrefix(t,e){const{rule:r,prefix:i,fuzzyCanonUrl:n}=co.getRuleFor(t);if(n!==t){const t=await this.lookupUrl(n,0,e);if(t)return t}if(!r&&i===t&&i===n&&!t.endsWith("?"))return null;const s=await this.db.getAll("resources",this.getLookupRange(i,"prefix"),128e3);return co.fuzzyCompareUrls(t,s,r)}resJson(t){const e=new Date(t.ts).toISOString();return{url:t.url,date:e,ts:d(e),mime:t.mime||"",status:t.status||0}}async resourcesByPage(t){return this.db.getAllFromIndex("resources","pageId",t)}async*resourcesByPages2(t){t.sort(),yield*this.matchAny("resources","pageId",t)}async*resourcesByPages(t){const e=this.db.transaction("resources","readonly");for await(const r of e.store.iterate())t.includes(r.value.pageId)&&(yield r.value)}async*matchAny(t,e,r,i,n=!1){const s=this.db.transaction(t,"readonly"),o=IDBKeyRange.lowerBound(r[0],n);let a=e?await s.store.index(e).openCursor(o):await s.store.openCursor(o),c=0;for(;a&&c<r.length;){let t,e,n;void 0!==i?(t=a.key[i],e=r[c][i],n=t.startsWith(e)):(t=a.key,e=r[c],n=t===e),!n&&t>e?++c:n?(yield a.value,a=await a.continue()):a=await a.continue(r[c])}}async resourcesByUrlAndMime(t,e,r=1e3,i=!0,n="",s=""){const o=e?0:r,a=await this.db.getAll("resources",this.getLookupRange(t,i?"prefix":"exact",n,s),o),c=e.split(","),l=[];for(const t of a)for(const e of c)if(!e||t.mime?.startsWith(e)){if(l.push(this.resJson(t)),l.length===r)return l;break}return l}async resourcesByMime(t,e=100,r="",i="",n=0){const s=t.split(","),o=[];s.sort();const a=[];r&&a.push([r,n,i]);for(const t of s)(!r||!t||t>r)&&a.push([t,0,""]);for await(const t of this.matchAny("resources","mimeStatusUrl",a,0,!0))if(o.push(this.resJson(t)),o.length===e)break;return o}async deletePage(t){const e=this.db.transaction("pages","readwrite"),r=await e.store.get(t);await e.store.delete(t);const i=await this.deletePageResources(t);return{pageSize:r?.size||0,dedupSize:i}}async deletePageResources(t){const e={},r=this.db.transaction("resources","readwrite");let i=await r.store.index("pageId").openCursor(t),n=0;for(;i;){const t=i.value.digest;t?e[t]=(e[t]||0)+1:i.value.payload&&(n+=i.value.payload.length),r.store.delete(i.primaryKey),i=await i.continue()}await r.done;const s=this.db.transaction(["payload","digestRef"],"readwrite"),o=s.objectStore("digestRef");for(const t of Object.keys(e)){const r=await o.get(t);r&&(r.count-=e[t]),r&&r.count>=1?o.put(r):(n+=r?r.size:0,o.delete(t),s.objectStore("payload").delete(t))}return await s.done,n}prefixUpperBound(t){return t.slice(0,-1)+String.fromCharCode(t.charCodeAt(t.length-1)+1)}getLookupRange(t,e,r,i){let n,s,o;switch(e){case"prefix":n=[t],s=[this.prefixUpperBound(t)];break;case"host":{const e=new URL(t).origin;n=[e+"/"],s=[e+"0"];break}default:n=[t],s=[t,Number.MAX_SAFE_INTEGER]}return r?(n=[r,i||""],o=!0):o=!1,IDBKeyRange.bound(n,s,o,!0)}}class po{repeats={};getSkipCount(t,e,r){if("POST"!==r&&!e.endsWith(".m3u8"))return 0;t.replacesClientId&&delete this.repeats[t.replacesClientId];const i=t.resultingClientId||t.clientId;return i?(void 0===this.repeats[i]&&(this.repeats[i]={}),void 0===this.repeats[i][e]?this.repeats[i][e]=0:this.repeats[i][e]++,this.repeats[i][e]):0}}const fo=["script","style","header","footer","banner-div","noscript"];class go{batchSize;promises=[];batch=[];count=0;dupeSet=new Set;db;constructor(t=1e3){this.batchSize=t}addPage(t){this.promises.push(this.db.addPage(t))}isBatchFull(){return this.batch.length>=this.batchSize}addResource(t){if(this.isBatchFull()&&this.flush(),Number.isNaN(t.ts))return void console.warn("Skipping resource with missing/invalid ts: "+t.url);const e=t.url+" "+t.ts;if("warc/revisit"===t.mime){if(this.dupeSet.has(e))return void console.warn("Skipping duplicate revisit, prevent overriding non-revisit")}else this.dupeSet.add(e);this.batch.push(t)}flush(){this.batch.length>0&&this.promises.push(this.db.addResources(this.batch)),console.log(`Read ${this.count+=this.batch.length} records`),this.batch=[]}async finishIndexing(){this.flush(),this._finishLoad();try{await Promise.all(this.promises)}catch(t){console.warn(t)}this.promises=[]}_finishLoad(){}}class mo extends go{reader;abort;loadId;sourceExtra;anyPages=!1;detectPages=!1;_lastRecord=null;metadata={};pages=[];lists=[];pageMap={};constructor(t,e=null,r=null,i=null){super(),this.reader=t,this.abort=e,this.loadId=r,this._lastRecord=null,this.metadata={},this.pageMap={},this.pages=[],this.lists=[],this.sourceExtra=i}parseWarcInfo(t){if(!t.payload)return;const e=new TextDecoder("utf-8").decode(t.payload);for(const t of e.split("\n"))if(t.startsWith("json-metadata:"))try{const e=JSON.parse(t.slice(14));if("collection"===e.type&&(this.metadata.desc=e.desc,this.metadata.title=e.title),e.pages?.length){this.pages=this.pages.concat(e.pages);for(const t of e.pages)t.ts=f(t.timestamp).getTime(),this.pageMap[t.ts+"/"+t.url]={page:t};this.anyPages=!0}e.lists?.length&&(this.lists=this.lists.concat(e.lists))}catch(t){console.log("Page Add Error",t.toString())}}index(t,e){if("warcinfo"!==t.warcType){if(this._lastRecord)return this._lastRecord.warcTargetURI!=t.warcTargetURI?(this.indexReqResponse(this._lastRecord,null,e),void(this._lastRecord=t)):void("request"===t.warcType&&"response"===this._lastRecord.warcType?(this.indexReqResponse(this._lastRecord,t,e),this._lastRecord=null):"response"===t.warcType&&"request"===this._lastRecord.warcType?(this.indexReqResponse(t,this._lastRecord,e),this._lastRecord=null):(this.indexReqResponse(this._lastRecord,null,e),this._lastRecord=t));this._lastRecord=t}else this.parseWarcInfo(t)}indexDone(t){this._lastRecord&&(this.indexReqResponse(this._lastRecord,null,t),this._lastRecord=null)}shouldIndexMetadataRecord(t){const e=t.warcTargetURI;return!!e?.startsWith("metadata://")}parseRevisitRecord(t,e){const r=t.warcTargetURI.split("#")[0],i=t.warcDate,n=i?new Date(i).getTime():Date.now();let s,o=null;if(t.httpHeaders){const i=this.parseResponseHttpHeaders(t,r,e);i&&(o=Object.fromEntries(i.headers.entries()),s=i.status)}const a=t.warcRefersToTargetURI,c=new Date(t.warcRefersToDate).getTime();if(a===r&&c===n)return null;return{url:r,ts:n,origURL:a,origTS:c,digest:t.warcPayloadDigest||null,pageId:null,respHeaders:o,status:s}}parseResponseHttpHeaders(t,e,r){let i=200,n=null,s="";const o=r?.httpHeaders?.method;if(t.httpHeaders){if(i=Number(t.httpHeaders.statusCode)||200,"OPTIONS"===o||"HEAD"===o)return null;if(n=v(t.httpHeaders.headers),s=(n.get("content-type")||"").split(";")[0],206===i&&!this.isFullRangeRequest(n))return null}else n=new Headers,n.set("content-type",t.warcContentType),n.set("content-length",String(t.warcContentLength)),s=t.warcContentType||"";return{status:i,method:o,headers:n,mime:s}}indexReqResponse(t,e,r){const i=this.parseRecords(t,e);i&&this.addResource(i)}parseRecords(t,e){switch(t.warcType){case"revisit":return this.parseRevisitRecord(t,e);case"resource":e=null;break;case"response":break;case"metadata":if(!this.shouldIndexMetadataRecord(t))return null;break;default:return null}let r=t.warcTargetURI.split("#")[0];const i=t.warcDate,n=this.parseResponseHttpHeaders(t,r,e);if(!n)return null;const{status:s,method:o,headers:a,mime:c}=n;let l,h,u=null,p=null;if(e?.httpHeaders?.headers){let t=null;try{t=new Headers(e.httpHeaders.headers);const r=t.get("cookie");r&&a.set("x-wabac-preset-cookie",r),u=e.httpHeaders.headers.get("Referer")||null}catch(e){t=new Headers,console.warn(e)}if(h=Object.fromEntries(t.entries()),"GET"!==o){const i={headers:t,method:o||"GET",url:r,postData:e.payload};pt(i)&&(l=r,r=i.url,p=e.payload)}}if(void 0===this.detectPages&&(this.detectPages=!this.anyPages),this.detectPages&&function(t,e,r){if(200!=e)return!1;if(!t.startsWith("http:")&&!t.startsWith("https:")&&!t.startsWith("blob:"))return!1;if(t.endsWith("/robots.txt"))return!1;const i=t.split("?",2);if(2===i.length&&i[1].length>i[0].length)return!1;if(i[0].substring(i[0].lastIndexOf("/")+1).startsWith("."))return!1;if(r&&"text/html"!==r)return!1;return!0}(r,s,c)){const t=r;this.addPage({url:r,date:i,title:t})}const d=i?new Date(i).getTime():Date.now(),f=Object.fromEntries(a.entries()),g=t.warcPayloadDigest||null,m=t.payload,y={url:r,ts:d,status:s,mime:c,respHeaders:f,reqHeaders:h,digest:g,payload:m,reader:m?null:t.reader,referrer:u};this.pageMap[d+"/"+r]&&m&&c.startsWith("text/")&&(this.pageMap[d+"/"+r].textPromise=async function(t,e,r,i){const n=new Dn,s=[];let o=null;n.on("text",t=>{if(o)return;const e=t.text.trim();e&&s.push(e)}),n.on("startTag",t=>{!t.selfClosing&&fo.includes(t.tagName)&&(o=t.tagName)}),n.on("endTag",t=>{t.tagName===o&&(o=null)}),(r||i)&&(e=await Zt(e,r,i)),n.end((new TextDecoder).decode(e));const a=new Promise(t=>{n.on("end",()=>{t(s.join(" "))})});return await a}(0,m,a.get("content-encoding"),a.get("transfer-encoding")));const w=t.warcHeader("WARC-JSON-Metadata");if(w)try{y.extraOpts=JSON.parse(w)}catch(t){}const A=t.warcHeader("WARC-Page-ID");return A&&(y.pageId=A),this.sourceExtra&&(y.source=this.sourceExtra),"GET"!==o&&l&&(y.requestUrl=l,y.method=o,y.requestBody=p||new Uint8Array([])),y}isFullRangeRequest(t){const e=t.get("content-range"),r=parseInt(t.get("content-length")||"0");return e&&e===`bytes 0-${r-1}/${r}`}filterRecord(t){return null}async load(t,e,r=0){if(e&&!r)throw new Error("totalSize is required");this.db=t;const i=new jt(this.reader);let n=0,s=0,o=0;try{for await(const t of i){if(o++,!t.warcType){console.log("skip empty record");continue}const a=self.interruptLoads;if(e&&this.loadId&&a[this.loadId])throw e(Math.round(i.offset/r*95),"Loading Canceled",i.offset,r),a[this.loadId](),this.abort&&this.abort.abort(),new B;if(s=(new Date).getTime(),s-n>500){const t=`Processed ${o} records`;e(Math.round(i.offset/r*95),null,i.offset,r,null,t),n=s}const c=this.filterRecord(t);if("done"===c){this.abort&&this.abort.abort();break}if("skip"!==c&&("skipContent"===c?await t.skipFully():await t.readFully(),o++,this.index(t,i),this.promises.length>0)){try{await Promise.all(this.promises)}catch(t){console.warn(t.toString())}this.promises=[]}}}catch(t){if(t instanceof B)throw t;e(Math.round(i.offset/r*95),`Sorry there was an error downloading. Please try again (${t})`,i.offset,r),console.warn(t)}return this.indexDone(i),e(95,null,i.offset,r),await this.finishIndexing(),e(100,null,r,r),this.metadata}async _finishLoad(){if(this.pages.length){for(const{page:t,textPromise:e}of Object.values(this.pageMap))if(e)try{t.text=await e}catch(t){console.warn("Error adding text: "+t.toString())}this.promises.push(this.db.addPages(this.pages))}this.lists.length&&this.promises.push(this.db.addCuratedPageLists(this.lists,"bookmarks","public"))}}class yo extends mo{constructor(t){super(t),this.detectPages=!1}addPage(){}async load(){const t=await new jt(this.reader).parse();if(!t)return null;const e=this.parseRecords(t,null);return e&&"revisit"!==t.warcType||await t.readFully(),e}}const wo="https://w3s.link/";function Ao(t){const{hostname:e,protocol:r,pathname:i}=new URL(t),n=r.slice(0,-1);if(!e){const[t,...e]=i.slice(2).split("/");return{type:n,cid:t,path:"/"+e.join("/")}}return{type:n,cid:e,path:i}}async function bo(t){return So(t)?t:To(t)?_o(t):t}async function vo(t){return new Response(t).blob()}async function*Eo(t){const e=await t.getReader();try{for(;;){const{done:t,value:r}=await e.read();if(t)return;yield r}}finally{e.releaseLock()}}function _o(t){let e=t;e.next||(e=t[Symbol.asyncIterator]());const r=new TextEncoder;return new ReadableStream({async pull(t){const{value:i,done:n}=await e.next();if(n)await t.close();else{let e=i;"string"==typeof e&&(e=r.encode(e)),await t.enqueue(e)}}})}async function xo(t){if(!t.ok){const e=await t.text(),r=t.status;throw new Error(`HTTP Error ${r}: ${e}`)}}async function Io({url:t,file:e,fileName:r="",parameterName:i="file",fetch:n=globalThis.fetch,signal:s}){const o=new FormData,a=new Headers;Co(t,a);const c=await async function(t){if(So(t))return await vo(t);if(To(t)){const e=_o(t);return await vo(e)}return t instanceof Blob?t:new Blob([t])}(e);r?o.append(i,c,r):o.append(i,c);const l=await n(t,{method:"POST",body:o,headers:a,signal:s});return await xo(l),l}function So(t){return"function"==typeof t.getReader}function To(t){return t[Symbol.asyncIterator]}function Co(t,e){if(t.password)if(t.username){const r=`Basic ${btoa(`${unescape(t.username)}:${unescape(t.password)}`)}`;e.append("Authorization",unescape(r)),t.username="",t.password=""}else{const r=`Bearer ${t.password}`;e.append("Authorization",unescape(r)),t.password=""}}async function Ro({url:t,fetch:e=globalThis.fetch,signal:r}){const i=await e(t,{method:"HEAD",signal:r});await xo(i);const n=i.headers.get("x-ipfs-datasize")||i.headers.get("Content-Length");return parseInt(n,10)}async function*ko({url:t,start:e,end:r,format:i,signal:n,fetch:s=globalThis.fetch}){const o=new Headers;Number.isInteger(e)&&(Number.isInteger(r)?o.set("Range",`bytes=${e}-${r}`):o.set("Range",`bytes=${e}-`));const a=new URL(t);i&&(o.set("Accept",`application/vnd.ipld.${i}`),o.set("cache-control","no-cache"));const c=await s(a.href,{headers:o,signal:n});await xo(c),yield*Eo(c.body)}async function*Bo({url:t,start:e,end:r,format:i,signal:n,gatewayURL:s=No()}){const o=function(t,e=No()){const{cid:r,path:i,type:n}=Ao(t);return new URL(`/${n}/${r}${i}`,e)}(t,s);yield*ko({url:o,start:e,end:r,format:i,signal:n})}function No(){if(!globalThis.location)return wo;const{pathname:t,hostname:e,protocol:r}=globalThis.location;if(t.startsWith("/ipfs/")||t.startsWith("/ipns/"))return`${r}//${e}/`;const[i,...n]=e.split(".");return 59===i.length&&n.length>=2?`${r}//${n.join(".")}/`:wo}let Oo=!1;const Do=[5001,45001,45002,45003,45004,45005],Po="https://api.web3.storage/",Lo="https://api.estuary.tech/",Uo="http://localhost:5001/",Mo="agregore",Fo="daemon",Ho="web3.storage",jo="estuary",Wo="readonly",Qo=[Mo,Fo,Ho,jo,Wo];class zo{get type(){return"invalid"}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){throw new Error("Not Implemented")}async getSize(t,e=null){throw new Error("Not Implemented")}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){throw new Error("Not Implemented")}async clear(t,e=null){throw new Error("Not Implemented")}}async function Vo({daemonURL:t,web3StorageToken:e,web3StorageURL:r=Po,estuaryToken:i,estuaryURL:n=Lo,publicGatewayURL:s=No(),readonly:o=!0,timeout:a=1e3,fetch:c=globalThis.fetch}={}){const l=[],h=[];if(h.push(async function(t=globalThis.fetch){try{return await t("ipfs://localhost/"),!0}catch(t){return Oo&&console.warn("Unable to detect Agregore",t),!1}}(c).then(t=>t&&l.push({type:Mo,fetch:c}))),h.push(async function(){const t=Do.map(t=>`http://localhost:${t}`);try{const r=await Promise.any(t.map(t=>ta(t).then(e=>{if(e)return t;throw new Error("Not found")})));return!!r&&($o&&!Zo&&(e=r,Zo=!0,globalThis.chrome.webRequest.onBeforeSendHeaders.addListener(t=>{const{requestHeaders:r}=t;for(const t of r)if("origin"===t.name.toLowerCase())return t.value=e,{requestHeaders:r};return t.requestHeaders.push({name:"Origin",value:e}),{requestHeaders:r}},{urls:[e+"/*"]},["blocking","requestHeaders","extraHeaders"])),r)}catch{return!1}var e}().then(t=>t&&l.push({type:Fo,url:t,fetch:c}))),t&&h.push(ta(t,a,c).then(e=>e&&l.push({type:Fo,url:t,fetch:c}))),i){const t=n,e=i;l.push({type:jo,url:t,authorization:e,fetch:c,publicGatewayURL:s})}if(e){const t=r,i=e;l.push({type:Ho,url:t,authorization:i,fetch:c,publicGatewayURL:s})}return o&&s&&l.push({type:Wo,fetch:c,publicGatewayURL:s}),await Promise.allSettled(h),l}async function Go({chooseOrder:t=Qo,...e}={}){const r=function(t,e=Qo){const r=t.filter(({type:t})=>e.includes(t)).sort(({type:t},{type:r})=>e.indexOf(t)-e.indexOf(r)),i=r[0];if(!i)throw new Error("Unable to find valid type");return i}(await Vo(e),t);return async function(t){const{type:e}=t;let r=null;if(e===Mo)r=new Xo(t.fetch||globalThis.fetch);else if(e===Fo)r=new Jo(t.url);else if(e===Ho)r=new Yo(t.authorization,t.url,t.publicGatewayURL);else if(e===jo)r=new Ko(t.authorization,t.url,t.publicGatewayURL);else{if(e!==Wo)throw new TypeError(`Unknown API type: ${e}.`);r=new qo(t.publicGatewayURL)}return r}(r)}class qo extends zo{constructor(t=No()){super(),this.gatewayURL=t}get type(){return Wo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){yield*Bo({url:t,start:e,end:r,format:n,gatewayURL:this.gatewayURL,signal:i})}async getSize(t,e=null){const{cid:r,path:i,type:n}=Ao(t);return Ro({url:new URL(`/${n}/${r}${i}`,this.gatewayURL),signal:e})}}class Ko extends qo{constructor(t,e=Lo,r=No()){super(r),this.authorization=t,this.url=e}get type(){return jo}async uploadCAR(t,e=null){throw new Error("Not Implemented")}async uploadFile(t,e,r=null){const i=new URL("/content/add",this.url);i.password=this.authorization;const n=await Io({url:i,file:t,fileName:e,parameterName:"data",signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Xo extends zo{constructor(t=globalThis.fetch){super(),this.fetch=t}get type(){return Mo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{fetch:s}=this;yield*ko({url:t,start:e,end:r,format:n,fetch:s,signal:i})}async getSize(t,e=null){const{fetch:r}=this;return Ro({url:t,fetch:r,signal:e})}async uploadCAR(t,e=null){const r=await bo(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/vnd.ipld.car"},signal:e,body:r});await xo(n);return(await n.text()).split("\n")}async uploadFile(t,e=null){const r=await bo(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/octet-stream"},signal:e,body:r});return await xo(n),n.headers.get("Location")}}class Yo extends qo{constructor(t,e=Po,r=No()){super(r),this.authorization=t,this.url=e}get type(){return Ho}async uploadCAR(t,e=null){const r=new URL("/car",this.url);r.password=this.authorization;const i=await async function({url:t,fileIterator:e,signal:r}){const i=new Headers;i.set("Content-Type","application/octet-stream"),Co(t,i);const n=await bo(e),s=await fetch(t,{method:"POST",signal:r,body:n,headers:i,duplex:"half"});return await xo(s),s}({url:r,fileIterator:t,signal:e});return(await i.text()).split("\n").filter(t=>t).map(t=>{const{cid:e}=JSON.parse(t);return`ipfs://${e}/`})}async uploadFile(t,{fileName:e="",signal:r=null}={}){const i=new URL("/upload",this.url);i.password=this.authorization;const n=await Io({url:i,file:t,fileName:e,signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Jo extends zo{constructor(t=Uo){super(),this.url=t}get type(){return Fo}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{cid:s,path:o,type:a}=Ao(t),c=new URL(`/api/v0/cat?arg=/${a}/${s}${o}`,this.url);if(e&&c.searchParams.set("offset",e),r&&c.searchParams.set("length",r-(e||0)+1),n)throw new Error("Format is unsupported on Kubo Daemons for now");const l=await fetch(c,{method:"POST",signal:i});await xo(l),yield*Eo(l.body)}async getSize(t,e=null){try{const{cid:r,path:i,type:n}=Ao(t),s=`/api/v0/file/ls?arg=/${n}/${r}${i}&size=true`,o=new URL(s,this.url),a=await fetch(o,{method:"POST",signal:e});await xo(a);const{Objects:c}=await a.json(),[{Size:l}]=Object.values(c);return l}catch(r){return Oo&&console.warn(r),this._getSizeWithDag(t,e)}}async _getSizeWithDag(t,e=null){const{cid:r,path:i,type:n}=Ao(t),s=new URL(`/api/v0/dag/stat?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await xo(o);const{Size:a}=await o.json();return parseInt(a,10)}async _pin(t,e=null){const{cid:r,path:i,type:n}=Ao(t),s=new URL(`/api/v0/pin/add?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await xo(o)}async _unpin(t,e=null){const{cid:r,path:i,type:n}=Ao(t),s=new URL(`/api/v0/pin/rm?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await xo(o)}async clear(t,e=null){return this._unpin(t,e)}async uploadCAR(t,e=null){const r=new URL("/api/v0/dag/import?allow-big-block=true&pin-roots=true",this.url),i=await Io({url:r,file:t,signal:e});return(await i.text()).split("\n").filter(t=>t).map(t=>{const{Root:e}=JSON.parse(t);return`ipfs://${e.Cid["/"]}/`})}async uploadFile(t,e="",r=null){const i=new URL("/api/v0/add?pin=true&cid-version=1&inline=false&raw-leaves=true",this.url),n=t.name&&t instanceof Blob;(e||n)&&i.searchParams.set("wrap-with-directory","true");const s=await Io({url:i,file:t,fileName:e,signal:r}),o=await s.text(),[a]=o.split("\n"),{Hash:c}=JSON.parse(a),l=`ipfs://${c}/`;return await this._pin(l,r),l}}let Zo=!1;const $o=!!(globalThis&&globalThis.chrome&&globalThis.chrome.webRequest&&globalThis.chrome.webRequest.onBeforeSendHeaders&&globalThis.chrome.webRequest.onBeforeSendHeaders.addListener);async function ta(t=Uo,e=1e3,r=globalThis.fetch){try{const i=new AbortController,{signal:n}=i;setTimeout(()=>i.abort(),e);const s=await r(new URL("/api/v0/version",t),{method:"POST",signal:n});return!!s.ok||!(!s.status||404===s.status)}catch(e){return Oo&&console.warn("Unable to detect Kubo Daemon",e,t),!1}}let ea=null;async function ra(t){return ea||(ea=await Go(t)),ea}const ia="https://helper-proxy.webrecorder.workers.dev";async function na(t){const{url:e}=t;if(t.extra?.arrayBuffer)return new ca(t.extra.arrayBuffer);const r=e.split(":",1)[0];switch(r){case"blob":return new la(t);case"http":case"https":return new oa(t);case"file":return new ha(t);case"googledrive":return new aa(t);case"ipfs":return new ua(t)}try{if(self.location&&r===self.location.protocol.split(":")[0])return new oa(t)}catch(t){}try{await fetch(`${r}://localhost`,{method:"HEAD"});try{new URL(e)}catch(r){let i=e.replace(":\\","//");i=i.replaceAll("\\","/"),t.url=i}return new oa(t)}catch(t){}throw new Error("Invalid URL: "+e)}class sa{canLoadOnDemand=!0;headers={};length=null;canDoNegativeRange=!1;constructor(t){this.canLoadOnDemand=t}async getRangeFromEnd(t,e,r){if(this.canDoNegativeRange)return await this.getRange(0,-t,e,r);{const i=await this.getLength();return t=Math.min(t,i),await this.getRange(i-t,t,e,r)}}getFullBuffer(){return null}}class oa extends sa{url;length;isValid=!1;ipfsAPI=null;loadingIPFS=null;arrayBuffer=null;constructor({url:t,headers:e,length:r=null,canLoadOnDemand:i=!1}){super(i),this.url=t,this.headers=e||{},this.length=r,this.canLoadOnDemand=i,this.canDoNegativeRange=!0}async doInitialFetch(t,e=!1){const r=new Headers(this.headers);e||r.set("Range","bytes=0-"),this.isValid=!1;let i=null,n=null;if(t)try{n=await this.retryFetch(this.url,{headers:r,method:"HEAD",cache:"no-store"}),200!==n.status&&206!=n.status||(this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=!0)}catch(t){}if(!this.isValid||!this.canLoadOnDemand){i=new AbortController;const e=i.signal;n=await this.retryFetch(this.url,{headers:r,signal:e,cache:"no-store"}),this.canLoadOnDemand=206===n.status||"bytes"===n.headers.get("Accept-Ranges"),this.isValid=206===n.status||200===n.status,t&&(i.abort(),i=null)}if(null===this.length&&n&&(this.length=Number(n.headers.get("Content-Length")),this.length||206!==n.status||this.parseLengthFromContentRange(n.headers)),null===this.length)try{const t=await fetch(`${ia}/c/${this.url}`),e=await t.json();e.size&&(this.length=e.size)}catch(t){console.log("Error fetching from helper: "+t)}if(this.length=Number(this.length||0),!this.canLoadOnDemand&&this.isValid&&this.length>0&&this.length<=o){const t=await this.retryFetch(this.url,{headers:r,cache:"no-store"});t.ok&&(this.arrayBuffer=new ca(new Uint8Array(await t.arrayBuffer())),this.canLoadOnDemand=!0,this.canDoNegativeRange=!1)}return{response:n,abort:i}}async getLength(){if(null===this.length){const{abort:t}=await this.doInitialFetch(!0);t&&t.abort()}return this.length||0}async getRange(t,e,r=!1,i=null){if(this.arrayBuffer)return await this.arrayBuffer.getRange(t,e,r);const n=new Headers(this.headers);e<0?n.set("Range",`bytes=${e}`):n.set("Range",`bytes=${t}-${t+e-1}`);const s={signal:i,headers:n,cache:"no-store"};let o;try{o=await this.retryFetch(this.url,s)}catch(t){throw new C(this.url)}if(206!=o.status){if(e<0){const t=await this.getLength();return-e>t&&(e=-t),await this.getRange(t+e,-e,r,i)}const t={url:this.url,status:o.status,resp:o};throw 401===o.status?new R(t):403==o.status?new k(t):new C(t)}return null===this.length&&this.parseLengthFromContentRange(o.headers),r?o.body||new Uint8Array:new Uint8Array(await o.arrayBuffer())}async retryFetch(t,e){let r=1e3;for(let i=0;i<20;i++){const i=await fetch(t,e);if(429!==i.status&&503!==i.status)return i;await O(r),r+=2e3}throw new Error("retryFetch failed")}parseLengthFromContentRange(t){const e=t.get("Content-Range");if(e){const t=e.split("/");2===t.length&&(this.length=parseInt(t[1]))}}getFullBuffer(){return this.arrayBuffer?.getFullBuffer()??null}}class aa extends sa{fileId;apiUrl;length;publicUrl=null;isValid=!1;constructor({url:t,headers:e,size:r,extra:i}){super(!0),this.fileId=t.slice(14),this.apiUrl=`https://www.googleapis.com/drive/v3/files/${this.fileId}?alt=media`,this.headers=e||{},i?.publicUrl&&(this.publicUrl=i.publicUrl),this.length=r||0}async getLength(){return this.length}async doInitialFetch(t){let e=null,r=null;if(this.publicUrl){e=new oa({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}if(!e.isValid&&(r?.abort&&r.abort.abort(),await this.refreshPublicUrl())){e=new oa({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}!e.isValid&&r?.abort&&r.abort.abort()}}return e?.isValid||(this.publicUrl=null,e=new oa({url:this.apiUrl,headers:this.headers,length:this.length}),r=await e.doInitialFetch(t)),this.isValid=e.isValid,!this.length&&e.length&&(this.length=e.length),r}async getRange(t,e,r=!1,i){let n=null;if(this.publicUrl){n=new oa({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(s){if(await this.refreshPublicUrl()){n=new oa({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(t){}}}this.publicUrl=null}n=new oa({url:this.apiUrl,headers:this.headers,length:this.length});let s=50;for(;s<2e3;)try{return await n.getRange(t,e,r,i)}catch(t){if(t instanceof k&&t.info.resp?.headers.get("content-type").startsWith("application/json")){const e=await t.info.resp.json();if(e.error?.errors&&"userRateLimitExceeded"===e.error.errors[0].reason){console.log(`Exponential backoff, waiting for: ${s}`),await O(s),s*=2;continue}}throw t}throw new C("not found")}async refreshPublicUrl(){try{const t=await fetch(`${ia}/g/${this.fileId}`),e=await t.json();if(e.url)return this.publicUrl=e.url,!0}catch(t){}return!1}}class ca extends sa{arrayBuffer;size;constructor(t){super(!0),this.arrayBuffer=t,this.size=t.length,this.length=this.size}get isValid(){return!!this.arrayBuffer}async getLength(){return this.size}async doInitialFetch(t=!1){const e=t?null:da(this.arrayBuffer);return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){const i=this.arrayBuffer.slice(t,t+e);return r?da(i):i}getFullBuffer(){return this.arrayBuffer}}class la extends sa{url;blob;size;arrayBuffer=null;constructor({url:t,blob:e=null,size:r=null}){super(!0),this.url=t,this.blob=e,this.size=this.blob?this.blob.size:r||0,this.length=this.size}get isValid(){return!!this.blob}async getLength(){if(!this.blob?.size){const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}return this.size}async doInitialFetch(t=!1){if(!this.blob)try{const t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.size,this.length=this.size}catch(t){throw console.warn(t),t}const e=this.blob.arrayBuffer?await this.blob.arrayBuffer():await this._getArrayBuffer();this.arrayBuffer=new Uint8Array(e);const r=t?null:da(this.arrayBuffer);return{response:new Response(r),abort:null}}async getRange(t,e,r=!1){this.arrayBuffer||await this.doInitialFetch(!0);const i=this.arrayBuffer.slice(t,t+e);return r?da(i):i}async _getArrayBuffer(){return new Promise((t,e)=>{const r=new FileReader;r.onloadend=()=>{r.result instanceof ArrayBuffer?t(r.result):e(r.result)},this.blob&&r.readAsArrayBuffer(this.blob)})}}class ha extends sa{url;file;size;fileHandle;constructor({blob:t,size:e,extra:r,url:i}){super(!0),this.url=i,this.file=null,this.size=t?t.size:e||0,this.length=this.size,this.fileHandle=r.fileHandle}get isValid(){return!!this.file}async getLength(){return void 0===this.size&&await this.initFileObject(),this.size}async initFileObject(){const t={mode:"read"};if("granted"!==await this.fileHandle.queryPermission(t)){if("granted"!==await this.fileHandle.requestPermission(t))throw new R({fileHandle:this.fileHandle})}this.file=await this.fileHandle.getFile(),this.size=this.file.size,this.length=this.size}async doInitialFetch(t=!1){this.file||await this.initFileObject();const e=t?null:this.file.stream();return{response:new Response(e),abort:null}}async getRange(t,e,r=!1){this.file||await this.initFileObject();const i=this.file.slice(t,t+e);return r?i.stream():new Uint8Array(await i.arrayBuffer())}}class ua extends sa{url;opts;length;isValid=!1;constructor({url:t,headers:e,...r}){super(!0),this.url=t,this.opts=r,this.headers=e||{},this.length=null}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length}async doInitialFetch(t){const e=await ra(this.opts);try{this.length=await e.getSize(this.url),this.isValid=null!==this.length}catch(t){console.warn(t),this.length=null,this.isValid=!1}let r=206;this.isValid||(r=404);const i=new AbortController,n=i.signal;let s;if(t||!this.isValid)s=new Uint8Array([]);else{s=pa(e.get(this.url,{signal:n}))}return{response:new Response(s,{status:r}),abort:i}}async getRange(t,e,r=!1,i=null){const n=(await ra(this.opts)).get(this.url,{start:t,end:t+e-1,signal:i});if(r)return pa(n);{const t=[];let e=0;for await(const r of n)t.push(r),e+=r.byteLength;return mt(t,e)}}}function pa(t){return new ReadableStream({start:async e=>{try{for await(const r of t)e.enqueue(r)}catch(t){console.log(t)}e.close()}})}function da(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}class fa extends uo{noCache;streamMap;constructor(t,e=!1){super(t),this.noCache=e,this.useRefCounts=!e,this.streamMap=new Map}isSameUrl(t,e,r){if(t===e)return!0;const i=decodeURIComponent(t),n=decodeURIComponent(e);return i===n||!(!r||!n.startsWith(i))}async loadPayload(t,e){let r=await super.loadPayload(t,e);if(r&&t.respHeaders&&("warc/revisit"!==t.mime||t.status>=300&&t.status<400))return r;const i=this.streamMap.get(t.url);if(i)return console.log(`Reuse stream for ${t.url}`),new wa(i);const{remote:n,hasher:s}=await this.loadRecordFromSource(t);if(!n)return console.log(`No WARC Record Loaded for: ${t.url}`),null;if(!this.isSameUrl(n.url,t.url,t.method))return console.log(`Wrong url: expected ${t.url}, got ${n.url}`),null;if(n.ts!==t.ts){if(1e3*Math.floor(n.ts/1e3)!==t.ts)return console.log(`Wrong timestamp: expected ${t.ts}, got ${n.ts}`),null}if(n.digest!==t.digest&&t.digest&&n.digest){const e=n.digest.split(":"),r=t.digest.split(":");2===e.length&&2===r.length&&r[1]===e[1]?t.digest=e[0]+":"+r[1]:console.log(`Wrong digest: expected ${t.digest}, got ${n.digest}`)}if(n.origURL){if(!r&&t.status>=300&&t.status<400&&n.respHeaders){if(t.respHeaders=n.respHeaders,!this.noCache)try{await this.db.put("resources",t)}catch(t){console.log(t)}return new Uint8Array([])}const i=await this.lookupUrl(n.origURL,n.origTS||0,{...e,noRevisits:!0});if(!i)return null;const s=e.depth||0;if(!r&&(s<2?r=await this.loadPayload(i,{...e,depth:s+1}):console.warn("Avoiding revisit lookup loop for: "+JSON.stringify(n)),!r))return null;if(n.respHeaders&&i.respHeaders?(t.respHeaders=n.respHeaders,i.respHeaders["content-length"]&&(t.respHeaders["content-length"]=i.respHeaders["content-length"])):t.respHeaders=i.respHeaders,t.mime=i.mime,t.digest=i.digest,i.extraOpts&&(t.extraOpts=i.extraOpts),!this.noCache){delete t.payload;try{await this.db.put("resources",t)}catch(t){console.log(t)}i.digest!==n.digest&&n.digest&&r instanceof Uint8Array&&await this.commitPayload(r,n.digest)}return r}const o=n.digest,a=t.source.length>=25e6;if(!this.noCache&&!a&&n.reader&&o&&(n.reader=new ba(this,n.reader,o,t.url,this.streamMap,s||null,t.recordDigest,t.source)),a&&console.log("Not cacheing, too big: "+t.url),r=n.payload||null,!r&&!n.reader)return null;try{r&&!this.noCache&&!a&&o&&await this.commitPayload(r,o)}catch(e){console.warn(`Payload Update Error: ${t.url}`),console.warn(e)}if(!(t.respHeaders&&t.digest||(t.respHeaders=n.respHeaders,t.digest=o,n.extraOpts&&(t.extraOpts=n.extraOpts),this.noCache||a)))try{await this.db.put("resources",t)}catch(e){console.warn(`Resource Update Error: ${t.url}`),console.warn(e)}return r||(n.reader||null)}async commitPayload(t,e){if(!t||0===t.length)return;const r=this.db.transaction(["payload","digestRef"],"readwrite");try{if(r.objectStore("payload").put({payload:t,digest:e}),this.useRefCounts){const i=await r.objectStore("digestRef").get(e);i&&(i.size=t.length,r.objectStore("digestRef").put(i))}await r.done}catch(t){console.warn("Payload Commit Error: "+t)}}}class ga extends fa{async loadRecordFromSource(t){const e=await this.loadSource(t.source),r=new yo(e);return{remote:await r.load()}}}class ma extends ga{loader;constructor(t,e,r=!1){super(t,r),this.loader=e}updateHeaders(t){this.loader.headers=t}async loadSource(t){const{start:e,length:r}=t;return await this.loader.getRange(e,r,!0)}}class ya extends ga{remoteUrlPrefix;headers;constructor(t,e,r,i=!1){super(t,i),this.remoteUrlPrefix=e,this.headers=r}updateHeaders(t){this.headers=t}async loadSource(t){const{start:e,length:r}=t,i=new Headers(this.headers),n=new URL(t.path,this.remoteUrlPrefix).href,s=await na({url:n,headers:i});return await s.getRange(e,r,!0)}}class wa extends xt{chunkstore;offset;size;constructor(t){super(),this.chunkstore=t,this.offset=0,this.size=this.chunkstore.totalLength}setLimitSkip(t=-1,e=0){this.offset=e,t>0&&(this.size=t)}setRangeAll(t){this.size=t}async*[Symbol.asyncIterator](){yield*this.chunkstore.getChunkIter()}getReadableStream(){console.log(`Offset: ${this.offset}, Size: ${this.size}`);const t=this.chunkstore.getChunkIter();return new St(t,this.size,this.offset).getReadableStream()}async readlineRaw(t){throw new Error("Method not implemented.")}}class Aa{chunks;size=0;done=!1;totalLength;nextChunk;_nextResolve=()=>{};constructor(t){this.chunks=[],this.size=0,this.done=!1,this.totalLength=t,this.nextChunk=new Promise(t=>this._nextResolve=t)}add(t){this.chunks.push(t),this.size+=t.byteLength,this._nextResolve(!0),this.nextChunk=new Promise(t=>this._nextResolve=t)}concatChunks(){return this._nextResolve(!1),this.done=!0,mt(this.chunks,this.size)}async*getChunkIter(){for(const t of this.chunks)yield t;let t=this.chunks.length;for(;!this.done&&await this.nextChunk;)for(;t<this.chunks.length;t++)yield this.chunks[t]}}class ba extends xt{db;reader;digest;url;commit=!0;fullbuff=null;hasher;expectedHash;source;isRange=!1;totalLength=-1;fixedSize=0;streamMap;constructor(t,e,r,i="",n,s,o,a){super(),this.db=t,this.reader=e,this.digest=r,this.url=i,this.commit=!0,this.fullbuff=null,this.hasher=s,this.expectedHash=o,this.source=a,this.isRange=!1,this.totalLength=-1,this.streamMap=n}setRangeAll(t){this.isRange=!0,this.totalLength=t}setLimitSkip(t=-1,e=0){this.isRange=!0,2!==t||0!==e?((-1!=t||e>0)&&(this.commit=!1),this.reader.setLimitSkip(t,e)):this.fixedSize=2}async*[Symbol.asyncIterator](){let t=null;this.commit&&(t=new Aa(this.totalLength),this.isRange&&(console.log(`Store stream for ${this.url}, ${this.totalLength}`),this.streamMap.set(this.url,t)));for await(const e of this.reader)t&&t.add(e),yield e;if(0!==this.reader.limit)console.warn(`Expected payload not consumed, ${this.reader.limit} bytes left`);else{if(!this.isRange&&this.hasher&&this.expectedHash&&this.source){const t=this.hasher.getHash(),{path:e,start:r,length:i}=this.source,n=`${e}:${r}-${i}`;this.db.addVerifyData(n,this.expectedHash,t)}this.commit&&(this.fullbuff=t.concatChunks(),await this.db.commitPayload(this.fullbuff,this.digest))}this.commit&&this.isRange&&(this.streamMap.delete(this.url),console.log(`Delete stream for ${this.url}`))}async _consumeIter(t){for await(const e of t);}async readFully(){return this.fullbuff||await this._consumeIter(this),this.fullbuff}getReadableStream(){const t=super.getReadableStream();if(!this.commit)return t;const e=t.tee();return this._consumeIter(It.fromReadable(e[1].getReader())),this.fixedSize?this.getFixedSizeReader(e[0].getReader(),this.fixedSize):e[0]}getFixedSizeReader(t,e){return new ReadableStream({async start(r){const{value:i,done:n}=await t.read();n||r.enqueue(i.slice(0,e)),r.close()}})}async readlineRaw(t){throw new Error("Method not implemented.")}}class va extends go{har;pageRefs;constructor(t){super(),this.har="string"==typeof t?JSON.parse(t):t,this.pageRefs={}}async load(t){this.db=t,this.parseEntries(this.har),this.parsePages(this.har),await this.finishIndexing()}parsePages(t){for(const e of t.log.pages){if(!e.pageTimings?.onLoad)continue;let t;t=e.title&&(e.title.startsWith("http:")||e.title.startsWith("https:"))?e.title:this.pageRefs[e.id];const r=e.title||t,i=e.startedDateTime;this.addPage({url:t,date:i,title:r})}}parseEntries(t){for(const e of t.log.entries){const t=new Date(e.startedDateTime).getTime(),r={};for(const{name:t,value:i}of e.response.headers)r[t]=i;let i=null;const n=new TextEncoder;if(e.response.content?.text)try{i=Uint8Array.from(atob(e.response.content.text),t=>t.charCodeAt(0))}catch(t){i=e.response.content.text}else{const t=r["Content-Length"];t&&"0"!==t?(console.log(`Warning: Content-Length ${t} but no content found for ${e.request.url}`),i=n.encode("Sorry, the HAR file did not include the content for this resource.")):i=Uint8Array.from([])}this.addResource({url:e.request.url,ts:t,status:e.response.status,respHeaders:r,payload:i}),e.pageref&&!this.pageRefs[e.pageref]&&(this.pageRefs[e.pageref]=e.request.url)}}}const Ea="req.http:cookie",_a=["text/javascript","application/javascript","application/x-javascript","application/json","application/octet-stream","text/html"];class xa extends mo{cdxindexer=null;sourceExtra;shaPrefix;constructor(t,e,r,i={},n="sha256:"){super(t,e,r),this.sourceExtra=i,this.shaPrefix=n}filterRecord(t){switch(t.warcType){case"warcinfo":case"revisit":case"request":return null;case"metadata":return this.shouldIndexMetadataRecord(t)?null:"skip"}const e=t.warcTargetURI,r=t.warcDate?new Date(t.warcDate).getTime():Date.now();return this.pageMap[r+"/"+e]?(t._isPage=!0,null):null}index(t,e){return t&&(t._offset=e.offset,t._length=e.recordLength),super.index(t,e)}indexReqResponse(t,e,r){if(t._isPage)return super.indexReqResponse(t,e,r);if("warcinfo"===t.warcType)return void this.parseWarcInfo(t);this.cdxindexer||(this.cdxindexer=new Jt({noSurt:!0}));const i=this.cdxindexer.indexRecordPair(t,e,r,"");if(i){if(206===i.status){const e=t.httpHeaders?.headers;if(e&&!this.isFullRangeRequest(e))return}if(e&&e.httpHeaders){const t=e.httpHeaders.headers.get("cookie");t&&(i[Ea]=t)}this.addCdx(i)}}getSource(t){return{...this.sourceExtra,path:t.filename,start:Number(t.offset),length:Number(t.length)}}addCdx(t){const{url:e,mime:r}=t,i=Number(t.status)||200,n=f(t.timestamp).getTime(),s=this.getSource(t);let{digest:o,recordDigest:a}=t;o&&-1===o.indexOf(":")&&(o=this.shaPrefix+o);const c={url:e,ts:n,status:i,digest:o,recordDigest:a,mime:r,loaded:!1,source:s};if(t.method){if("HEAD"===t.method||"OPTIONS"===t.method)return;c.method=t.method}if(t[Ea]&&(c[Ea]=t[Ea]),t.method&&"GET"!==t.method){let e;c.url=dt(t.url,t.requestBody||"",t.method),e=r&&_a.includes(r)?8192:512,c.url.length>e&&(c.url=c.url.slice(0,e))}this.addResource(c)}}class Ia extends xa{async load(t,e,r){this.db=t;let i=this.reader;i.iterLines||(i=new It(this.reader));let n=0;for await(const t of i.iterLines()){let i,s,o;n+=t.length;let a=t.trimEnd();if(!a.startsWith("{")){const t=a.indexOf(" {");if(t<0)continue;[s,o]=a.split(" ",2),a=a.slice(t)}try{i=JSON.parse(a)}catch(t){console.log("JSON Parser error on: "+a);continue}i.timestamp=o,i.url||(i.url=s,console.warn(`URL missing, using urlkey ${s}`)),e&&r&&this.isBatchFull()&&e(Math.round(n/r*100),null,n,r),this.addCdx(i)}return await this.finishIndexing(),e&&e(100,null,r,r),{}}}const Sa=4294967295,Ta=65535;class Ca{start;length;constructor(t,e){this.start=t,this.length=e}}let Ra=!1;class ka extends It{hasher=null;hashInited=!1;hash="";constructor(t,e="gzip",r=!1){super(t,e,r)}async initHasher(){try{this.hasher=await lt()}catch(t){console.warn("Hasher init failed, not checking hashes: "+t.toString())}finally{this.hashInited=!0}}async _loadNext(){const t=await super._loadNext();return t?(this.hashInited||await this.initHasher(),this.hasher&&this.hasher.update(t)):this.hasher&&(this.hash="sha256:"+this.hasher.digest("hex"),this.hasher=null),t}getHash(){return this.hash}}class Ba{loader;entriesUpdated=!1;entries=null;constructor(t,e=null){this.loader=t,this.entries=e,this.entriesUpdated=!1}async load(t=!1){if(!this.entries||t){const t=65558,e=await this.loader.getRangeFromEnd(t,!1),r=Math.max(await this.loader.getLength()-t,0);try{this.entries=this._loadEntries(e,r)}catch(t){if(t instanceof Ca){const r=mt([await this.loader.getRange(t.start,t.length,!1),e],t.length+length);this.entries=this._loadEntries(r,t.start)}}this.entriesUpdated=!0}return this.entries}_loadEntries(t,e){const r=t.byteLength;if(!r)return null;const i=new DataView(t.buffer,t.byteOffset,t.byteLength),n=new TextDecoder("utf8"),s=new TextDecoder("ascii"),o={};let a=0,c=0,l=r;for(let e=r-22,n=Math.max(0,e-Ta);e>=n;--e)if(80===t[e]&&75===t[e+1]&&5===t[e+2]&&6===t[e+3]){l=e,c=i.getUint32(e+16,!0),a=i.getUint16(e+8,!0);break}if(c===Sa||a===Ta){if(117853008!==i.getUint32(l-20,!0))return console.warn("invalid zip64 EOCD locator"),null;const t=this.getUint64(i,l-12,!0)-e;if(101075792!==i.getUint32(t,!0))return console.warn("invalid zip64 EOCD record"),null;a=this.getUint64(i,t+32,!0),c=this.getUint64(i,t+48,!0)}if(c>=e)c-=e;else if(c<e&&c>0)throw new Ca(c,e-c);if(c>=r||c<0)for(c=-1,a=Ta;++c<r&&80!==t[c]&&75!==t[c+1]&&1!==t[c+2]&&2!==t[c+3];);for(l-=46;--a>=0&&c<l&&1347092738==i.getUint32(c);){const e=i.getUint16(c+8,!0);let r=i.getUint32(c+20,!0),a=i.getUint32(c+24,!0);const l=i.getUint16(c+28,!0),h=i.getUint16(c+30,!0),u=i.getUint16(c+32,!0),p=8===i.getUint16(c+10,!0);let d=i.getUint32(c+42,!0);const f=(2048&e?n:s).decode(t.subarray(c+46,c+46+l));if(r===Sa||a===Sa||d===Sa){let t=c+46+l;const e=t+h-3;for(;t<e;){const e=i.getUint16(t,!0);let n=i.getUint16(t+2,!0);t+=4,1===e&&(a===Sa&&n>=8&&(a=this.getUint64(i,t,!0),t+=8,n-=8),r===Sa&&n>=8&&(r=this.getUint64(i,t,!0),t+=8,n-=8),d===Sa&&n>=8&&(d=this.getUint64(i,t,!0),t+=8,n-=8)),t+=n}}f.endsWith("/")||(o[f]={filename:f,deflate:p,uncompressedSize:a,compressedSize:r,localEntryOffset:d},h||(o[f].offset=30+l+d)),c+=46+l+h+u}return o}getCompressedSize(t){if(null===this.entries)return 0;const e=this.entries[t];return e?isNaN(e.compressedSize)?0:e.compressedSize:0}async loadFile(t,{offset:e=0,length:r=-1,signal:i=null,unzip:n=!1,computeHash:s=!1}={}){if(null===this.entries&&await this.load(),!this.entries)throw new Error("entries not loaded");const o=this.entries[t];if(!o)throw new Error("file not found in zip: "+t);if(void 0===o.offset){const t=await this.loader.getRange(o.localEntryOffset,30,!1),e=new DataView(t.buffer,t.byteOffset,t.byteLength),r=e.getUint16(26,!0),i=e.getUint16(28,!0);o.offset=30+r+i+o.localEntryOffset,this.entriesUpdated=!0}r=r<0?o.compressedSize:Math.min(r,o.compressedSize-e),e+=o.offset;const a=(await this.loader.getRange(e,r,!0,i)).getReader();let c=null;let l;return l=n?o.deflate?new It(new It(a,"deflate")):new It(a):new It(a,o.deflate?"deflate":null),l=(t=>s&&Ra?(c=new ka(t),c):t)(l),{reader:l,hasher:c}}getUint64(t,e,r){const i=t.getUint32(e,r),n=t.getUint32(e+4,r),s=r?i+2**32*n:2**32*i+n;return Number.isSafeInteger(s)||console.warn(s,"exceeds MAX_SAFE_INTEGER. Precision may be lost"),s}}class Na extends sa{zipreader;filename;constructor(t,e){super(!0),this.zipreader=t,this.filename=e}get isValid(){return!0}async doInitialFetch(t=!1){await this.zipreader.load(),this.length=this.zipreader.getCompressedSize(this.filename);let e=null;if(!t){const{reader:t}=await this.zipreader.loadFile(this.filename,{unzip:!0});e=pa(t)}return{response:new Response(e),abort:null}}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length||0}async getRange(t,e,r=!1,i=null){const{reader:n}=await this.zipreader.loadFile(this.filename,{offset:t,length:e,signal:i,unzip:!0});return r?pa(n):await n.readFully()}}const Oa="wacz";class Da{waczname;hash;path;crawlId;parent;fileType;indexType;entries;nonSurt;loader;zipreader;constructor({waczname:t,hash:e,path:r,parent:i=null,entries:n=null,fileType:s=Oa,indexType:o=0,nonSurt:a=!1,loader:c=null,crawlId:l}){this.waczname=t,this.hash=e,this.path=r,this.loader=c,this.parent=i,this.zipreader=null,this.entries=n,this.indexType=o,this.fileType=s,this.nonSurt=a,this.crawlId=l}markAsMultiWACZ(){this.fileType="multi-wacz"}async init(t){if(t&&(this.path=t),this.loader)return await this.initFromLoader(this.loader);if(!this.parent)throw new Error("must have either loader or parent");const e=await this.parent.createLoader({url:this.path});return await this.initFromLoader(e)}async initFromLoader(t){return this.zipreader=new Ba(t,this.entries),this.entries||(this.entries=await this.zipreader.load()||{}),this.entries}async loadFile(t,e){return this.zipreader||await this.init(),await this.zipreader.loadFile(t,e)}containsFile(t){return this.entries&&!!this.entries[t]}getSizeOf(t){return this.zipreader?this.zipreader.getCompressedSize(t):0}serialize(){return{waczname:this.waczname,hash:this.hash,path:this.path,crawlId:this.crawlId,entries:this.entries,indexType:this.indexType,nonSurt:this.nonSurt}}async save(t,e=!1){const r=this.zipreader;(e||r&&r.entriesUpdated)&&(await t.put("waczfiles",this.serialize()),r&&(r.entriesUpdated=!1))}iterContainedFiles(){return this.entries?Object.keys(this.entries):[]}getLoadPath(t){return this.waczname+"#!/"+t}getName(t){return this.waczname+"#!/"+t}async createLoader(t){const{url:e}=t,r=e.lastIndexOf("#!/");if(this.zipreader||await this.init(),r>=0)return new Na(this.zipreader,e.slice(r+3));throw new Error("invalid wacz url: "+e)}} 47 + /*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT */ 48 + function Pa(t){return null==t}var La={isNothing:Pa,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:Pa(t)?[]:[t]},repeat:function(t,e){var r,i="";for(r=0;r<e;r+=1)i+=t;return i},isNegativeZero:function(t){return 0===t&&Number.NEGATIVE_INFINITY===1/t},extend:function(t,e){var r,i,n,s;if(e)for(r=0,i=(s=Object.keys(e)).length;r<i;r+=1)t[n=s[r]]=e[n];return t}};function Ua(t,e){var r="",i=t.reason||"(unknown reason)";return t.mark?(t.mark.name&&(r+='in "'+t.mark.name+'" '),r+="("+(t.mark.line+1)+":"+(t.mark.column+1)+")",!e&&t.mark.snippet&&(r+="\n\n"+t.mark.snippet),i+" "+r):i}function Ma(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=Ua(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}Ma.prototype=Object.create(Error.prototype),Ma.prototype.constructor=Ma,Ma.prototype.toString=function(t){return this.name+": "+Ua(this,t)};var Fa=Ma;function Ha(t,e,r,i,n){var s="",o="",a=Math.floor(n/2)-1;return i-e>a&&(e=i-a+(s=" ... ").length),r-i>a&&(r=i+a-(o=" ...").length),{str:s+t.slice(e,r).replace(/\t/g,"→")+o,pos:i-e+s.length}}function ja(t,e){return La.repeat(" ",e-t.length)+t}var Wa=function(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),"number"!=typeof e.indent&&(e.indent=1),"number"!=typeof e.linesBefore&&(e.linesBefore=3),"number"!=typeof e.linesAfter&&(e.linesAfter=2);for(var r,i=/\r?\n|\r|\0/g,n=[0],s=[],o=-1;r=i.exec(t.buffer);)s.push(r.index),n.push(r.index+r[0].length),t.position<=r.index&&o<0&&(o=n.length-2);o<0&&(o=n.length-1);var a,c,l="",h=Math.min(t.line+e.linesAfter,s.length).toString().length,u=e.maxLength-(e.indent+h+3);for(a=1;a<=e.linesBefore&&!(o-a<0);a++)c=Ha(t.buffer,n[o-a],s[o-a],t.position-(n[o]-n[o-a]),u),l=La.repeat(" ",e.indent)+ja((t.line-a+1).toString(),h)+" | "+c.str+"\n"+l;for(c=Ha(t.buffer,n[o],s[o],t.position,u),l+=La.repeat(" ",e.indent)+ja((t.line+1).toString(),h)+" | "+c.str+"\n",l+=La.repeat("-",e.indent+h+3+c.pos)+"^\n",a=1;a<=e.linesAfter&&!(o+a>=s.length);a++)c=Ha(t.buffer,n[o+a],s[o+a],t.position-(n[o]-n[o+a]),u),l+=La.repeat(" ",e.indent)+ja((t.line+a+1).toString(),h)+" | "+c.str+"\n";return l.replace(/\n$/,"")},Qa=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],za=["scalar","sequence","mapping"];var Va=function(t,e){if(e=e||{},Object.keys(e).forEach(function(e){if(-1===Qa.indexOf(e))throw new Fa('Unknown option "'+e+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(t){return t},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=function(t){var e={};return null!==t&&Object.keys(t).forEach(function(r){t[r].forEach(function(t){e[String(t)]=r})}),e}(e.styleAliases||null),-1===za.indexOf(this.kind))throw new Fa('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function Ga(t,e){var r=[];return t[e].forEach(function(t){var e=r.length;r.forEach(function(r,i){r.tag===t.tag&&r.kind===t.kind&&r.multi===t.multi&&(e=i)}),r[e]=t}),r}function qa(t){return this.extend(t)}qa.prototype.extend=function(t){var e=[],r=[];if(t instanceof Va)r.push(t);else if(Array.isArray(t))r=r.concat(t);else{if(!t||!Array.isArray(t.implicit)&&!Array.isArray(t.explicit))throw new Fa("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");t.implicit&&(e=e.concat(t.implicit)),t.explicit&&(r=r.concat(t.explicit))}e.forEach(function(t){if(!(t instanceof Va))throw new Fa("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new Fa("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(t.multi)throw new Fa("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),r.forEach(function(t){if(!(t instanceof Va))throw new Fa("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(qa.prototype);return i.implicit=(this.implicit||[]).concat(e),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=Ga(i,"implicit"),i.compiledExplicit=Ga(i,"explicit"),i.compiledTypeMap=function(){var t,e,r={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}};function i(t){t.multi?(r.multi[t.kind].push(t),r.multi.fallback.push(t)):r[t.kind][t.tag]=r.fallback[t.tag]=t}for(t=0,e=arguments.length;t<e;t+=1)arguments[t].forEach(i);return r}(i.compiledImplicit,i.compiledExplicit),i};var Ka=qa,Xa=new Va("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),Ya=new Va("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),Ja=new Va("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}}),Za=new Ka({explicit:[Xa,Ya,Ja]});var $a=new Va("tag:yaml.org,2002:null",{kind:"scalar",resolve:function(t){if(null===t)return!0;var e=t.length;return 1===e&&"~"===t||4===e&&("null"===t||"Null"===t||"NULL"===t)},construct:function(){return null},predicate:function(t){return null===t},represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});var tc=new Va("tag:yaml.org,2002:bool",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e=t.length;return 4===e&&("true"===t||"True"===t||"TRUE"===t)||5===e&&("false"===t||"False"===t||"FALSE"===t)},construct:function(t){return"true"===t||"True"===t||"TRUE"===t},predicate:function(t){return"[object Boolean]"===Object.prototype.toString.call(t)},represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function ec(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function rc(t){return 48<=t&&t<=55}function ic(t){return 48<=t&&t<=57}var nc=new Va("tag:yaml.org,2002:int",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r=t.length,i=0,n=!1;if(!r)return!1;if("-"!==(e=t[i])&&"+"!==e||(e=t[++i]),"0"===e){if(i+1===r)return!0;if("b"===(e=t[++i])){for(i++;i<r;i++)if("_"!==(e=t[i])){if("0"!==e&&"1"!==e)return!1;n=!0}return n&&"_"!==e}if("x"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!ec(t.charCodeAt(i)))return!1;n=!0}return n&&"_"!==e}if("o"===e){for(i++;i<r;i++)if("_"!==(e=t[i])){if(!rc(t.charCodeAt(i)))return!1;n=!0}return n&&"_"!==e}}if("_"===e)return!1;for(;i<r;i++)if("_"!==(e=t[i])){if(!ic(t.charCodeAt(i)))return!1;n=!0}return!(!n||"_"===e)},construct:function(t){var e,r=t,i=1;if(-1!==r.indexOf("_")&&(r=r.replace(/_/g,"")),"-"!==(e=r[0])&&"+"!==e||("-"===e&&(i=-1),e=(r=r.slice(1))[0]),"0"===r)return 0;if("0"===e){if("b"===r[1])return i*parseInt(r.slice(2),2);if("x"===r[1])return i*parseInt(r.slice(2),16);if("o"===r[1])return i*parseInt(r.slice(2),8)}return i*parseInt(r,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&t%1==0&&!La.isNegativeZero(t)},represent:{binary:function(t){return t>=0?"0b"+t.toString(2):"-0b"+t.toString(2).slice(1)},octal:function(t){return t>=0?"0o"+t.toString(8):"-0o"+t.toString(8).slice(1)},decimal:function(t){return t.toString(10)},hexadecimal:function(t){return t>=0?"0x"+t.toString(16).toUpperCase():"-0x"+t.toString(16).toUpperCase().slice(1)}},defaultStyle:"decimal",styleAliases:{binary:[2,"bin"],octal:[8,"oct"],decimal:[10,"dec"],hexadecimal:[16,"hex"]}}),sc=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$");var oc=/^[-+]?[0-9]+e/;var ac=new Va("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!sc.test(t)||"_"===t[t.length-1])},construct:function(t){var e,r;return r="-"===(e=t.replace(/_/g,"").toLowerCase())[0]?-1:1,"+-".indexOf(e[0])>=0&&(e=e.slice(1)),".inf"===e?1===r?Number.POSITIVE_INFINITY:Number.NEGATIVE_INFINITY:".nan"===e?NaN:r*parseFloat(e,10)},predicate:function(t){return"[object Number]"===Object.prototype.toString.call(t)&&(t%1!=0||La.isNegativeZero(t))},represent:function(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".nan";case"uppercase":return".NAN";case"camelcase":return".NaN"}else if(Number.POSITIVE_INFINITY===t)switch(e){case"lowercase":return".inf";case"uppercase":return".INF";case"camelcase":return".Inf"}else if(Number.NEGATIVE_INFINITY===t)switch(e){case"lowercase":return"-.inf";case"uppercase":return"-.INF";case"camelcase":return"-.Inf"}else if(La.isNegativeZero(t))return"-0.0";return r=t.toString(10),oc.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"}),cc=Za.extend({implicit:[$a,tc,nc,ac]}),lc=cc,hc=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),uc=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9]?)-([0-9][0-9]?)(?:[Tt]|[ \\t]+)([0-9][0-9]?):([0-9][0-9]):([0-9][0-9])(?:\\.([0-9]*))?(?:[ \\t]*(Z|([-+])([0-9][0-9]?)(?::([0-9][0-9]))?))?$");var pc=new Va("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==hc.exec(t)||null!==uc.exec(t))},construct:function(t){var e,r,i,n,s,o,a,c,l=0,h=null;if(null===(e=hc.exec(t))&&(e=uc.exec(t)),null===e)throw new Error("Date resolve error");if(r=+e[1],i=+e[2]-1,n=+e[3],!e[4])return new Date(Date.UTC(r,i,n));if(s=+e[4],o=+e[5],a=+e[6],e[7]){for(l=e[7].slice(0,3);l.length<3;)l+="0";l=+l}return e[9]&&(h=6e4*(60*+e[10]+ +(e[11]||0)),"-"===e[9]&&(h=-h)),c=new Date(Date.UTC(r,i,n,s,o,a,l)),h&&c.setTime(c.getTime()-h),c},instanceOf:Date,represent:function(t){return t.toISOString()}});var dc=new Va("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),fc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r";var gc=new Va("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r,i=0,n=t.length,s=fc;for(r=0;r<n;r++)if(!((e=s.indexOf(t.charAt(r)))>64)){if(e<0)return!1;i+=6}return i%8==0},construct:function(t){var e,r,i=t.replace(/[\r\n=]/g,""),n=i.length,s=fc,o=0,a=[];for(e=0;e<n;e++)e%4==0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)),o=o<<6|s.indexOf(i.charAt(e));return 0===(r=n%4*6)?(a.push(o>>16&255),a.push(o>>8&255),a.push(255&o)):18===r?(a.push(o>>10&255),a.push(o>>2&255)):12===r&&a.push(o>>4&255),new Uint8Array(a)},predicate:function(t){return"[object Uint8Array]"===Object.prototype.toString.call(t)},represent:function(t){var e,r,i="",n=0,s=t.length,o=fc;for(e=0;e<s;e++)e%3==0&&e&&(i+=o[n>>18&63],i+=o[n>>12&63],i+=o[n>>6&63],i+=o[63&n]),n=(n<<8)+t[e];return 0===(r=s%3)?(i+=o[n>>18&63],i+=o[n>>12&63],i+=o[n>>6&63],i+=o[63&n]):2===r?(i+=o[n>>10&63],i+=o[n>>4&63],i+=o[n<<2&63],i+=o[64]):1===r&&(i+=o[n>>2&63],i+=o[n<<4&63],i+=o[64],i+=o[64]),i}}),mc=Object.prototype.hasOwnProperty,yc=Object.prototype.toString;var wc=new Va("tag:yaml.org,2002:omap",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,r,i,n,s,o=[],a=t;for(e=0,r=a.length;e<r;e+=1){if(i=a[e],s=!1,"[object Object]"!==yc.call(i))return!1;for(n in i)if(mc.call(i,n)){if(s)return!1;s=!0}if(!s)return!1;if(-1!==o.indexOf(n))return!1;o.push(n)}return!0},construct:function(t){return null!==t?t:[]}}),Ac=Object.prototype.toString;var bc=new Va("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:function(t){if(null===t)return!0;var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1){if(i=o[e],"[object Object]"!==Ac.call(i))return!1;if(1!==(n=Object.keys(i)).length)return!1;s[e]=[n[0],i[n[0]]]}return!0},construct:function(t){if(null===t)return[];var e,r,i,n,s,o=t;for(s=new Array(o.length),e=0,r=o.length;e<r;e+=1)i=o[e],n=Object.keys(i),s[e]=[n[0],i[n[0]]];return s}}),vc=Object.prototype.hasOwnProperty;var Ec=new Va("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,r=t;for(e in r)if(vc.call(r,e)&&null!==r[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),_c=lc.extend({implicit:[pc,dc],explicit:[gc,wc,bc,Ec]}),xc=Object.prototype.hasOwnProperty,Ic=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Sc=/[\x85\u2028\u2029]/,Tc=/[,\[\]\{\}]/,Cc=/^(?:!|!!|![a-z\-]+!)$/i,Rc=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function kc(t){return Object.prototype.toString.call(t)}function Bc(t){return 10===t||13===t}function Nc(t){return 9===t||32===t}function Oc(t){return 9===t||32===t||10===t||13===t}function Dc(t){return 44===t||91===t||93===t||123===t||125===t}function Pc(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function Lc(t){return 120===t?2:117===t?4:85===t?8:0}function Uc(t){return 48<=t&&t<=57?t-48:-1}function Mc(t){return 48===t?"\0":97===t?"":98===t?"\b":116===t||9===t?"\t":110===t?"\n":118===t?"\v":102===t?"\f":114===t?"\r":101===t?"":32===t?" ":34===t?'"':47===t?"/":92===t?"\\":78===t?"…":95===t?" ":76===t?"\u2028":80===t?"\u2029":""}function Fc(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}function Hc(t,e,r){"__proto__"===e?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}for(var jc=new Array(256),Wc=new Array(256),Qc=0;Qc<256;Qc++)jc[Qc]=Mc(Qc)?1:0,Wc[Qc]=Mc(Qc);function zc(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||_c,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function Vc(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=Wa(r),new Fa(e,r)}function Gc(t,e){throw Vc(t,e)}function qc(t,e){t.onWarning&&t.onWarning.call(null,Vc(t,e))}var Kc={YAML:function(t,e,r){var i,n,s;null!==t.version&&Gc(t,"duplication of %YAML directive"),1!==r.length&&Gc(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&Gc(t,"ill-formed argument of the YAML directive"),n=parseInt(i[1],10),s=parseInt(i[2],10),1!==n&&Gc(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=s<2,1!==s&&2!==s&&qc(t,"unsupported YAML version of the document")},TAG:function(t,e,r){var i,n;2!==r.length&&Gc(t,"TAG directive accepts exactly two arguments"),i=r[0],n=r[1],Cc.test(i)||Gc(t,"ill-formed tag handle (first argument) of the TAG directive"),xc.call(t.tagMap,i)&&Gc(t,'there is a previously declared suffix for "'+i+'" tag handle'),Rc.test(n)||Gc(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){Gc(t,"tag prefix is malformed: "+n)}t.tagMap[i]=n}};function Xc(t,e,r,i){var n,s,o,a;if(e<r){if(a=t.input.slice(e,r),i)for(n=0,s=a.length;n<s;n+=1)9===(o=a.charCodeAt(n))||32<=o&&o<=1114111||Gc(t,"expected valid JSON character");else Ic.test(a)&&Gc(t,"the stream contains non-printable characters");t.result+=a}}function Yc(t,e,r,i){var n,s,o,a;for(La.isObject(r)||Gc(t,"cannot merge mappings; the provided source object is unacceptable"),o=0,a=(n=Object.keys(r)).length;o<a;o+=1)s=n[o],xc.call(e,s)||(Hc(e,s,r[s]),i[s]=!0)}function Jc(t,e,r,i,n,s,o,a,c){var l,h;if(Array.isArray(n))for(l=0,h=(n=Array.prototype.slice.call(n)).length;l<h;l+=1)Array.isArray(n[l])&&Gc(t,"nested arrays are not supported inside keys"),"object"==typeof n&&"[object Object]"===kc(n[l])&&(n[l]="[object Object]");if("object"==typeof n&&"[object Object]"===kc(n)&&(n="[object Object]"),n=String(n),null===e&&(e={}),"tag:yaml.org,2002:merge"===i)if(Array.isArray(s))for(l=0,h=s.length;l<h;l+=1)Yc(t,e,s[l],r);else Yc(t,e,s,r);else t.json||xc.call(r,n)||!xc.call(e,n)||(t.line=o||t.line,t.lineStart=a||t.lineStart,t.position=c||t.position,Gc(t,"duplicated mapping key")),Hc(e,n,s),delete r[n];return e}function Zc(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):Gc(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function $c(t,e,r){for(var i=0,n=t.input.charCodeAt(t.position);0!==n;){for(;Nc(n);)9===n&&-1===t.firstTabInLine&&(t.firstTabInLine=t.position),n=t.input.charCodeAt(++t.position);if(e&&35===n)do{n=t.input.charCodeAt(++t.position)}while(10!==n&&13!==n&&0!==n);if(!Bc(n))break;for(Zc(t),n=t.input.charCodeAt(t.position),i++,t.lineIndent=0;32===n;)t.lineIndent++,n=t.input.charCodeAt(++t.position)}return-1!==r&&0!==i&&t.lineIndent<r&&qc(t,"deficient indentation"),i}function tl(t){var e,r=t.position;return!(45!==(e=t.input.charCodeAt(r))&&46!==e||e!==t.input.charCodeAt(r+1)||e!==t.input.charCodeAt(r+2)||(r+=3,0!==(e=t.input.charCodeAt(r))&&!Oc(e)))}function el(t,e){1===e?t.result+=" ":e>1&&(t.result+=La.repeat("\n",e-1))}function rl(t,e){var r,i,n=t.tag,s=t.anchor,o=[],a=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=o),i=t.input.charCodeAt(t.position);0!==i&&(-1!==t.firstTabInLine&&(t.position=t.firstTabInLine,Gc(t,"tab characters must not be used in indentation")),45===i)&&Oc(t.input.charCodeAt(t.position+1));)if(a=!0,t.position++,$c(t,!0,-1)&&t.lineIndent<=e)o.push(null),i=t.input.charCodeAt(t.position);else if(r=t.line,sl(t,e,3,!1,!0),o.push(t.result),$c(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==i)Gc(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break;return!!a&&(t.tag=n,t.anchor=s,t.kind="sequence",t.result=o,!0)}function il(t){var e,r,i,n,s=!1,o=!1;if(33!==(n=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&Gc(t,"duplication of a tag property"),60===(n=t.input.charCodeAt(++t.position))?(s=!0,n=t.input.charCodeAt(++t.position)):33===n?(o=!0,r="!!",n=t.input.charCodeAt(++t.position)):r="!",e=t.position,s){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&62!==n);t.position<t.length?(i=t.input.slice(e,t.position),n=t.input.charCodeAt(++t.position)):Gc(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!Oc(n);)33===n&&(o?Gc(t,"tag suffix cannot contain exclamation marks"):(r=t.input.slice(e-1,t.position+1),Cc.test(r)||Gc(t,"named tag handle cannot contain such characters"),o=!0,e=t.position+1)),n=t.input.charCodeAt(++t.position);i=t.input.slice(e,t.position),Tc.test(i)&&Gc(t,"tag suffix cannot contain flow indicator characters")}i&&!Rc.test(i)&&Gc(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(e){Gc(t,"tag name is malformed: "+i)}return s?t.tag=i:xc.call(t.tagMap,r)?t.tag=t.tagMap[r]+i:"!"===r?t.tag="!"+i:"!!"===r?t.tag="tag:yaml.org,2002:"+i:Gc(t,'undeclared tag handle "'+r+'"'),!0}function nl(t){var e,r;if(38!==(r=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&Gc(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!Oc(r)&&!Dc(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Gc(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function sl(t,e,r,i,n){var s,o,a,c,l,h,u,p,d,f=1,g=!1,m=!1;if(null!==t.listener&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,s=o=a=4===r||3===r,i&&$c(t,!0,-1)&&(g=!0,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)),1===f)for(;il(t)||nl(t);)$c(t,!0,-1)?(g=!0,a=s,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)):a=!1;if(a&&(a=g||n),1!==f&&4!==r||(p=1===r||2===r?e:e+1,d=t.position-t.lineStart,1===f?a&&(rl(t,d)||function(t,e,r){var i,n,s,o,a,c,l,h=t.tag,u=t.anchor,p={},d=Object.create(null),f=null,g=null,m=null,y=!1,w=!1;if(-1!==t.firstTabInLine)return!1;for(null!==t.anchor&&(t.anchorMap[t.anchor]=p),l=t.input.charCodeAt(t.position);0!==l;){if(y||-1===t.firstTabInLine||(t.position=t.firstTabInLine,Gc(t,"tab characters must not be used in indentation")),i=t.input.charCodeAt(t.position+1),s=t.line,63!==l&&58!==l||!Oc(i)){if(o=t.line,a=t.lineStart,c=t.position,!sl(t,r,2,!1,!0))break;if(t.line===s){for(l=t.input.charCodeAt(t.position);Nc(l);)l=t.input.charCodeAt(++t.position);if(58===l)Oc(l=t.input.charCodeAt(++t.position))||Gc(t,"a whitespace character is expected after the key-value separator within a block mapping"),y&&(Jc(t,p,d,f,g,null,o,a,c),f=g=m=null),w=!0,y=!1,n=!1,f=t.tag,g=t.result;else{if(!w)return t.tag=h,t.anchor=u,!0;Gc(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!w)return t.tag=h,t.anchor=u,!0;Gc(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===l?(y&&(Jc(t,p,d,f,g,null,o,a,c),f=g=m=null),w=!0,y=!0,n=!0):y?(y=!1,n=!0):Gc(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,l=i;if((t.line===s||t.lineIndent>e)&&(y&&(o=t.line,a=t.lineStart,c=t.position),sl(t,e,4,!0,n)&&(y?g=t.result:m=t.result),y||(Jc(t,p,d,f,g,m,o,a,c),f=g=m=null),$c(t,!0,-1),l=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&0!==l)Gc(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return y&&Jc(t,p,d,f,g,null,o,a,c),w&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=p),w}(t,d,p))||function(t,e){var r,i,n,s,o,a,c,l,h,u,p,d,f=!0,g=t.tag,m=t.anchor,y=Object.create(null);if(91===(d=t.input.charCodeAt(t.position)))o=93,l=!1,s=[];else{if(123!==d)return!1;o=125,l=!0,s={}}for(null!==t.anchor&&(t.anchorMap[t.anchor]=s),d=t.input.charCodeAt(++t.position);0!==d;){if($c(t,!0,e),(d=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=g,t.anchor=m,t.kind=l?"mapping":"sequence",t.result=s,!0;f?44===d&&Gc(t,"expected the node content, but found ','"):Gc(t,"missed comma between flow collection entries"),p=null,a=c=!1,63===d&&Oc(t.input.charCodeAt(t.position+1))&&(a=c=!0,t.position++,$c(t,!0,e)),r=t.line,i=t.lineStart,n=t.position,sl(t,e,1,!1,!0),u=t.tag,h=t.result,$c(t,!0,e),d=t.input.charCodeAt(t.position),!c&&t.line!==r||58!==d||(a=!0,d=t.input.charCodeAt(++t.position),$c(t,!0,e),sl(t,e,1,!1,!0),p=t.result),l?Jc(t,s,y,u,h,p,r,i,n):a?s.push(Jc(t,null,y,u,h,p,r,i,n)):s.push(h),$c(t,!0,e),44===(d=t.input.charCodeAt(t.position))?(f=!0,d=t.input.charCodeAt(++t.position)):f=!1}Gc(t,"unexpected end of the stream within a flow collection")}(t,p)?m=!0:(o&&function(t,e){var r,i,n,s,o=1,a=!1,c=!1,l=e,h=0,u=!1;if(124===(s=t.input.charCodeAt(t.position)))i=!1;else{if(62!==s)return!1;i=!0}for(t.kind="scalar",t.result="";0!==s;)if(43===(s=t.input.charCodeAt(++t.position))||45===s)1===o?o=43===s?3:2:Gc(t,"repeat of a chomping mode identifier");else{if(!((n=Uc(s))>=0))break;0===n?Gc(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):c?Gc(t,"repeat of an indentation width identifier"):(l=e+n-1,c=!0)}if(Nc(s)){do{s=t.input.charCodeAt(++t.position)}while(Nc(s));if(35===s)do{s=t.input.charCodeAt(++t.position)}while(!Bc(s)&&0!==s)}for(;0!==s;){for(Zc(t),t.lineIndent=0,s=t.input.charCodeAt(t.position);(!c||t.lineIndent<l)&&32===s;)t.lineIndent++,s=t.input.charCodeAt(++t.position);if(!c&&t.lineIndent>l&&(l=t.lineIndent),Bc(s))h++;else{if(t.lineIndent<l){3===o?t.result+=La.repeat("\n",a?1+h:h):1===o&&a&&(t.result+="\n");break}for(i?Nc(s)?(u=!0,t.result+=La.repeat("\n",a?1+h:h)):u?(u=!1,t.result+=La.repeat("\n",h+1)):0===h?a&&(t.result+=" "):t.result+=La.repeat("\n",h):t.result+=La.repeat("\n",a?1+h:h),a=!0,c=!0,h=0,r=t.position;!Bc(s)&&0!==s;)s=t.input.charCodeAt(++t.position);Xc(t,r,t.position,!1)}}return!0}(t,p)||function(t,e){var r,i,n;if(39!==(r=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,i=n=t.position;0!==(r=t.input.charCodeAt(t.position));)if(39===r){if(Xc(t,i,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;i=t.position,t.position++,n=t.position}else Bc(r)?(Xc(t,i,n,!0),el(t,$c(t,!1,e)),i=n=t.position):t.position===t.lineStart&&tl(t)?Gc(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);Gc(t,"unexpected end of the stream within a single quoted scalar")}(t,p)||function(t,e){var r,i,n,s,o,a;if(34!==(a=t.input.charCodeAt(t.position)))return!1;for(t.kind="scalar",t.result="",t.position++,r=i=t.position;0!==(a=t.input.charCodeAt(t.position));){if(34===a)return Xc(t,r,t.position,!0),t.position++,!0;if(92===a){if(Xc(t,r,t.position,!0),Bc(a=t.input.charCodeAt(++t.position)))$c(t,!1,e);else if(a<256&&jc[a])t.result+=Wc[a],t.position++;else if((o=Lc(a))>0){for(n=o,s=0;n>0;n--)(o=Pc(a=t.input.charCodeAt(++t.position)))>=0?s=(s<<4)+o:Gc(t,"expected hexadecimal character");t.result+=Fc(s),t.position++}else Gc(t,"unknown escape sequence");r=i=t.position}else Bc(a)?(Xc(t,r,i,!0),el(t,$c(t,!1,e)),r=i=t.position):t.position===t.lineStart&&tl(t)?Gc(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}Gc(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?m=!0:!function(t){var e,r,i;if(42!==(i=t.input.charCodeAt(t.position)))return!1;for(i=t.input.charCodeAt(++t.position),e=t.position;0!==i&&!Oc(i)&&!Dc(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&Gc(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),xc.call(t.anchorMap,r)||Gc(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],$c(t,!0,-1),!0}(t)?function(t,e,r){var i,n,s,o,a,c,l,h,u=t.kind,p=t.result;if(Oc(h=t.input.charCodeAt(t.position))||Dc(h)||35===h||38===h||42===h||33===h||124===h||62===h||39===h||34===h||37===h||64===h||96===h)return!1;if((63===h||45===h)&&(Oc(i=t.input.charCodeAt(t.position+1))||r&&Dc(i)))return!1;for(t.kind="scalar",t.result="",n=s=t.position,o=!1;0!==h;){if(58===h){if(Oc(i=t.input.charCodeAt(t.position+1))||r&&Dc(i))break}else if(35===h){if(Oc(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&tl(t)||r&&Dc(h))break;if(Bc(h)){if(a=t.line,c=t.lineStart,l=t.lineIndent,$c(t,!1,-1),t.lineIndent>=e){o=!0,h=t.input.charCodeAt(t.position);continue}t.position=s,t.line=a,t.lineStart=c,t.lineIndent=l;break}}o&&(Xc(t,n,s,!1),el(t,t.line-a),n=s=t.position,o=!1),Nc(h)||(s=t.position+1),h=t.input.charCodeAt(++t.position)}return Xc(t,n,s,!1),!!t.result||(t.kind=u,t.result=p,!1)}(t,p,1===r)&&(m=!0,null===t.tag&&(t.tag="?")):(m=!0,null===t.tag&&null===t.anchor||Gc(t,"alias node should not have any properties")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(m=a&&rl(t,d))),null===t.tag)null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);else if("?"===t.tag){for(null!==t.result&&"scalar"!==t.kind&&Gc(t,'unacceptable node kind for !<?> tag; it should be "scalar", not "'+t.kind+'"'),c=0,l=t.implicitTypes.length;c<l;c+=1)if((u=t.implicitTypes[c]).resolve(t.result)){t.result=u.construct(t.result),t.tag=u.tag,null!==t.anchor&&(t.anchorMap[t.anchor]=t.result);break}}else if("!"!==t.tag){if(xc.call(t.typeMap[t.kind||"fallback"],t.tag))u=t.typeMap[t.kind||"fallback"][t.tag];else for(u=null,c=0,l=(h=t.typeMap.multi[t.kind||"fallback"]).length;c<l;c+=1)if(t.tag.slice(0,h[c].tag.length)===h[c].tag){u=h[c];break}u||Gc(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&Gc(t,"unacceptable node kind for !<"+t.tag+'> tag; it should be "'+u.kind+'", not "'+t.kind+'"'),u.resolve(t.result,t.tag)?(t.result=u.construct(t.result,t.tag),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):Gc(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}function ol(t){var e,r,i,n,s=t.position,o=!1;for(t.version=null,t.checkLineBreaks=t.legacy,t.tagMap=Object.create(null),t.anchorMap=Object.create(null);0!==(n=t.input.charCodeAt(t.position))&&($c(t,!0,-1),n=t.input.charCodeAt(t.position),!(t.lineIndent>0||37!==n));){for(o=!0,n=t.input.charCodeAt(++t.position),e=t.position;0!==n&&!Oc(n);)n=t.input.charCodeAt(++t.position);for(i=[],(r=t.input.slice(e,t.position)).length<1&&Gc(t,"directive name must not be less than one character in length");0!==n;){for(;Nc(n);)n=t.input.charCodeAt(++t.position);if(35===n){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&!Bc(n));break}if(Bc(n))break;for(e=t.position;0!==n&&!Oc(n);)n=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==n&&Zc(t),xc.call(Kc,r)?Kc[r](t,r,i):qc(t,'unknown document directive "'+r+'"')}$c(t,!0,-1),0===t.lineIndent&&45===t.input.charCodeAt(t.position)&&45===t.input.charCodeAt(t.position+1)&&45===t.input.charCodeAt(t.position+2)?(t.position+=3,$c(t,!0,-1)):o&&Gc(t,"directives end mark is expected"),sl(t,t.lineIndent-1,4,!1,!0),$c(t,!0,-1),t.checkLineBreaks&&Sc.test(t.input.slice(s,t.position))&&qc(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&tl(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,$c(t,!0,-1)):t.position<t.length-1&&Gc(t,"end of the stream or a document separator is expected")}function al(t,e){e=e||{},0!==(t=String(t)).length&&(10!==t.charCodeAt(t.length-1)&&13!==t.charCodeAt(t.length-1)&&(t+="\n"),65279===t.charCodeAt(0)&&(t=t.slice(1)));var r=new zc(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,Gc(r,"null byte is not allowed in input")),r.input+="\0";32===r.input.charCodeAt(r.position);)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)ol(r);return r.documents}var cl={loadAll:function(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);var i=al(t,r);if("function"!=typeof e)return i;for(var n=0,s=i.length;n<s;n+=1)e(i[n])},load:function(t,e){var r=al(t,e);if(0!==r.length){if(1===r.length)return r[0];throw new Fa("expected a single document in the stream, but found more")}}},ll=Object.prototype.toString,hl=Object.prototype.hasOwnProperty,ul=65279,pl={0:"\\0",7:"\\a",8:"\\b",9:"\\t",10:"\\n",11:"\\v",12:"\\f",13:"\\r",27:"\\e",34:'\\"',92:"\\\\",133:"\\N",160:"\\_",8232:"\\L",8233:"\\P"},dl=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],fl=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function gl(t){var e,r,i;if(e=t.toString(16).toUpperCase(),t<=255)r="x",i=2;else if(t<=65535)r="u",i=4;else{if(!(t<=4294967295))throw new Fa("code point within a string may not be greater than 0xFFFFFFFF");r="U",i=8}return"\\"+r+La.repeat("0",i-e.length)+e}function ml(t){this.schema=t.schema||_c,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=La.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=function(t,e){var r,i,n,s,o,a,c;if(null===e)return{};for(r={},n=0,s=(i=Object.keys(e)).length;n<s;n+=1)o=i[n],a=String(e[o]),"!!"===o.slice(0,2)&&(o="tag:yaml.org,2002:"+o.slice(2)),(c=t.compiledTypeMap.fallback[o])&&hl.call(c.styleAliases,a)&&(a=c.styleAliases[a]),r[o]=a;return r}(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType='"'===t.quotingType?2:1,this.forceQuotes=t.forceQuotes||!1,this.replacer="function"==typeof t.replacer?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function yl(t,e){for(var r,i=La.repeat(" ",e),n=0,s=-1,o="",a=t.length;n<a;)-1===(s=t.indexOf("\n",n))?(r=t.slice(n),n=a):(r=t.slice(n,s+1),n=s+1),r.length&&"\n"!==r&&(o+=i),o+=r;return o}function wl(t,e){return"\n"+La.repeat(" ",t.indent*e)}function Al(t){return 32===t||9===t}function bl(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&t!==ul||65536<=t&&t<=1114111}function vl(t){return bl(t)&&t!==ul&&13!==t&&10!==t}function El(t,e,r){var i=vl(t),n=i&&!Al(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!n)||vl(e)&&!Al(e)&&35===t||58===e&&n}function _l(t,e){var r,i=t.charCodeAt(e);return i>=55296&&i<=56319&&e+1<t.length&&(r=t.charCodeAt(e+1))>=56320&&r<=57343?1024*(i-55296)+r-56320+65536:i}function xl(t){return/^\n* /.test(t)}function Il(t,e,r,i,n,s,o,a){var c,l,h=0,u=null,p=!1,d=!1,f=-1!==i,g=-1,m=bl(l=_l(t,0))&&l!==ul&&!Al(l)&&45!==l&&63!==l&&58!==l&&44!==l&&91!==l&&93!==l&&123!==l&&125!==l&&35!==l&&38!==l&&42!==l&&33!==l&&124!==l&&61!==l&&62!==l&&39!==l&&34!==l&&37!==l&&64!==l&&96!==l&&function(t){return!Al(t)&&58!==t}(_l(t,t.length-1));if(e||o)for(c=0;c<t.length;h>=65536?c+=2:c++){if(!bl(h=_l(t,c)))return 5;m=m&&El(h,u,a),u=h}else{for(c=0;c<t.length;h>=65536?c+=2:c++){if(10===(h=_l(t,c)))p=!0,f&&(d=d||c-g-1>i&&" "!==t[g+1],g=c);else if(!bl(h))return 5;m=m&&El(h,u,a),u=h}d=d||f&&c-g-1>i&&" "!==t[g+1]}return p||d?r>9&&xl(t)?5:o?2===s?5:2:d?4:3:!m||o||n(t)?2===s?5:2:1}function Sl(t,e,r,i,n){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==dl.indexOf(e)||fl.test(e)))return 2===t.quotingType?'"'+e+'"':"'"+e+"'";var s=t.indent*Math.max(1,r),o=-1===t.lineWidth?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-s),a=i||t.flowLevel>-1&&r>=t.flowLevel;switch(Il(e,a,t.indent,o,function(e){return function(t,e){var r,i;for(r=0,i=t.implicitTypes.length;r<i;r+=1)if(t.implicitTypes[r].resolve(e))return!0;return!1}(t,e)},t.quotingType,t.forceQuotes&&!i,n)){case 1:return e;case 2:return"'"+e.replace(/'/g,"''")+"'";case 3:return"|"+Tl(e,t.indent)+Cl(yl(e,s));case 4:return">"+Tl(e,t.indent)+Cl(yl(function(t,e){var r,i,n=/(\n+)([^\n]*)/g,s=(a=t.indexOf("\n"),a=-1!==a?a:t.length,n.lastIndex=a,Rl(t.slice(0,a),e)),o="\n"===t[0]||" "===t[0];var a;for(;i=n.exec(t);){var c=i[1],l=i[2];r=" "===l[0],s+=c+(o||r||""===l?"":"\n")+Rl(l,e),o=r}return s}(e,o),s));case 5:return'"'+function(t){for(var e,r="",i=0,n=0;n<t.length;i>=65536?n+=2:n++)i=_l(t,n),!(e=pl[i])&&bl(i)?(r+=t[n],i>=65536&&(r+=t[n+1])):r+=e||gl(i);return r}(e)+'"';default:throw new Fa("impossible error: invalid scalar style")}}()}function Tl(t,e){var r=xl(t)?String(e):"",i="\n"===t[t.length-1];return r+(i&&("\n"===t[t.length-2]||"\n"===t)?"+":i?"":"-")+"\n"}function Cl(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function Rl(t,e){if(""===t||" "===t[0])return t;for(var r,i,n=/ [^ ]/g,s=0,o=0,a=0,c="";r=n.exec(t);)(a=r.index)-s>e&&(i=o>s?o:a,c+="\n"+t.slice(s,i),s=i+1),o=a;return c+="\n",t.length-s>e&&o>s?c+=t.slice(s,o)+"\n"+t.slice(o+1):c+=t.slice(s),c.slice(1)}function kl(t,e,r,i){var n,s,o,a="",c=t.tag;for(n=0,s=r.length;n<s;n+=1)o=r[n],t.replacer&&(o=t.replacer.call(r,String(n),o)),(Nl(t,e+1,o,!0,!0,!1,!0)||void 0===o&&Nl(t,e+1,null,!0,!0,!1,!0))&&(i&&""===a||(a+=wl(t,e)),t.dump&&10===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=c,t.dump=a||"[]"}function Bl(t,e,r){var i,n,s,o,a,c;for(s=0,o=(n=r?t.explicitTypes:t.implicitTypes).length;s<o;s+=1)if(((a=n[s]).instanceOf||a.predicate)&&(!a.instanceOf||"object"==typeof e&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r?a.multi&&a.representName?t.tag=a.representName(e):t.tag=a.tag:t.tag="?",a.represent){if(c=t.styleMap[a.tag]||a.defaultStyle,"[object Function]"===ll.call(a.represent))i=a.represent(e,c);else{if(!hl.call(a.represent,c))throw new Fa("!<"+a.tag+'> tag resolver accepts not "'+c+'" style');i=a.represent[c](e,c)}t.dump=i}return!0}return!1}function Nl(t,e,r,i,n,s,o){t.tag=null,t.dump=r,Bl(t,r,!1)||Bl(t,r,!0);var a,c=ll.call(t.dump),l=i;i&&(i=t.flowLevel<0||t.flowLevel>e);var h,u,p="[object Object]"===c||"[object Array]"===c;if(p&&(u=-1!==(h=t.duplicates.indexOf(r))),(null!==t.tag&&"?"!==t.tag||u||2!==t.indent&&e>0)&&(n=!1),u&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(p&&u&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),"[object Object]"===c)i&&0!==Object.keys(t.dump).length?(!function(t,e,r,i){var n,s,o,a,c,l,h="",u=t.tag,p=Object.keys(r);if(!0===t.sortKeys)p.sort();else if("function"==typeof t.sortKeys)p.sort(t.sortKeys);else if(t.sortKeys)throw new Fa("sortKeys must be a boolean or a function");for(n=0,s=p.length;n<s;n+=1)l="",i&&""===h||(l+=wl(t,e)),a=r[o=p[n]],t.replacer&&(a=t.replacer.call(r,o,a)),Nl(t,e+1,o,!0,!0,!0)&&((c=null!==t.tag&&"?"!==t.tag||t.dump&&t.dump.length>1024)&&(t.dump&&10===t.dump.charCodeAt(0)?l+="?":l+="? "),l+=t.dump,c&&(l+=wl(t,e)),Nl(t,e+1,a,!0,c)&&(t.dump&&10===t.dump.charCodeAt(0)?l+=":":l+=": ",h+=l+=t.dump));t.tag=u,t.dump=h||"{}"}(t,e,t.dump,n),u&&(t.dump="&ref_"+h+t.dump)):(!function(t,e,r){var i,n,s,o,a,c="",l=t.tag,h=Object.keys(r);for(i=0,n=h.length;i<n;i+=1)a="",""!==c&&(a+=", "),t.condenseFlow&&(a+='"'),o=r[s=h[i]],t.replacer&&(o=t.replacer.call(r,s,o)),Nl(t,e,s,!1,!1)&&(t.dump.length>1024&&(a+="? "),a+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Nl(t,e,o,!1,!1)&&(c+=a+=t.dump));t.tag=l,t.dump="{"+c+"}"}(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else if("[object Array]"===c)i&&0!==t.dump.length?(t.noArrayIndent&&!o&&e>0?kl(t,e-1,t.dump,n):kl(t,e,t.dump,n),u&&(t.dump="&ref_"+h+t.dump)):(!function(t,e,r){var i,n,s,o="",a=t.tag;for(i=0,n=r.length;i<n;i+=1)s=r[i],t.replacer&&(s=t.replacer.call(r,String(i),s)),(Nl(t,e,s,!1,!1)||void 0===s&&Nl(t,e,null,!1,!1))&&(""!==o&&(o+=","+(t.condenseFlow?"":" ")),o+=t.dump);t.tag=a,t.dump="["+o+"]"}(t,e,t.dump),u&&(t.dump="&ref_"+h+" "+t.dump));else{if("[object String]"!==c){if("[object Undefined]"===c)return!1;if(t.skipInvalid)return!1;throw new Fa("unacceptable kind of an object to dump "+c)}"?"!==t.tag&&Sl(t,t.dump,e,s,l)}null!==t.tag&&"?"!==t.tag&&(a=encodeURI("!"===t.tag[0]?t.tag.slice(1):t.tag).replace(/!/g,"%21"),a="!"===t.tag[0]?"!"+a:"tag:yaml.org,2002:"===a.slice(0,18)?"!!"+a.slice(18):"!<"+a+">",t.dump=a+" "+t.dump)}return!0}function Ol(t,e){var r,i,n=[],s=[];for(Dl(t,n,s),r=0,i=s.length;r<i;r+=1)e.duplicates.push(n[s[r]]);e.usedDuplicates=new Array(i)}function Dl(t,e,r){var i,n,s;if(null!==t&&"object"==typeof t)if(-1!==(n=e.indexOf(t)))-1===r.indexOf(n)&&r.push(n);else if(e.push(t),Array.isArray(t))for(n=0,s=t.length;n<s;n+=1)Dl(t[n],e,r);else for(n=0,s=(i=Object.keys(t)).length;n<s;n+=1)Dl(t[i[n]],e,r)}function Pl(t,e){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}var Ll={Type:Va,Schema:Ka,FAILSAFE_SCHEMA:Za,JSON_SCHEMA:cc,CORE_SCHEMA:lc,DEFAULT_SCHEMA:_c,load:cl.load,loadAll:cl.loadAll,dump:{dump:function(t,e){var r=new ml(e=e||{});r.noRefs||Ol(t,r);var i=t;return r.replacer&&(i=r.replacer.call({"":i},"",i)),Nl(r,0,i,!0,!0)?r.dump+"\n":""}}.dump,YAMLException:Fa,types:{binary:gc,float:ac,map:Ja,null:$a,pairs:bc,set:Ec,timestamp:pc,bool:tc,int:nc,merge:dc,omap:wc,seq:Ya,str:Xa},safeLoad:Pl("safeLoad","load"),safeLoadAll:Pl("safeLoadAll","loadAll"),safeDump:Pl("safeDump","dump")},Ul=r(7526),Ml=(r(4741),r(152));function Fl(t,e){let r=0;if(1===t.length)return t[0];for(let i=t.length-1;i>=0;i--)r+=t[t.length-1-i]*Math.pow(2,e*i);return r}function Hl(t,e,r=-1){const i=r;let n=t,s=0,o=Math.pow(2,e);for(let r=1;r<8;r++){if(t<o){let t;if(i<0)t=new ArrayBuffer(r),s=r;else{if(i<r)return new ArrayBuffer(0);t=new ArrayBuffer(i),s=i}const o=new Uint8Array(t);for(let t=r-1;t>=0;t--){const r=Math.pow(2,t*e);o[s-t-1]=Math.floor(n/r),n-=o[s-t-1]*r}return t}o*=Math.pow(2,e)}return new ArrayBuffer(0)}function jl(...t){let e=0,r=0;for(const r of t)e+=r.length;const i=new ArrayBuffer(e),n=new Uint8Array(i);for(const e of t)n.set(e,r),r+=e.length;return n}function Wl(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=255===t[0]&&128&t[1],r=0===t[0]&&!(128&t[1]);(e||r)&&this.warnings.push("Needlessly long format")}const e=new ArrayBuffer(this.valueHex.byteLength),r=new Uint8Array(e);for(let t=0;t<this.valueHex.byteLength;t++)r[t]=0;r[0]=128&t[0];const i=Fl(r,8),n=new ArrayBuffer(this.valueHex.byteLength),s=new Uint8Array(n);for(let e=0;e<this.valueHex.byteLength;e++)s[e]=t[e];s[0]&=127;return Fl(s,8)-i}function Ql(t,e){const r=t.toString(10);if(e<r.length)return"";const i=e-r.length,n=new Array(i);for(let t=0;t<i;t++)n[t]="0";return n.join("").concat(r)}Math.log(2); 49 + /*! 50 + * Copyright (c) 2014, GMO GlobalSign 51 + * Copyright (c) 2015-2022, Peculiar Ventures 52 + * All rights reserved. 53 + * 54 + * Author 2014-2019, Yury Strozhevsky 55 + * 56 + * Redistribution and use in source and binary forms, with or without modification, 57 + * are permitted provided that the following conditions are met: 58 + * 59 + * * Redistributions of source code must retain the above copyright notice, this 60 + * list of conditions and the following disclaimer. 61 + * 62 + * * Redistributions in binary form must reproduce the above copyright notice, this 63 + * list of conditions and the following disclaimer in the documentation and/or 64 + * other materials provided with the distribution. 65 + * 66 + * * Neither the name of the copyright holder nor the names of its 67 + * contributors may be used to endorse or promote products derived from 68 + * this software without specific prior written permission. 69 + * 70 + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND 71 + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 72 + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 73 + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR 74 + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES 75 + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 76 + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON 77 + * ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 78 + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 79 + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 80 + * 81 + */ 82 + function zl(){if("undefined"==typeof BigInt)throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function Vl(t){let e=0,r=0;for(let r=0;r<t.length;r++){e+=t[r].byteLength}const i=new Uint8Array(e);for(let e=0;e<t.length;e++){const n=t[e];i.set(new Uint8Array(n),r),r+=n.byteLength}return i.buffer}function Gl(t,e,r,i){return e instanceof Uint8Array?e.byteLength?r<0?(t.error="Wrong parameter: inputOffset less than zero",!1):i<0?(t.error="Wrong parameter: inputLength less than zero",!1):!(e.byteLength-r-i<0)||(t.error="End of input reached before message was fully decoded (inconsistent offset and length values)",!1):(t.error="Wrong parameter: inputBuffer has zero length",!1):(t.error="Wrong parameter: inputBuffer must be 'Uint8Array'",!1)}class ql{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return Vl(this.items)}}const Kl=[new Uint8Array([1])],Xl="0123456789",Yl="name",Jl="valueHexView",Zl="isHexOnly",$l="idBlock",th="tagClass",eh="tagNumber",rh="isConstructed",ih="fromBER",nh="toBER",sh="local",oh="",ah=new ArrayBuffer(0),ch=new Uint8Array(0),lh="EndOfContent",hh="OCTET STRING",uh="BIT STRING";function ph(t){var e;return(e=class extends t{constructor(...t){var e;super(...t);const r=t[0]||{};this.isHexOnly=null!==(e=r.isHexOnly)&&void 0!==e&&e,this.valueHexView=r.valueHex?Ml._H.toUint8Array(r.valueHex):ch}get valueHex(){return this.valueHexView.slice().buffer}set valueHex(t){this.valueHexView=new Uint8Array(t)}fromBER(t,e,r){const i=t instanceof ArrayBuffer?new Uint8Array(t):t;if(!Gl(this,i,e,r))return-1;const n=e+r;return this.valueHexView=i.subarray(e,n),this.valueHexView.length?(this.blockLength=r,n):(this.warnings.push("Zero buffer length"),e)}toBER(t=!1){return this.isHexOnly?t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.byteLength===this.valueHexView.buffer.byteLength?this.valueHexView.buffer:this.valueHexView.slice().buffer:(this.error="Flag 'isHexOnly' is not set, abort",ah)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:Ml.U$.ToHex(this.valueHexView)}}}).NAME="hexBlock",e}class dh{constructor({blockLength:t=0,error:e=oh,warnings:r=[],valueBeforeDecode:i=ch}={}){this.blockLength=t,this.error=e,this.warnings=r,this.valueBeforeDecodeView=Ml._H.toUint8Array(i)}static blockName(){return this.NAME}get valueBeforeDecode(){return this.valueBeforeDecodeView.slice().buffer}set valueBeforeDecode(t){this.valueBeforeDecodeView=new Uint8Array(t)}toJSON(){return{blockName:this.constructor.NAME,blockLength:this.blockLength,error:this.error,warnings:this.warnings,valueBeforeDecode:Ml.U$.ToHex(this.valueBeforeDecodeView)}}}dh.NAME="baseBlock";class fh extends dh{fromBER(t,e,r){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}toBER(t,e){throw TypeError("User need to make a specific function in a class which extends 'ValueBlock'")}}fh.NAME="valueBlock";class gh extends(ph(dh)){constructor({idBlock:t={}}={}){var e,r,i,n;super(),t?(this.isHexOnly=null!==(e=t.isHexOnly)&&void 0!==e&&e,this.valueHexView=t.valueHex?Ml._H.toUint8Array(t.valueHex):ch,this.tagClass=null!==(r=t.tagClass)&&void 0!==r?r:-1,this.tagNumber=null!==(i=t.tagNumber)&&void 0!==i?i:-1,this.isConstructed=null!==(n=t.isConstructed)&&void 0!==n&&n):(this.tagClass=-1,this.tagNumber=-1,this.isConstructed=!1)}toBER(t=!1){let e=0;switch(this.tagClass){case 1:e|=0;break;case 2:e|=64;break;case 3:e|=128;break;case 4:e|=192;break;default:return this.error="Unknown tag class",ah}if(this.isConstructed&&(e|=32),this.tagNumber<31&&!this.isHexOnly){const r=new Uint8Array(1);if(!t){let t=this.tagNumber;t&=31,e|=t,r[0]=e}return r.buffer}if(!this.isHexOnly){const r=Hl(this.tagNumber,7),i=new Uint8Array(r),n=r.byteLength,s=new Uint8Array(n+1);if(s[0]=31|e,!t){for(let t=0;t<n-1;t++)s[t+1]=128|i[t];s[n]=i[n-1]}return s.buffer}const r=new Uint8Array(this.valueHexView.byteLength+1);if(r[0]=31|e,!t){const t=this.valueHexView;for(let e=0;e<t.length-1;e++)r[e+1]=128|t[e];r[this.valueHexView.byteLength]=t[t.length-1]}return r.buffer}fromBER(t,e,r){const i=Ml._H.toUint8Array(t);if(!Gl(this,i,e,r))return-1;const n=i.subarray(e,e+r);if(0===n.length)return this.error="Zero buffer length",-1;switch(192&n[0]){case 0:this.tagClass=1;break;case 64:this.tagClass=2;break;case 128:this.tagClass=3;break;case 192:this.tagClass=4;break;default:return this.error="Unknown tag class",-1}this.isConstructed=!(32&~n[0]),this.isHexOnly=!1;const s=31&n[0];if(31!==s)this.tagNumber=s,this.blockLength=1;else{let t=1,e=this.valueHexView=new Uint8Array(255),r=255;for(;128&n[t];){if(e[t-1]=127&n[t],t++,t>=n.length)return this.error="End of input reached before message was fully decoded",-1;if(t===r){r+=255;const t=new Uint8Array(r);for(let r=0;r<e.length;r++)t[r]=e[r];e=this.valueHexView=new Uint8Array(r)}}this.blockLength=t+1,e[t-1]=127&n[t];const i=new Uint8Array(t);for(let r=0;r<t;r++)i[r]=e[r];e=this.valueHexView=new Uint8Array(t),e.set(i),this.blockLength<=9?this.tagNumber=Fl(e,7):(this.isHexOnly=!0,this.warnings.push("Tag too long, represented as hex-coded"))}if(1===this.tagClass&&this.isConstructed)switch(this.tagNumber){case 1:case 2:case 5:case 6:case 9:case 13:case 14:case 23:case 24:case 31:case 32:case 33:case 34:return this.error="Constructed encoding used for primitive type",-1}return e+this.blockLength}toJSON(){return{...super.toJSON(),tagClass:this.tagClass,tagNumber:this.tagNumber,isConstructed:this.isConstructed}}}gh.NAME="identificationBlock";class mh extends dh{constructor({lenBlock:t={}}={}){var e,r,i;super(),this.isIndefiniteForm=null!==(e=t.isIndefiniteForm)&&void 0!==e&&e,this.longFormUsed=null!==(r=t.longFormUsed)&&void 0!==r&&r,this.length=null!==(i=t.length)&&void 0!==i?i:0}fromBER(t,e,r){const i=Ml._H.toUint8Array(t);if(!Gl(this,i,e,r))return-1;const n=i.subarray(e,e+r);if(0===n.length)return this.error="Zero buffer length",-1;if(255===n[0])return this.error="Length block 0xFF is reserved by standard",-1;if(this.isIndefiniteForm=128===n[0],this.isIndefiniteForm)return this.blockLength=1,e+this.blockLength;if(this.longFormUsed=!!(128&n[0]),!1===this.longFormUsed)return this.length=n[0],this.blockLength=1,e+this.blockLength;const s=127&n[0];if(s>8)return this.error="Too big integer",-1;if(s+1>n.length)return this.error="End of input reached before message was fully decoded",-1;const o=e+1,a=i.subarray(o,o+s);return 0===a[s-1]&&this.warnings.push("Needlessly long encoded length"),this.length=Fl(a,8),this.longFormUsed&&this.length<=127&&this.warnings.push("Unnecessary usage of long length form"),this.blockLength=s+1,e+this.blockLength}toBER(t=!1){let e,r;if(this.length>127&&(this.longFormUsed=!0),this.isIndefiniteForm)return e=new ArrayBuffer(1),!1===t&&(r=new Uint8Array(e),r[0]=128),e;if(this.longFormUsed){const i=Hl(this.length,8);if(i.byteLength>127)return this.error="Too big length",ah;if(e=new ArrayBuffer(i.byteLength+1),t)return e;const n=new Uint8Array(i);r=new Uint8Array(e),r[0]=128|i.byteLength;for(let t=0;t<i.byteLength;t++)r[t+1]=n[t];return e}return e=new ArrayBuffer(1),!1===t&&(r=new Uint8Array(e),r[0]=this.length),e}toJSON(){return{...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,longFormUsed:this.longFormUsed,length:this.length}}}mh.NAME="lengthBlock";const yh={};class wh extends dh{constructor({name:t=oh,optional:e=!1,primitiveSchema:r,...i}={},n){super(i),this.name=t,this.optional=e,r&&(this.primitiveSchema=r),this.idBlock=new gh(i),this.lenBlock=new mh(i),this.valueBlock=n?new n(i):new fh(i)}fromBER(t,e,r){const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}toBER(t,e){const r=e||new ql;e||Ah(this);const i=this.idBlock.toBER(t);if(r.write(i),this.lenBlock.isIndefiniteForm)r.write(new Uint8Array([128]).buffer),this.valueBlock.toBER(t,r),r.write(new ArrayBuffer(2));else{const e=this.valueBlock.toBER(t);this.lenBlock.length=e.byteLength;const i=this.lenBlock.toBER(t);r.write(i),r.write(e)}return e?ah:r.final()}toJSON(){const t={...super.toJSON(),idBlock:this.idBlock.toJSON(),lenBlock:this.lenBlock.toJSON(),valueBlock:this.valueBlock.toJSON(),name:this.name,optional:this.optional};return this.primitiveSchema&&(t.primitiveSchema=this.primitiveSchema.toJSON()),t}toString(t="ascii"){return"ascii"===t?this.onAsciiEncoding():Ml.U$.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${Ml.U$.ToHex(this.valueBlock.valueBeforeDecodeView)}`}isEqual(t){if(this===t)return!0;if(!(t instanceof this.constructor))return!1;return function(t,e){if(t.byteLength!==e.byteLength)return!1;const r=new Uint8Array(t),i=new Uint8Array(e);for(let t=0;t<r.length;t++)if(r[t]!==i[t])return!1;return!0}(this.toBER(),t.toBER())}}function Ah(t){if(t instanceof yh.Constructed)for(const e of t.valueBlock.value)Ah(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}wh.NAME="BaseBlock";class bh extends wh{constructor({value:t=oh,...e}={},r){super(e,r),t&&this.fromString(t)}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}fromBER(t,e,r){const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.fromBuffer(this.valueBlock.valueHexView),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){return`${this.constructor.NAME} : '${this.valueBlock.value}'`}}bh.NAME="BaseStringBlock";class vh extends(ph(fh)){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}}var Eh,_h,xh,Ih,Sh,Th,Ch,Rh,kh,Bh,Nh,Oh,Dh,Ph,Lh,Uh,Mh,Fh,Hh,jh,Wh,Qh,zh,Vh,Gh,qh,Kh,Xh,Yh,Jh,Zh,$h,tu,eu,ru;vh.NAME="PrimitiveValueBlock";class iu extends wh{constructor(t={}){super(t,vh),this.idBlock.isConstructed=!1}}function nu(t,e=0,r=t.length){const i=e;let n=new wh({},fh);const s=new dh;if(!Gl(s,t,e,r))return n.error=s.error,{offset:-1,result:n};if(!t.subarray(e,e+r).length)return n.error="Zero buffer length",{offset:-1,result:n};let o=n.idBlock.fromBER(t,e,r);if(n.idBlock.warnings.length&&n.warnings.concat(n.idBlock.warnings),-1===o)return n.error=n.idBlock.error,{offset:-1,result:n};if(e=o,r-=n.idBlock.blockLength,o=n.lenBlock.fromBER(t,e,r),n.lenBlock.warnings.length&&n.warnings.concat(n.lenBlock.warnings),-1===o)return n.error=n.lenBlock.error,{offset:-1,result:n};if(e=o,r-=n.lenBlock.blockLength,!n.idBlock.isConstructed&&n.lenBlock.isIndefiniteForm)return n.error="Indefinite length form used for primitive encoding form",{offset:-1,result:n};let a=wh;if(1===n.idBlock.tagClass){if(n.idBlock.tagNumber>=37&&!1===n.idBlock.isHexOnly)return n.error="UNIVERSAL 37 and upper tags are reserved by ASN.1 standard",{offset:-1,result:n};switch(n.idBlock.tagNumber){case 0:if(n.idBlock.isConstructed&&n.lenBlock.length>0)return n.error="Type [UNIVERSAL 0] is reserved",{offset:-1,result:n};a=yh.EndOfContent;break;case 1:a=yh.Boolean;break;case 2:a=yh.Integer;break;case 3:a=yh.BitString;break;case 4:a=yh.OctetString;break;case 5:a=yh.Null;break;case 6:a=yh.ObjectIdentifier;break;case 10:a=yh.Enumerated;break;case 12:a=yh.Utf8String;break;case 13:a=yh.RelativeObjectIdentifier;break;case 14:a=yh.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:a=yh.Sequence;break;case 17:a=yh.Set;break;case 18:a=yh.NumericString;break;case 19:a=yh.PrintableString;break;case 20:a=yh.TeletexString;break;case 21:a=yh.VideotexString;break;case 22:a=yh.IA5String;break;case 23:a=yh.UTCTime;break;case 24:a=yh.GeneralizedTime;break;case 25:a=yh.GraphicString;break;case 26:a=yh.VisibleString;break;case 27:a=yh.GeneralString;break;case 28:a=yh.UniversalString;break;case 29:a=yh.CharacterString;break;case 30:a=yh.BmpString;break;case 31:a=yh.DATE;break;case 32:a=yh.TimeOfDay;break;case 33:a=yh.DateTime;break;case 34:a=yh.Duration;break;default:{const t=n.idBlock.isConstructed?new yh.Constructed:new yh.Primitive;t.idBlock=n.idBlock,t.lenBlock=n.lenBlock,t.warnings=n.warnings,n=t}}}else a=n.idBlock.isConstructed?yh.Constructed:yh.Primitive;return n=function(t,e){if(t instanceof e)return t;const r=new e;return r.idBlock=t.idBlock,r.lenBlock=t.lenBlock,r.warnings=t.warnings,r.valueBeforeDecodeView=t.valueBeforeDecodeView,r}(n,a),o=n.fromBER(t,e,n.lenBlock.isIndefiniteForm?r:n.lenBlock.length),n.valueBeforeDecodeView=t.subarray(i,i+n.blockLength),{offset:o,result:n}}function su(t){if(!t.byteLength){const t=new wh({},fh);return t.error="Input buffer has zero length",{offset:-1,result:t}}return nu(Ml._H.toUint8Array(t).slice(),0,t.byteLength)}function ou(t,e){return t?1:e}Eh=iu,yh.Primitive=Eh,iu.NAME="PRIMITIVE";class au extends fh{constructor({value:t=[],isIndefiniteForm:e=!1,...r}={}){super(r),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,r){const i=Ml._H.toUint8Array(t);if(!Gl(this,i,e,r))return-1;if(this.valueBeforeDecodeView=i.subarray(e,e+r),0===this.valueBeforeDecodeView.length)return this.warnings.push("Zero buffer length"),e;let n=e;for(;ou(this.isIndefiniteForm,r)>0;){const t=nu(i,n,r);if(-1===t.offset)return this.error=t.result.error,this.warnings.concat(t.result.warnings),-1;if(n=t.offset,this.blockLength+=t.result.blockLength,r-=t.result.blockLength,this.value.push(t.result),this.isIndefiniteForm&&t.result.constructor.NAME===lh)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===lh?this.value.pop():this.warnings.push("No EndOfContent block encoded")),n}toBER(t,e){const r=e||new ql;for(let e=0;e<this.value.length;e++)this.value[e].toBER(t,r);return e?ah:r.final()}toJSON(){const t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const e of this.value)t.value.push(e.toJSON());return t}}au.NAME="ConstructedValueBlock";class cu extends wh{constructor(t={}){super(t,au),this.idBlock.isConstructed=!0}fromBER(t,e,r){this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm;const i=this.valueBlock.fromBER(t,e,this.lenBlock.isIndefiniteForm?r:this.lenBlock.length);return-1===i?(this.error=this.valueBlock.error,i):(this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.valueBlock.error.length||(this.blockLength+=this.valueBlock.blockLength),i)}onAsciiEncoding(){const t=[];for(const e of this.valueBlock.value)t.push(e.toString("ascii").split("\n").map(t=>` ${t}`).join("\n"));const e=3===this.idBlock.tagClass?`[${this.idBlock.tagNumber}]`:this.constructor.NAME;return t.length?`${e} :\n${t.join("\n")}`:`${e} :`}}_h=cu,yh.Constructed=_h,cu.NAME="CONSTRUCTED";class lu extends fh{fromBER(t,e,r){return e}toBER(t){return ah}}lu.override="EndOfContentValueBlock";class hu extends wh{constructor(t={}){super(t,lu),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}xh=hu,yh.EndOfContent=xh,hu.NAME=lh;class uu extends wh{constructor(t={}){super(t,fh),this.idBlock.tagClass=1,this.idBlock.tagNumber=5}fromBER(t,e,r){return this.lenBlock.length>0&&this.warnings.push("Non-zero length of value block for Null type"),this.idBlock.error.length||(this.blockLength+=this.idBlock.blockLength),this.lenBlock.error.length||(this.blockLength+=this.lenBlock.blockLength),this.blockLength+=r,e+r>t.byteLength?(this.error="End of input reached before message was fully decoded (inconsistent offset and length values)",-1):e+r}toBER(t,e){const r=new ArrayBuffer(2);if(!t){const t=new Uint8Array(r);t[0]=5,t[1]=0}return e&&e.write(r),r}onAsciiEncoding(){return`${this.constructor.NAME}`}}Ih=uu,yh.Null=Ih,uu.NAME="NULL";class pu extends(ph(fh)){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=Ml._H.toUint8Array(e.valueHex):this.valueHexView=new Uint8Array(1),t&&(this.value=t)}get value(){for(const t of this.valueHexView)if(t>0)return!0;return!1}set value(t){this.valueHexView[0]=t?255:0}fromBER(t,e,r){const i=Ml._H.toUint8Array(t);return Gl(this,i,e,r)?(this.valueHexView=i.subarray(e,e+r),r>1&&this.warnings.push("Boolean value encoded in more then 1 octet"),this.isHexOnly=!0,Wl.call(this),this.blockLength=r,e+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}pu.NAME="BooleanValueBlock";class du extends wh{constructor(t={}){super(t,pu),this.idBlock.tagClass=1,this.idBlock.tagNumber=1}getValue(){return this.valueBlock.value}setValue(t){this.valueBlock.value=t}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.getValue}`}}Sh=du,yh.Boolean=Sh,du.NAME="BOOLEAN";class fu extends(ph(au)){constructor({isConstructed:t=!1,...e}={}){super(e),this.isConstructed=t}fromBER(t,e,r){let i=0;if(this.isConstructed){if(this.isHexOnly=!1,i=au.prototype.fromBER.call(this,t,e,r),-1===i)return i;for(let t=0;t<this.value.length;t++){const e=this.value[t].constructor.NAME;if(e===lh){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(e!==hh)return this.error="OCTET STRING may consists of OCTET STRINGs only",-1}}else this.isHexOnly=!0,i=super.fromBER(t,e,r),this.blockLength=r;return i}toBER(t,e){return this.isConstructed?au.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}fu.NAME="OctetStringValueBlock";class gu extends wh{constructor({idBlock:t={},lenBlock:e={},...r}={}){var i,n;null!==(i=r.isConstructed)&&void 0!==i||(r.isConstructed=!!(null===(n=r.value)||void 0===n?void 0:n.length)),super({idBlock:{isConstructed:r.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!r.isIndefiniteForm},...r},fu),this.idBlock.tagClass=1,this.idBlock.tagNumber=4}fromBER(t,e,r){if(this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,0===r)return 0===this.idBlock.error.length&&(this.blockLength+=this.idBlock.blockLength),0===this.lenBlock.error.length&&(this.blockLength+=this.lenBlock.blockLength),e;if(!this.valueBlock.isConstructed){const i=(t instanceof ArrayBuffer?new Uint8Array(t):t).subarray(e,e+r);try{if(i.byteLength){const t=nu(i,0,i.byteLength);-1!==t.offset&&t.offset===r&&(this.valueBlock.value=[t.result])}}catch(t){}}return super.fromBER(t,e,r)}onAsciiEncoding(){return this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length?cu.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${Ml.U$.ToHex(this.valueBlock.valueHexView)}`}getValue(){if(!this.idBlock.isConstructed)return this.valueBlock.valueHexView.slice().buffer;const t=[];for(const e of this.valueBlock.value)e instanceof gu&&t.push(e.valueBlock.valueHexView);return Ml._H.concat(t)}}Th=gu,yh.OctetString=Th,gu.NAME=hh;class mu extends(ph(au)){constructor({unusedBits:t=0,isConstructed:e=!1,...r}={}){super(r),this.unusedBits=t,this.isConstructed=e,this.blockLength=this.valueHexView.byteLength}fromBER(t,e,r){if(!r)return e;let i=-1;if(this.isConstructed){if(i=au.prototype.fromBER.call(this,t,e,r),-1===i)return i;for(const t of this.value){const e=t.constructor.NAME;if(e===lh){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(e!==uh)return this.error="BIT STRING may consists of BIT STRINGs only",-1;const r=t.valueBlock;if(this.unusedBits>0&&r.unusedBits>0)return this.error='Using of "unused bits" inside constructive BIT STRING allowed for least one only',-1;this.unusedBits=r.unusedBits}return i}const n=Ml._H.toUint8Array(t);if(!Gl(this,n,e,r))return-1;const s=n.subarray(e,e+r);if(this.unusedBits=s[0],this.unusedBits>7)return this.error="Unused bits for BitString must be in range 0-7",-1;if(!this.unusedBits){const t=s.subarray(1);try{if(t.byteLength){const e=nu(t,0,t.byteLength);-1!==e.offset&&e.offset===r-1&&(this.value=[e.result])}}catch(t){}}return this.valueHexView=s.subarray(1),this.blockLength=s.length,e+r}toBER(t,e){if(this.isConstructed)return au.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return ah;const r=new Uint8Array(this.valueHexView.length+1);return r[0]=this.unusedBits,r.set(this.valueHexView,1),r.buffer}toJSON(){return{...super.toJSON(),unusedBits:this.unusedBits,isConstructed:this.isConstructed}}}mu.NAME="BitStringValueBlock";class yu extends wh{constructor({idBlock:t={},lenBlock:e={},...r}={}){var i,n;null!==(i=r.isConstructed)&&void 0!==i||(r.isConstructed=!!(null===(n=r.value)||void 0===n?void 0:n.length)),super({idBlock:{isConstructed:r.isConstructed,...t},lenBlock:{...e,isIndefiniteForm:!!r.isIndefiniteForm},...r},mu),this.idBlock.tagClass=1,this.idBlock.tagNumber=3}fromBER(t,e,r){return this.valueBlock.isConstructed=this.idBlock.isConstructed,this.valueBlock.isIndefiniteForm=this.lenBlock.isIndefiniteForm,super.fromBER(t,e,r)}onAsciiEncoding(){if(this.valueBlock.isConstructed||this.valueBlock.value&&this.valueBlock.value.length)return cu.prototype.onAsciiEncoding.call(this);{const t=[],e=this.valueBlock.valueHexView;for(const r of e)t.push(r.toString(2).padStart(8,"0"));const r=t.join("");return`${this.constructor.NAME} : ${r.substring(0,r.length-this.valueBlock.unusedBits)}`}}}function wu(t,e){const r=new Uint8Array([0]),i=new Uint8Array(t),n=new Uint8Array(e);let s=i.slice(0);const o=s.length-1,a=n.slice(0),c=a.length-1;let l=0;let h=0;for(let t=c<o?o:c;t>=0;t--,h++){if(!0==h<a.length)l=s[o-h]+a[c-h]+r[0];else l=s[o-h]+r[0];if(r[0]=l/10,!0==h>=s.length)s=jl(new Uint8Array([l%10]),s);else s[o-h]=l%10}return r[0]>0&&(s=jl(r,s)),s}function Au(t){if(t>=Kl.length)for(let e=Kl.length;e<=t;e++){const t=new Uint8Array([0]);let r=Kl[e-1].slice(0);for(let e=r.length-1;e>=0;e--){const i=new Uint8Array([(r[e]<<1)+t[0]]);t[0]=i[0]/10,r[e]=i[0]%10}t[0]>0&&(r=jl(t,r)),Kl.push(r)}return Kl[t]}function bu(t,e){let r=0;const i=new Uint8Array(t),n=new Uint8Array(e),s=i.slice(0),o=s.length-1,a=n.slice(0),c=a.length-1;let l,h=0;for(let t=c;t>=0;t--,h++)if(l=s[o-h]-a[c-h]-r,!0==l<0)r=1,s[o-h]=l+10;else r=0,s[o-h]=l;if(r>0)for(let t=o-c+1;t>=0;t--,h++){if(l=s[o-h]-r,!(l<0)){r=0,s[o-h]=l;break}r=1,s[o-h]=l+10}return s.slice()}Ch=yu,yh.BitString=Ch,yu.NAME=uh;class vu extends(ph(fh)){constructor({value:t,...e}={}){super(e),this._valueDec=0,e.valueHex&&this.setValueHex(),void 0!==t&&(this.valueDec=t)}setValueHex(){this.valueHexView.length>=4?(this.warnings.push("Too big Integer for decoding, hex only"),this.isHexOnly=!0,this._valueDec=0):(this.isHexOnly=!1,this.valueHexView.length>0&&(this._valueDec=Wl.call(this)))}set valueDec(t){this._valueDec=t,this.isHexOnly=!1,this.valueHexView=new Uint8Array(function(t){const e=t<0?-1*t:t;let r=128;for(let i=1;i<8;i++){if(e<=r){if(t<0){const t=Hl(r-e,8,i);return new Uint8Array(t)[0]|=128,t}let n=Hl(e,8,i),s=new Uint8Array(n);if(128&s[0]){const t=n.slice(0),e=new Uint8Array(t);n=new ArrayBuffer(n.byteLength+1),s=new Uint8Array(n);for(let r=0;r<t.byteLength;r++)s[r+1]=e[r];s[0]=0}return n}r*=Math.pow(2,8)}return new ArrayBuffer(0)}(t))}get valueDec(){return this._valueDec}fromDER(t,e,r,i=0){const n=this.fromBER(t,e,r);if(-1===n)return n;const s=this.valueHexView;return 0===s[0]&&128&s[1]?this.valueHexView=s.subarray(1):0!==i&&s.length<i&&(i-s.length>1&&(i=s.length+1),this.valueHexView=s.subarray(i-s.length)),n}toDER(t=!1){const e=this.valueHexView;switch(!0){case!!(128&e[0]):{const t=new Uint8Array(this.valueHexView.length+1);t[0]=0,t.set(e,1),this.valueHexView=t}break;case 0===e[0]&&!(128&e[1]):this.valueHexView=this.valueHexView.subarray(1)}return this.toBER(t)}fromBER(t,e,r){const i=super.fromBER(t,e,r);return-1===i||this.setValueHex(),i}toBER(t){return t?new ArrayBuffer(this.valueHexView.length):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}toString(){const t=8*this.valueHexView.length-1;let e,r=new Uint8Array(8*this.valueHexView.length/3),i=0;const n=this.valueHexView;let s="",o=!1;for(let o=n.byteLength-1;o>=0;o--){e=n[o];for(let n=0;n<8;n++){if(!(1&~e))if(i===t)r=bu(Au(i),r),s="-";else r=wu(r,Au(i));i++,e>>=1}}for(let t=0;t<r.length;t++)r[t]&&(o=!0),o&&(s+=Xl.charAt(r[t]));return!1===o&&(s+=Xl.charAt(0)),s}}Rh=vu,vu.NAME="IntegerValueBlock",Object.defineProperty(Rh.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});class Eu extends wh{constructor(t={}){super(t,vu),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return zl(),BigInt(this.valueBlock.toString())}static fromBigInt(t){zl();const e=BigInt(t),r=new ql,i=e.toString(16).replace(/^-/,""),n=new Uint8Array(Ml.U$.FromHex(i));if(e<0){const t=new Uint8Array(n.length+(128&n[0]?1:0));t[0]|=128;const i=BigInt(`0x${Ml.U$.ToHex(t)}`)+e,s=Ml._H.toUint8Array(Ml.U$.FromHex(i.toString(16)));s[0]|=128,r.write(s)}else 128&n[0]&&r.write(new Uint8Array([0])),r.write(n);return new Eu({valueHex:r.final()})}convertToDER(){const t=new Eu({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new Eu({valueHex:0===this.valueBlock.valueHexView[0]?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}kh=Eu,yh.Integer=kh,Eu.NAME="INTEGER";class _u extends Eu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}Bh=_u,yh.Enumerated=Bh,_u.NAME="ENUMERATED";class xu extends(ph(fh)){constructor({valueDec:t=-1,isFirstSid:e=!1,...r}={}){super(r),this.valueDec=t,this.isFirstSid=e}fromBER(t,e,r){if(!r)return e;const i=Ml._H.toUint8Array(t);if(!Gl(this,i,e,r))return-1;const n=i.subarray(e,e+r);this.valueHexView=new Uint8Array(r);for(let t=0;t<r&&(this.valueHexView[t]=127&n[t],this.blockLength++,128&n[t]);t++);const s=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength;t++)s[t]=this.valueHexView[t];return this.valueHexView=s,128&n[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Fl(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){zl();let e=BigInt(t).toString(2);for(;e.length%7;)e="0"+e;const r=new Uint8Array(e.length/7);for(let t=0;t<r.length;t++)r[t]=parseInt(e.slice(7*t,7*t+7),2)+(t+1<r.length?128:0);this.fromBER(r.buffer,0,r.length)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);const e=this.valueHexView,r=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength-1;t++)r[t]=128|e[t];return r[this.blockLength-1]=e[this.blockLength-1],r.buffer}const e=Hl(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",ah;const r=new Uint8Array(e.byteLength);if(!t){const t=new Uint8Array(e),i=e.byteLength-1;for(let e=0;e<i;e++)r[e]=128|t[e];r[i]=t[i]}return r}toString(){let t="";if(this.isHexOnly)t=Ml.U$.ToHex(this.valueHexView);else if(this.isFirstSid){let e=this.valueDec;this.valueDec<=39?t="0.":this.valueDec<=79?(t="1.",e-=40):(t="2.",e-=80),t+=e.toString()}else t=this.valueDec.toString();return t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec,isFirstSid:this.isFirstSid}}}xu.NAME="sidBlock";class Iu extends fh{constructor({value:t=oh,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,r){let i=e;for(;r>0;){const e=new xu;if(i=e.fromBER(t,i,r),-1===i)return this.blockLength=0,this.error=e.error,i;0===this.value.length&&(e.isFirstSid=!0),this.blockLength+=e.blockLength,r-=e.blockLength,this.value.push(e)}return i}toBER(t){const e=[];for(let r=0;r<this.value.length;r++){const i=this.value[r].toBER(t);if(0===i.byteLength)return this.error=this.value[r].error,ah;e.push(i)}return Vl(e)}fromString(t){this.value=[];let e=0,r=0,i="",n=!1;do{if(r=t.indexOf(".",e),i=-1===r?t.substring(e):t.substring(e,r),e=r+1,n){const t=this.value[0];let e=0;switch(t.valueDec){case 0:break;case 1:e=40;break;case 2:e=80;break;default:return void(this.value=[])}const r=parseInt(i,10);if(isNaN(r))return;t.valueDec=r+e,n=!1}else{const t=new xu;if(i>Number.MAX_SAFE_INTEGER){zl();const e=BigInt(i);t.valueBigInt=e}else if(t.valueDec=parseInt(i,10),isNaN(t.valueDec))return;this.value.length||(t.isFirstSid=!0,n=!0),this.value.push(t)}}while(-1!==r)}toString(){let t="",e=!1;for(let r=0;r<this.value.length;r++){e=this.value[r].isHexOnly;let i=this.value[r].toString();0!==r&&(t=`${t}.`),e?(i=`{${i}}`,this.value[r].isFirstSid?t=`2.{${i} - 80}`:t+=i):t+=i}return t}toJSON(){const t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}}Iu.NAME="ObjectIdentifierValueBlock";class Su extends wh{constructor(t={}){super(t,Iu),this.idBlock.tagClass=1,this.idBlock.tagNumber=6}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}Nh=Su,yh.ObjectIdentifier=Nh,Su.NAME="OBJECT IDENTIFIER";class Tu extends(ph(dh)){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,r){if(0===r)return e;const i=Ml._H.toUint8Array(t);if(!Gl(this,i,e,r))return-1;const n=i.subarray(e,e+r);this.valueHexView=new Uint8Array(r);for(let t=0;t<r&&(this.valueHexView[t]=127&n[t],this.blockLength++,128&n[t]);t++);const s=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength;t++)s[t]=this.valueHexView[t];return this.valueHexView=s,128&n[this.blockLength-1]?(this.error="End of input reached before message was fully decoded",-1):(0===this.valueHexView[0]&&this.warnings.push("Needlessly long format of SID encoding"),this.blockLength<=8?this.valueDec=Fl(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}toBER(t){if(this.isHexOnly){if(t)return new ArrayBuffer(this.valueHexView.byteLength);const e=this.valueHexView,r=new Uint8Array(this.blockLength);for(let t=0;t<this.blockLength-1;t++)r[t]=128|e[t];return r[this.blockLength-1]=e[this.blockLength-1],r.buffer}const e=Hl(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",ah;const r=new Uint8Array(e.byteLength);if(!t){const t=new Uint8Array(e),i=e.byteLength-1;for(let e=0;e<i;e++)r[e]=128|t[e];r[i]=t[i]}return r.buffer}toString(){let t="";return t=this.isHexOnly?Ml.U$.ToHex(this.valueHexView):this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Tu.NAME="relativeSidBlock";class Cu extends fh{constructor({value:t=oh,...e}={}){super(e),this.value=[],t&&this.fromString(t)}fromBER(t,e,r){let i=e;for(;r>0;){const e=new Tu;if(i=e.fromBER(t,i,r),-1===i)return this.blockLength=0,this.error=e.error,i;this.blockLength+=e.blockLength,r-=e.blockLength,this.value.push(e)}return i}toBER(t,e){const r=[];for(let e=0;e<this.value.length;e++){const i=this.value[e].toBER(t);if(0===i.byteLength)return this.error=this.value[e].error,ah;r.push(i)}return Vl(r)}fromString(t){this.value=[];let e=0,r=0,i="";do{r=t.indexOf(".",e),i=-1===r?t.substring(e):t.substring(e,r),e=r+1;const n=new Tu;if(n.valueDec=parseInt(i,10),isNaN(n.valueDec))return!0;this.value.push(n)}while(-1!==r);return!0}toString(){let t="",e=!1;for(let r=0;r<this.value.length;r++){e=this.value[r].isHexOnly;let i=this.value[r].toString();0!==r&&(t=`${t}.`),e?(i=`{${i}}`,t+=i):t+=i}return t}toJSON(){const t={...super.toJSON(),value:this.toString(),sidArray:[]};for(let e=0;e<this.value.length;e++)t.sidArray.push(this.value[e].toJSON());return t}}Cu.NAME="RelativeObjectIdentifierValueBlock";class Ru extends wh{constructor(t={}){super(t,Cu),this.idBlock.tagClass=1,this.idBlock.tagNumber=13}getValue(){return this.valueBlock.toString()}setValue(t){this.valueBlock.fromString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()||"empty"}`}toJSON(){return{...super.toJSON(),value:this.getValue()}}}Oh=Ru,yh.RelativeObjectIdentifier=Oh,Ru.NAME="RelativeObjectIdentifier";class ku extends cu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}Dh=ku,yh.Sequence=Dh,ku.NAME="SEQUENCE";class Bu extends cu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}}Ph=Bu,yh.Set=Ph,Bu.NAME="SET";class Nu extends(ph(fh)){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=oh}toJSON(){return{...super.toJSON(),value:this.value}}}Nu.NAME="StringValueBlock";class Ou extends Nu{}Ou.NAME="SimpleStringValueBlock";class Du extends bh{constructor({...t}={}){super(t,Ou)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,Ml._H.toUint8Array(t))}fromString(t){const e=t.length,r=this.valueBlock.valueHexView=new Uint8Array(e);for(let i=0;i<e;i++)r[i]=t.charCodeAt(i);this.valueBlock.value=t}}Du.NAME="SIMPLE STRING";class Pu extends Du{fromBuffer(t){this.valueBlock.valueHexView=Ml._H.toUint8Array(t);try{this.valueBlock.value=Ml.U$.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=Ml.U$.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(Ml.U$.FromUtf8String(t)),this.valueBlock.value=t}}Pu.NAME="Utf8StringValueBlock";class Lu extends Pu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Lh=Lu,yh.Utf8String=Lh,Lu.NAME="UTF8String";class Uu extends Du{fromBuffer(t){this.valueBlock.value=Ml.U$.ToUtf16String(t),this.valueBlock.valueHexView=Ml._H.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(Ml.U$.FromUtf16String(t))}}Uu.NAME="BmpStringValueBlock";class Mu extends Uu{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}Uh=Mu,yh.BmpString=Uh,Mu.NAME="BMPString";class Fu extends Du{fromBuffer(t){const e=ArrayBuffer.isView(t)?t.slice().buffer:t.slice(0),r=new Uint8Array(e);for(let t=0;t<r.length;t+=4)r[t]=r[t+3],r[t+1]=r[t+2],r[t+2]=0,r[t+3]=0;this.valueBlock.value=String.fromCharCode.apply(null,new Uint32Array(e))}fromString(t){const e=t.length,r=this.valueBlock.valueHexView=new Uint8Array(4*e);for(let i=0;i<e;i++){const e=Hl(t.charCodeAt(i),8),n=new Uint8Array(e);if(n.length>4)continue;const s=4-n.length;for(let t=n.length-1;t>=0;t--)r[4*i+t+s]=n[t]}this.valueBlock.value=t}}Fu.NAME="UniversalStringValueBlock";class Hu extends Fu{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Mh=Hu,yh.UniversalString=Mh,Hu.NAME="UniversalString";class ju extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}Fh=ju,yh.NumericString=Fh,ju.NAME="NumericString";class Wu extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}Hh=Wu,yh.PrintableString=Hh,Wu.NAME="PrintableString";class Qu extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}jh=Qu,yh.TeletexString=jh,Qu.NAME="TeletexString";class zu extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}Wh=zu,yh.VideotexString=Wh,zu.NAME="VideotexString";class Vu extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}Qh=Vu,yh.IA5String=Qh,Vu.NAME="IA5String";class Gu extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}zh=Gu,yh.GraphicString=zh,Gu.NAME="GraphicString";class qu extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}Vh=qu,yh.VisibleString=Vh,qu.NAME="VisibleString";class Ku extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}Gh=Ku,yh.GeneralString=Gh,Ku.NAME="GeneralString";class Xu extends Du{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}qh=Xu,yh.CharacterString=qh,Xu.NAME="CharacterString";class Yu extends qu{constructor({value:t,valueDate:e,...r}={}){if(super(r),this.year=0,this.month=0,this.day=0,this.hour=0,this.minute=0,this.second=0,t){this.fromString(t),this.valueBlock.valueHexView=new Uint8Array(t.length);for(let e=0;e<t.length;e++)this.valueBlock.valueHexView[e]=t.charCodeAt(e)}e&&(this.fromDate(e),this.valueBlock.valueHexView=new Uint8Array(this.toBuffer())),this.idBlock.tagClass=1,this.idBlock.tagNumber=23}fromBuffer(t){this.fromString(String.fromCharCode.apply(null,Ml._H.toUint8Array(t)))}toBuffer(){const t=this.toString(),e=new ArrayBuffer(t.length),r=new Uint8Array(e);for(let e=0;e<t.length;e++)r[e]=t.charCodeAt(e);return e}fromDate(t){this.year=t.getUTCFullYear(),this.month=t.getUTCMonth()+1,this.day=t.getUTCDate(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second))}fromString(t){const e=/(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})Z/gi.exec(t);if(null===e)return void(this.error="Wrong input string for conversion");const r=parseInt(e[1],10);this.year=r>=50?1900+r:2e3+r,this.month=parseInt(e[2],10),this.day=parseInt(e[3],10),this.hour=parseInt(e[4],10),this.minute=parseInt(e[5],10),this.second=parseInt(e[6],10)}toString(t="iso"){if("iso"===t){const t=new Array(7);return t[0]=Ql(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=Ql(this.month,2),t[2]=Ql(this.day,2),t[3]=Ql(this.hour,2),t[4]=Ql(this.minute,2),t[5]=Ql(this.second,2),t[6]="Z",t.join("")}return super.toString(t)}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.toDate().toISOString()}`}toJSON(){return{...super.toJSON(),year:this.year,month:this.month,day:this.day,hour:this.hour,minute:this.minute,second:this.second}}}Kh=Yu,yh.UTCTime=Kh,Yu.NAME="UTCTime";class Ju extends Yu{constructor(t={}){var e;super(t),null!==(e=this.millisecond)&&void 0!==e||(this.millisecond=0),this.idBlock.tagClass=1,this.idBlock.tagNumber=24}fromDate(t){super.fromDate(t),this.millisecond=t.getUTCMilliseconds()}toDate(){return new Date(Date.UTC(this.year,this.month-1,this.day,this.hour,this.minute,this.second,this.millisecond))}fromString(t){let e,r=!1,i="",n="",s=0,o=0,a=0;if("Z"===t[t.length-1])i=t.substring(0,t.length-1),r=!0;else{const e=new Number(t[t.length-1]);if(isNaN(e.valueOf()))throw new Error("Wrong input string for conversion");i=t}if(r){if(-1!==i.indexOf("+"))throw new Error("Wrong input string for conversion");if(-1!==i.indexOf("-"))throw new Error("Wrong input string for conversion")}else{let t=1,e=i.indexOf("+"),r="";if(-1===e&&(e=i.indexOf("-"),t=-1),-1!==e){if(r=i.substring(e+1),i=i.substring(0,e),2!==r.length&&4!==r.length)throw new Error("Wrong input string for conversion");let n=parseInt(r.substring(0,2),10);if(isNaN(n.valueOf()))throw new Error("Wrong input string for conversion");if(o=t*n,4===r.length){if(n=parseInt(r.substring(2,4),10),isNaN(n.valueOf()))throw new Error("Wrong input string for conversion");a=t*n}}}let c=i.indexOf(".");if(-1===c&&(c=i.indexOf(",")),-1!==c){const t=new Number(`0${i.substring(c)}`);if(isNaN(t.valueOf()))throw new Error("Wrong input string for conversion");s=t.valueOf(),n=i.substring(0,c)}else n=i;switch(!0){case 8===n.length:if(e=/(\d{4})(\d{2})(\d{2})/gi,-1!==c)throw new Error("Wrong input string for conversion");break;case 10===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*s;this.minute=Math.floor(t),t=60*(t-this.minute),this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 12===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){let t=60*s;this.second=Math.floor(t),t=1e3*(t-this.second),this.millisecond=Math.floor(t)}break;case 14===n.length:if(e=/(\d{4})(\d{2})(\d{2})(\d{2})(\d{2})(\d{2})/gi,-1!==c){const t=1e3*s;this.millisecond=Math.floor(t)}break;default:throw new Error("Wrong input string for conversion")}const l=e.exec(n);if(null===l)throw new Error("Wrong input string for conversion");for(let t=1;t<l.length;t++)switch(t){case 1:this.year=parseInt(l[t],10);break;case 2:this.month=parseInt(l[t],10);break;case 3:this.day=parseInt(l[t],10);break;case 4:this.hour=parseInt(l[t],10)+o;break;case 5:this.minute=parseInt(l[t],10)+a;break;case 6:this.second=parseInt(l[t],10);break;default:throw new Error("Wrong input string for conversion")}if(!1===r){const t=new Date(this.year,this.month,this.day,this.hour,this.minute,this.second,this.millisecond);this.year=t.getUTCFullYear(),this.month=t.getUTCMonth(),this.day=t.getUTCDay(),this.hour=t.getUTCHours(),this.minute=t.getUTCMinutes(),this.second=t.getUTCSeconds(),this.millisecond=t.getUTCMilliseconds()}}toString(t="iso"){if("iso"===t){const t=[];return t.push(Ql(this.year,4)),t.push(Ql(this.month,2)),t.push(Ql(this.day,2)),t.push(Ql(this.hour,2)),t.push(Ql(this.minute,2)),t.push(Ql(this.second,2)),0!==this.millisecond&&(t.push("."),t.push(Ql(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}Xh=Ju,yh.GeneralizedTime=Xh,Ju.NAME="GeneralizedTime";class Zu extends Lu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}Yh=Zu,yh.DATE=Yh,Zu.NAME="DATE";class $u extends Lu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}Jh=$u,yh.TimeOfDay=Jh,$u.NAME="TimeOfDay";class tp extends Lu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}Zh=tp,yh.DateTime=Zh,tp.NAME="DateTime";class ep extends Lu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}$h=ep,yh.Duration=$h,ep.NAME="Duration";class rp extends Lu{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}tu=rp,yh.TIME=tu,rp.NAME="TIME";class ip{constructor({name:t=oh,optional:e=!1}={}){this.name=t,this.optional=e}}class np extends ip{constructor({value:t=[],...e}={}){super(e),this.value=t}}class sp extends ip{constructor({value:t=new ip,local:e=!1,...r}={}){super(r),this.value=t,this.local=e}}class op{constructor({data:t=ch}={}){this.dataView=Ml._H.toUint8Array(t)}get data(){return this.dataView.slice().buffer}set data(t){this.dataView=Ml._H.toUint8Array(t)}fromBER(t,e,r){const i=e+r;return this.dataView=Ml._H.toUint8Array(t).subarray(e,i),i}toBER(t){return this.dataView.slice().buffer}}function ap(t,e,r){if(r instanceof np){for(let i=0;i<r.value.length;i++){if(ap(t,e,r.value[i]).verified)return{verified:!0,result:t}}{const t={verified:!1,result:{error:"Wrong values for Choice type"}};return r.hasOwnProperty(Yl)&&(t.name=r.name),t}}if(r instanceof ip)return r.hasOwnProperty(Yl)&&(t[r.name]=e),{verified:!0,result:t};if(t instanceof Object==!1)return{verified:!1,result:{error:"Wrong root object"}};if(e instanceof Object==!1)return{verified:!1,result:{error:"Wrong ASN.1 data"}};if(r instanceof Object==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if($l in r==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(ih in r.idBlock==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(nh in r.idBlock==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=r.idBlock.toBER(!1);if(0===i.byteLength)return{verified:!1,result:{error:"Error encoding idBlock for ASN.1 schema"}};if(-1===r.idBlock.fromBER(i,0,i.byteLength))return{verified:!1,result:{error:"Error decoding idBlock for ASN.1 schema"}};if(!1===r.idBlock.hasOwnProperty(th))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagClass!==e.idBlock.tagClass)return{verified:!1,result:t};if(!1===r.idBlock.hasOwnProperty(eh))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.tagNumber!==e.idBlock.tagNumber)return{verified:!1,result:t};if(!1===r.idBlock.hasOwnProperty(rh))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isConstructed!==e.idBlock.isConstructed)return{verified:!1,result:t};if(!(Zl in r.idBlock))return{verified:!1,result:{error:"Wrong ASN.1 schema"}};if(r.idBlock.isHexOnly!==e.idBlock.isHexOnly)return{verified:!1,result:t};if(r.idBlock.isHexOnly){if(Jl in r.idBlock==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema"}};const i=r.idBlock.valueHexView,n=e.idBlock.valueHexView;if(i.length!==n.length)return{verified:!1,result:t};for(let e=0;e<i.length;e++)if(i[e]!==n[1])return{verified:!1,result:t}}if(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,oh),r.name&&(t[r.name]=e)),r instanceof yh.Constructed){let i=0,n={verified:!1,result:{error:"Unknown error"}},s=r.valueBlock.value.length;if(s>0&&r.valueBlock.value[0]instanceof sp&&(s=e.valueBlock.value.length),0===s)return{verified:!0,result:t};if(0===e.valueBlock.value.length&&0!==r.valueBlock.value.length){let e=!0;for(let t=0;t<r.valueBlock.value.length;t++)e=e&&(r.valueBlock.value[t].optional||!1);return e?{verified:!0,result:t}:(r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,oh),r.name&&delete t[r.name]),t.error="Inconsistent object length",{verified:!1,result:t})}for(let o=0;o<s;o++)if(o-i>=e.valueBlock.value.length){if(!1===r.valueBlock.value[o].optional){const e={verified:!1,result:t};return t.error="Inconsistent length between ASN.1 data and schema",r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,oh),r.name&&(delete t[r.name],e.name=r.name)),e}}else if(r.valueBlock.value[0]instanceof sp){if(n=ap(t,e.valueBlock.value[o],r.valueBlock.value[0].value),!1===n.verified){if(!r.valueBlock.value[0].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,oh),r.name&&delete t[r.name]),n;i++}if(Yl in r.valueBlock.value[0]&&r.valueBlock.value[0].name.length>0){let i={};i=sh in r.valueBlock.value[0]&&r.valueBlock.value[0].local?e:t,void 0===i[r.valueBlock.value[0].name]&&(i[r.valueBlock.value[0].name]=[]),i[r.valueBlock.value[0].name].push(e.valueBlock.value[o])}}else if(n=ap(t,e.valueBlock.value[o-i],r.valueBlock.value[o]),!1===n.verified){if(!r.valueBlock.value[o].optional)return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,oh),r.name&&delete t[r.name]),n;i++}if(!1===n.verified){const e={verified:!1,result:t};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,oh),r.name&&(delete t[r.name],e.name=r.name)),e}return{verified:!0,result:t}}if(r.primitiveSchema&&Jl in e.valueBlock){const i=nu(e.valueBlock.valueHexView);if(-1===i.offset){const e={verified:!1,result:i.result};return r.name&&(r.name=r.name.replace(/^\s+|\s+$/g,oh),r.name&&(delete t[r.name],e.name=r.name)),e}return ap(t,i.result,r.primitiveSchema)}return{verified:!0,result:t}}function cp(t,e){if(e instanceof Object==!1)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const r=nu(Ml._H.toUint8Array(t));return-1===r.offset?{verified:!1,result:r.result}:ap(r.result,r.result,e)}!function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"}(eu||(eu={})),function(t){t[t.Any=1]="Any",t[t.Boolean=2]="Boolean",t[t.OctetString=3]="OctetString",t[t.BitString=4]="BitString",t[t.Integer=5]="Integer",t[t.Enumerated=6]="Enumerated",t[t.ObjectIdentifier=7]="ObjectIdentifier",t[t.Utf8String=8]="Utf8String",t[t.BmpString=9]="BmpString",t[t.UniversalString=10]="UniversalString",t[t.NumericString=11]="NumericString",t[t.PrintableString=12]="PrintableString",t[t.TeletexString=13]="TeletexString",t[t.VideotexString=14]="VideotexString",t[t.IA5String=15]="IA5String",t[t.GraphicString=16]="GraphicString",t[t.VisibleString=17]="VisibleString",t[t.GeneralString=18]="GeneralString",t[t.CharacterString=19]="CharacterString",t[t.UTCTime=20]="UTCTime",t[t.GeneralizedTime=21]="GeneralizedTime",t[t.DATE=22]="DATE",t[t.TimeOfDay=23]="TimeOfDay",t[t.DateTime=24]="DateTime",t[t.Duration=25]="Duration",t[t.TIME=26]="TIME",t[t.Null=27]="Null"}(ru||(ru={}));class lp{constructor(t,e=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),t)if("number"==typeof t)this.fromNumber(t);else{if(!Ml._H.isBufferSource(t))throw TypeError("Unsupported type of 'params' argument for BitString");this.unusedBits=e,this.value=Ml._H.toArrayBuffer(t)}}fromASN(t){if(!(t instanceof yu))throw new TypeError("Argument 'asn' is not instance of ASN.1 BitString");return this.unusedBits=t.valueBlock.unusedBits,this.value=t.valueBlock.valueHex,this}toASN(){return new yu({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(t){return new yu({name:t})}toNumber(){let t="";const e=new Uint8Array(this.value);for(const r of e)t+=r.toString(2).padStart(8,"0");return t=t.split("").reverse().join(""),this.unusedBits&&(t=t.slice(this.unusedBits).padStart(this.unusedBits,"0")),parseInt(t,2)}fromNumber(t){let e=t.toString(2);const r=e.length+7>>3;this.unusedBits=(r<<3)-e.length;const i=new Uint8Array(r);e=e.padStart(r<<3,"0").split("").reverse().join("");let n=0;for(;n<r;)i[n]=parseInt(e.slice(n<<3,8+(n<<3)),2),n++;this.value=i.buffer}}class hp{constructor(t){"number"==typeof t?this.buffer=new ArrayBuffer(t):Ml._H.isBufferSource(t)?this.buffer=Ml._H.toArrayBuffer(t):Array.isArray(t)?this.buffer=new Uint8Array(t):this.buffer=new ArrayBuffer(0)}get byteLength(){return this.buffer.byteLength}get byteOffset(){return 0}fromASN(t){if(!(t instanceof gu))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=t.valueBlock.valueHex,this}toASN(){return new gu({valueHex:this.buffer})}toSchema(t){return new gu({name:t})}}const up={fromASN:t=>t instanceof uu?null:t.valueBeforeDecodeView,toASN:t=>{if(null===t)return new uu;const e=su(t);if(e.result.error)throw new Error(e.result.error);return e.result}},pp={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new Eu({value:+t})},dp={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new _u({value:t})},fp={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Eu({valueHex:t})},gp={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new yu({valueHex:t})},mp={fromASN:t=>t.valueBlock.toString(),toASN:t=>new Su({value:t})},yp={fromASN:t=>t.valueBlock.value,toASN:t=>new du({value:t})},wp={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new gu({valueHex:t})},Ap={fromASN:t=>new hp(t.getValue()),toASN:t=>t.toASN()};function bp(t){return{fromASN:t=>t.valueBlock.value,toASN:e=>new t({value:e})}}const vp=bp(Lu),Ep=bp(Mu),_p=bp(Hu),xp=bp(ju),Ip=bp(Wu),Sp=bp(Qu),Tp=bp(zu),Cp=bp(Vu),Rp=bp(Gu),kp=bp(qu),Bp=bp(Ku),Np=bp(Xu),Op={fromASN:t=>t.toDate(),toASN:t=>new Yu({valueDate:t})},Dp={fromASN:t=>t.toDate(),toASN:t=>new Ju({valueDate:t})},Pp={fromASN:()=>null,toASN:()=>new uu};function Lp(t){switch(t){case ru.Any:return up;case ru.BitString:return gp;case ru.BmpString:return Ep;case ru.Boolean:return yp;case ru.CharacterString:return Np;case ru.Enumerated:return dp;case ru.GeneralString:return Bp;case ru.GeneralizedTime:return Dp;case ru.GraphicString:return Rp;case ru.IA5String:return Cp;case ru.Integer:return pp;case ru.Null:return Pp;case ru.NumericString:return xp;case ru.ObjectIdentifier:return mp;case ru.OctetString:return wp;case ru.PrintableString:return Ip;case ru.TeletexString:return Sp;case ru.UTCTime:return Op;case ru.UniversalString:return _p;case ru.Utf8String:return vp;case ru.VideotexString:return Tp;case ru.VisibleString:return kp;default:return null}}function Up(t){return"function"==typeof t&&t.prototype?!(!t.prototype.toASN||!t.prototype.fromASN)||Up(t.prototype):!!(t&&"object"==typeof t&&"toASN"in t&&"fromASN"in t)}function Mp(t){var e;if(t){const r=Object.getPrototypeOf(t);return(null===(e=null==r?void 0:r.prototype)||void 0===e?void 0:e.constructor)===Array||Mp(r)}return!1}function Fp(t,e){if(!t||!e)return!1;if(t.byteLength!==e.byteLength)return!1;const r=new Uint8Array(t),i=new Uint8Array(e);for(let e=0;e<t.byteLength;e++)if(r[e]!==i[e])return!1;return!0}const Hp=new class{constructor(){this.items=new WeakMap}has(t){return this.items.has(t)}get(t,e=!1){const r=this.items.get(t);if(!r)throw new Error(`Cannot get schema for '${t.prototype.constructor.name}' target`);if(e&&!r.schema)throw new Error(`Schema '${t.prototype.constructor.name}' doesn't contain ASN.1 schema. Call 'AsnSchemaStorage.cache'.`);return r}cache(t){const e=this.get(t);e.schema||(e.schema=this.create(t,!0))}createDefault(t){const e={type:eu.Sequence,items:{}},r=this.findParentSchema(t);return r&&(Object.assign(e,r),e.items=Object.assign({},e.items,r.items)),e}create(t,e){const r=this.items.get(t)||this.createDefault(t),n=[];for(const t in r.items){const s=r.items[t],o=e?t:"";let a;if("number"==typeof s.type){const t=ru[s.type],e=i[t];if(!e)throw new Error(`Cannot get ASN1 class by name '${t}'`);a=new e({name:o})}else if(Up(s.type)){a=(new s.type).toSchema(o)}else if(s.optional){this.get(s.type).type===eu.Choice?a=new ip({name:o}):(a=this.create(s.type,!1),a.name=o)}else a=new ip({name:o});const c=!!s.optional||void 0!==s.defaultValue;if(s.repeated){a.name="";a=new("set"===s.repeated?Bu:ku)({name:"",value:[new sp({name:o,value:a})]})}if(null!==s.context&&void 0!==s.context)if(s.implicit)if("number"==typeof s.type||Up(s.type)){const t=s.repeated?cu:iu;n.push(new t({name:o,optional:c,idBlock:{tagClass:3,tagNumber:s.context}}))}else{this.cache(s.type);const t=!!s.repeated;let e=t?a:this.get(s.type,!0).schema;e="valueBlock"in e?e.valueBlock.value:e.value,n.push(new cu({name:t?"":o,optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:e}))}else n.push(new cu({optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:[a]}));else a.optional=c,n.push(a)}switch(r.type){case eu.Sequence:return new ku({value:n,name:""});case eu.Set:return new Bu({value:n,name:""});case eu.Choice:return new np({value:n,name:""});default:throw new Error("Unsupported ASN1 type in use")}}set(t,e){return this.items.set(t,e),this}findParentSchema(t){const e=Object.getPrototypeOf(t);if(e){return this.items.get(e)||this.findParentSchema(e)}return null}},jp=t=>e=>{let r;Hp.has(e)?r=Hp.get(e):(r=Hp.createDefault(e),Hp.set(e,r)),Object.assign(r,t)},Wp=t=>(e,r)=>{let i;Hp.has(e.constructor)?i=Hp.get(e.constructor):(i=Hp.createDefault(e.constructor),Hp.set(e.constructor,i));const n=Object.assign({},t);if("number"==typeof n.type&&!n.converter){const i=Lp(t.type);if(!i)throw new Error(`Cannot get default converter for property '${r}' of ${e.constructor.name}`);n.converter=i}i.items[r]=n};class Qp extends Error{constructor(){super(...arguments),this.schemas=[]}}class zp{static parse(t,e){const r=su(t);if(r.result.error)throw new Error(r.result.error);return this.fromASN(r.result,e)}static fromASN(t,e){var r;try{if(Up(e)){return(new e).fromASN(t)}const n=Hp.get(e);Hp.cache(e);let s=n.schema;if(t.constructor===cu&&n.type!==eu.Choice){s=new cu({idBlock:{tagClass:3,tagNumber:t.idBlock.tagNumber},value:n.schema.valueBlock.value});for(const e in n.items)delete t[e]}const o=ap({},t,s);if(!o.verified)throw new Qp(`Data does not match to ${e.name} ASN1 schema. ${o.result.error}`);const a=new e;if(Mp(e)){if(!("value"in t.valueBlock)||!Array.isArray(t.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const r=n.itemType;if("number"==typeof r){const i=Lp(r);if(!i)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);return e.from(t.valueBlock.value,t=>i.fromASN(t))}return e.from(t.valueBlock.value,t=>this.fromASN(t,r))}for(const t in n.items){const e=o.result[t];if(!e)continue;const s=n.items[t],c=s.type;if("number"==typeof c||Up(c)){const n=null!==(r=s.converter)&&void 0!==r?r:Up(c)?new c:null;if(!n)throw new Error("Converter is empty");if(s.repeated)if(s.implicit){const r=new("sequence"===s.repeated?ku:Bu);r.valueBlock=e.valueBlock;const i=su(r.toBER(!1));if(-1===i.offset)throw new Error(`Cannot parse the child item. ${i.result.error}`);if(!("value"in i.result.valueBlock)||!Array.isArray(i.result.valueBlock.value))throw new Error("Cannot get items from the ASN.1 parsed value. ASN.1 object is not constructed.");const o=i.result.valueBlock.value;a[t]=Array.from(o,t=>n.fromASN(t))}else a[t]=Array.from(e,t=>n.fromASN(t));else{let r=e;if(s.implicit){let t;if(Up(c))t=(new c).toSchema("");else{const e=ru[c],r=i[e];if(!r)throw new Error(`Cannot get '${e}' class from asn1js module`);t=new r}t.valueBlock=r.valueBlock,r=su(t.toBER(!1)).result}a[t]=n.fromASN(r)}}else if(s.repeated){if(!Array.isArray(e))throw new Error("Cannot get list of items from the ASN.1 parsed value. ASN.1 value should be iterable.");a[t]=Array.from(e,t=>this.fromASN(t,c))}else a[t]=this.fromASN(e,c)}return a}catch(t){throw t instanceof Qp&&t.schemas.push(e.name),t}}}class Vp{static serialize(t){return t instanceof wh?t.toBER(!1):this.toASN(t).toBER(!1)}static toASN(t){if(t&&"object"==typeof t&&Up(t))return t.toASN();if(!t||"object"!=typeof t)throw new TypeError("Parameter 1 should be type of Object.");const e=t.constructor,r=Hp.get(e);Hp.cache(e);let i,n=[];if(r.itemType){if(!Array.isArray(t))throw new TypeError("Parameter 1 should be type of Array.");if("number"==typeof r.itemType){const i=Lp(r.itemType);if(!i)throw new Error(`Cannot get default converter for array item of ${e.name} ASN1 schema`);n=t.map(t=>i.toASN(t))}else n=t.map(t=>this.toAsnItem({type:r.itemType},"[]",e,t))}else for(const i in r.items){const s=r.items[i],o=t[i];if(void 0===o||s.defaultValue===o||"object"==typeof s.defaultValue&&"object"==typeof o&&Fp(this.serialize(s.defaultValue),this.serialize(o)))continue;const a=Vp.toAsnItem(s,i,e,o);if("number"==typeof s.context)if(s.implicit)if(s.repeated||"number"!=typeof s.type&&!Up(s.type))n.push(new cu({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},value:a.valueBlock.value}));else{const t={};t.valueHex=a instanceof uu?a.valueBeforeDecodeView:a.valueBlock.toBER(),n.push(new iu({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},...t}))}else n.push(new cu({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},value:[a]}));else s.repeated?n=n.concat(a):n.push(a)}switch(r.type){case eu.Sequence:i=new ku({value:n});break;case eu.Set:i=new Bu({value:n});break;case eu.Choice:if(!n[0])throw new Error(`Schema '${e.name}' has wrong data. Choice cannot be empty.`);i=n[0]}return i}static toAsnItem(t,e,r,i){let n;if("number"==typeof t.type){const s=t.converter;if(!s)throw new Error(`Property '${e}' doesn't have converter for type ${ru[t.type]} in schema '${r.name}'`);if(t.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const e=Array.from(i,t=>s.toASN(t));n=new("sequence"===t.repeated?ku:Bu)({value:e})}else n=s.toASN(i)}else if(t.repeated){if(!Array.isArray(i))throw new TypeError("Parameter 'objProp' should be type of Array.");const e=Array.from(i,t=>this.toASN(t));n=new("sequence"===t.repeated?ku:Bu)({value:e})}else n=this.toASN(i);return n}}class Gp extends Array{constructor(t=[]){if("number"==typeof t)super(t);else{super();for(const e of t)this.push(e)}}}class qp{static serialize(t){return Vp.serialize(t)}static parse(t,e){return zp.parse(t,e)}static toString(t){const e=su(Ml._H.isBufferSource(t)?Ml._H.toArrayBuffer(t):qp.serialize(t));if(-1===e.offset)throw new Error(`Cannot decode ASN.1 data. ${e.result.error}`);return e.result.toString()}}function Kp(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o}Object.create;Object.create;var Xp,Yp,Jp,Zp=r(640);class $p{static decodeIP(t){if(64===t.length&&0===parseInt(t,16))return"::/0";if(16!==t.length)return t;const e=parseInt(t.slice(8),16).toString(2).split("").reduce((t,e)=>t+ +e,0);let r=t.slice(0,8).replace(/(.{2})/g,t=>`${parseInt(t,16)}.`);return r=r.slice(0,-1),`${r}/${e}`}static toString(t){if(4===t.byteLength||16===t.byteLength){const e=new Uint8Array(t);return Zp.fromByteArray(Array.from(e)).toString()}return this.decodeIP(Ml.U$.ToHex(t))}static fromString(t){const e=Zp.parse(t);return new Uint8Array(e.toByteArray()).buffer}}let td=class{constructor(t={}){Object.assign(this,t)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};Kp([Wp({type:ru.TeletexString})],td.prototype,"teletexString",void 0),Kp([Wp({type:ru.PrintableString})],td.prototype,"printableString",void 0),Kp([Wp({type:ru.UniversalString})],td.prototype,"universalString",void 0),Kp([Wp({type:ru.Utf8String})],td.prototype,"utf8String",void 0),Kp([Wp({type:ru.BmpString})],td.prototype,"bmpString",void 0),td=Kp([jp({type:eu.Choice})],td);let ed=class extends td{constructor(t={}){super(t),Object.assign(this,t)}toString(){return this.ia5String||(this.anyValue?Ml.U$.ToHex(this.anyValue):super.toString())}};Kp([Wp({type:ru.IA5String})],ed.prototype,"ia5String",void 0),Kp([Wp({type:ru.Any})],ed.prototype,"anyValue",void 0),ed=Kp([jp({type:eu.Choice})],ed);class rd{constructor(t={}){this.type="",this.value=new ed,Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],rd.prototype,"type",void 0),Kp([Wp({type:ed})],rd.prototype,"value",void 0);let id=Xp=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Xp.prototype)}};id=Xp=Kp([jp({type:eu.Set,itemType:rd})],id);let nd=Yp=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Yp.prototype)}};nd=Yp=Kp([jp({type:eu.Sequence,itemType:id})],nd);let sd=Jp=class extends nd{constructor(t){super(t),Object.setPrototypeOf(this,Jp.prototype)}};sd=Jp=Kp([jp({type:eu.Sequence})],sd);const od={fromASN:t=>$p.toString(wp.fromASN(t)),toASN:t=>wp.toASN($p.fromString(t))};class ad{constructor(t={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],ad.prototype,"typeId",void 0),Kp([Wp({type:ru.Any,context:0})],ad.prototype,"value",void 0);class cd{constructor(t={}){this.partyName=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:td,optional:!0,context:0,implicit:!0})],cd.prototype,"nameAssigner",void 0),Kp([Wp({type:td,context:1,implicit:!0})],cd.prototype,"partyName",void 0);let ld=class{constructor(t={}){Object.assign(this,t)}};var hd;Kp([Wp({type:ad,context:0,implicit:!0})],ld.prototype,"otherName",void 0),Kp([Wp({type:ru.IA5String,context:1,implicit:!0})],ld.prototype,"rfc822Name",void 0),Kp([Wp({type:ru.IA5String,context:2,implicit:!0})],ld.prototype,"dNSName",void 0),Kp([Wp({type:ru.Any,context:3,implicit:!0})],ld.prototype,"x400Address",void 0),Kp([Wp({type:sd,context:4,implicit:!1})],ld.prototype,"directoryName",void 0),Kp([Wp({type:cd,context:5})],ld.prototype,"ediPartyName",void 0),Kp([Wp({type:ru.IA5String,context:6,implicit:!0})],ld.prototype,"uniformResourceIdentifier",void 0),Kp([Wp({type:ru.OctetString,context:7,implicit:!0,converter:od})],ld.prototype,"iPAddress",void 0),Kp([Wp({type:ru.ObjectIdentifier,context:8,implicit:!0})],ld.prototype,"registeredID",void 0),ld=Kp([jp({type:eu.Choice})],ld);class ud{constructor(t={}){this.accessMethod="",this.accessLocation=new ld,Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],ud.prototype,"accessMethod",void 0),Kp([Wp({type:ld})],ud.prototype,"accessLocation",void 0);let pd=hd=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,hd.prototype)}};pd=hd=Kp([jp({type:eu.Sequence,itemType:ud})],pd);const dd="1.3.6.1.5.5.7",fd=`${dd}.3`,gd="2.5.29",md=`${gd}.35`;class yd extends hp{}class wd{constructor(t={}){t&&Object.assign(this,t)}}Kp([Wp({type:yd,context:0,optional:!0,implicit:!0})],wd.prototype,"keyIdentifier",void 0),Kp([Wp({type:ld,context:1,optional:!0,implicit:!0,repeated:"sequence"})],wd.prototype,"authorityCertIssuer",void 0),Kp([Wp({type:ru.Integer,context:2,optional:!0,implicit:!0,converter:fp})],wd.prototype,"authorityCertSerialNumber",void 0);const Ad=`${gd}.19`;class bd{constructor(t={}){this.cA=!1,Object.assign(this,t)}}var vd;Kp([Wp({type:ru.Boolean,defaultValue:!1})],bd.prototype,"cA",void 0),Kp([Wp({type:ru.Integer,optional:!0})],bd.prototype,"pathLenConstraint",void 0);let Ed=vd=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,vd.prototype)}};var _d;Ed=vd=Kp([jp({type:eu.Sequence,itemType:ld})],Ed);let xd=_d=class extends Ed{constructor(t){super(t),Object.setPrototypeOf(this,_d.prototype)}};var Id;xd=_d=Kp([jp({type:eu.Sequence})],xd);const Sd=`${gd}.32`;let Td=class{constructor(t={}){Object.assign(this,t)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};Kp([Wp({type:ru.IA5String})],Td.prototype,"ia5String",void 0),Kp([Wp({type:ru.VisibleString})],Td.prototype,"visibleString",void 0),Kp([Wp({type:ru.BmpString})],Td.prototype,"bmpString",void 0),Kp([Wp({type:ru.Utf8String})],Td.prototype,"utf8String",void 0),Td=Kp([jp({type:eu.Choice})],Td);class Cd{constructor(t={}){this.organization=new Td,this.noticeNumbers=[],Object.assign(this,t)}}Kp([Wp({type:Td})],Cd.prototype,"organization",void 0),Kp([Wp({type:ru.Integer,repeated:"sequence"})],Cd.prototype,"noticeNumbers",void 0);class Rd{constructor(t={}){Object.assign(this,t)}}Kp([Wp({type:Cd,optional:!0})],Rd.prototype,"noticeRef",void 0),Kp([Wp({type:Td,optional:!0})],Rd.prototype,"explicitText",void 0);let kd=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:ru.IA5String})],kd.prototype,"cPSuri",void 0),Kp([Wp({type:Rd})],kd.prototype,"userNotice",void 0),kd=Kp([jp({type:eu.Choice})],kd);class Bd{constructor(t={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],Bd.prototype,"policyQualifierId",void 0),Kp([Wp({type:ru.Any})],Bd.prototype,"qualifier",void 0);class Nd{constructor(t={}){this.policyIdentifier="",Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],Nd.prototype,"policyIdentifier",void 0),Kp([Wp({type:Bd,repeated:"sequence",optional:!0})],Nd.prototype,"policyQualifiers",void 0);let Od=Id=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Id.prototype)}};Od=Id=Kp([jp({type:eu.Sequence,itemType:Nd})],Od);let Dd=class{constructor(t=0){this.value=t}};Kp([Wp({type:ru.Integer})],Dd.prototype,"value",void 0),Dd=Kp([jp({type:eu.Choice})],Dd);let Pd=class extends Dd{};var Ld;Pd=Kp([jp({type:eu.Choice})],Pd);var Ud;!function(t){t[t.unused=1]="unused",t[t.keyCompromise=2]="keyCompromise",t[t.cACompromise=4]="cACompromise",t[t.affiliationChanged=8]="affiliationChanged",t[t.superseded=16]="superseded",t[t.cessationOfOperation=32]="cessationOfOperation",t[t.certificateHold=64]="certificateHold",t[t.privilegeWithdrawn=128]="privilegeWithdrawn",t[t.aACompromise=256]="aACompromise"}(Ud||(Ud={}));class Md extends lp{toJSON(){const t=[],e=this.toNumber();return e&Ud.aACompromise&&t.push("aACompromise"),e&Ud.affiliationChanged&&t.push("affiliationChanged"),e&Ud.cACompromise&&t.push("cACompromise"),e&Ud.certificateHold&&t.push("certificateHold"),e&Ud.cessationOfOperation&&t.push("cessationOfOperation"),e&Ud.keyCompromise&&t.push("keyCompromise"),e&Ud.privilegeWithdrawn&&t.push("privilegeWithdrawn"),e&Ud.superseded&&t.push("superseded"),e&Ud.unused&&t.push("unused"),t}toString(){return`[${this.toJSON().join(", ")}]`}}let Fd=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:ld,context:0,repeated:"sequence",implicit:!0})],Fd.prototype,"fullName",void 0),Kp([Wp({type:id,context:1,implicit:!0})],Fd.prototype,"nameRelativeToCRLIssuer",void 0),Fd=Kp([jp({type:eu.Choice})],Fd);class Hd{constructor(t={}){Object.assign(this,t)}}Kp([Wp({type:Fd,context:0,optional:!0})],Hd.prototype,"distributionPoint",void 0),Kp([Wp({type:Md,context:1,optional:!0,implicit:!0})],Hd.prototype,"reasons",void 0),Kp([Wp({type:ld,context:2,optional:!0,repeated:"sequence",implicit:!0})],Hd.prototype,"cRLIssuer",void 0);let jd=Ld=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Ld.prototype)}};var Wd;jd=Ld=Kp([jp({type:eu.Sequence,itemType:Hd})],jd);let Qd=Wd=class extends jd{constructor(t){super(t),Object.setPrototypeOf(this,Wd.prototype)}};Qd=Wd=Kp([jp({type:eu.Sequence,itemType:Hd})],Qd);class zd{constructor(t={}){this.onlyContainsUserCerts=zd.ONLY,this.onlyContainsCACerts=zd.ONLY,this.indirectCRL=zd.ONLY,this.onlyContainsAttributeCerts=zd.ONLY,Object.assign(this,t)}}zd.ONLY=!1,Kp([Wp({type:Fd,context:0,optional:!0})],zd.prototype,"distributionPoint",void 0),Kp([Wp({type:ru.Boolean,context:1,defaultValue:zd.ONLY,implicit:!0})],zd.prototype,"onlyContainsUserCerts",void 0),Kp([Wp({type:ru.Boolean,context:2,defaultValue:zd.ONLY,implicit:!0})],zd.prototype,"onlyContainsCACerts",void 0),Kp([Wp({type:Md,context:3,optional:!0,implicit:!0})],zd.prototype,"onlySomeReasons",void 0),Kp([Wp({type:ru.Boolean,context:4,defaultValue:zd.ONLY,implicit:!0})],zd.prototype,"indirectCRL",void 0),Kp([Wp({type:ru.Boolean,context:5,defaultValue:zd.ONLY,implicit:!0})],zd.prototype,"onlyContainsAttributeCerts",void 0);var Vd;!function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(Vd||(Vd={}));let Gd=class{constructor(t=Vd.unspecified){this.reason=Vd.unspecified,this.reason=t}toJSON(){return Vd[this.reason]}toString(){return this.toJSON()}};var qd;Kp([Wp({type:ru.Enumerated})],Gd.prototype,"reason",void 0),Gd=Kp([jp({type:eu.Choice})],Gd);const Kd=`${gd}.37`;let Xd=qd=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,qd.prototype)}};Xd=qd=Kp([jp({type:eu.Sequence,itemType:ru.ObjectIdentifier})],Xd);const Yd=`${fd}.1`,Jd=`${fd}.2`,Zd=`${fd}.3`,$d=`${fd}.4`,tf=`${fd}.8`,ef=`${fd}.9`;let rf=class{constructor(t=new ArrayBuffer(0)){this.value=t}};Kp([Wp({type:ru.Integer,converter:fp})],rf.prototype,"value",void 0),rf=Kp([jp({type:eu.Choice})],rf);let nf=class{constructor(t){this.value=new Date,t&&(this.value=t)}};var sf;Kp([Wp({type:ru.GeneralizedTime})],nf.prototype,"value",void 0),nf=Kp([jp({type:eu.Choice})],nf);let of=sf=class extends Ed{constructor(t){super(t),Object.setPrototypeOf(this,sf.prototype)}};of=sf=Kp([jp({type:eu.Sequence})],of);const af=`${gd}.15`;var cf,lf;!function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(cf||(cf={}));class hf extends lp{toJSON(){const t=this.toNumber(),e=[];return t&cf.cRLSign&&e.push("crlSign"),t&cf.dataEncipherment&&e.push("dataEncipherment"),t&cf.decipherOnly&&e.push("decipherOnly"),t&cf.digitalSignature&&e.push("digitalSignature"),t&cf.encipherOnly&&e.push("encipherOnly"),t&cf.keyAgreement&&e.push("keyAgreement"),t&cf.keyCertSign&&e.push("keyCertSign"),t&cf.keyEncipherment&&e.push("keyEncipherment"),t&cf.nonRepudiation&&e.push("nonRepudiation"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class uf{constructor(t={}){this.base=new ld,this.minimum=0,Object.assign(this,t)}}Kp([Wp({type:ld})],uf.prototype,"base",void 0),Kp([Wp({type:ru.Integer,context:0,defaultValue:0,implicit:!0})],uf.prototype,"minimum",void 0),Kp([Wp({type:ru.Integer,context:1,optional:!0,implicit:!0})],uf.prototype,"maximum",void 0);let pf=lf=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,lf.prototype)}};pf=lf=Kp([jp({type:eu.Sequence,itemType:uf})],pf);class df{constructor(t={}){Object.assign(this,t)}}Kp([Wp({type:pf,context:0,optional:!0,implicit:!0})],df.prototype,"permittedSubtrees",void 0),Kp([Wp({type:pf,context:1,optional:!0,implicit:!0})],df.prototype,"excludedSubtrees",void 0);class ff{constructor(t={}){Object.assign(this,t)}}var gf;Kp([Wp({type:ru.Integer,context:0,implicit:!0,optional:!0,converter:fp})],ff.prototype,"requireExplicitPolicy",void 0),Kp([Wp({type:ru.Integer,context:1,implicit:!0,optional:!0,converter:fp})],ff.prototype,"inhibitPolicyMapping",void 0);class mf{constructor(t={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],mf.prototype,"issuerDomainPolicy",void 0),Kp([Wp({type:ru.ObjectIdentifier})],mf.prototype,"subjectDomainPolicy",void 0);let yf=gf=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,gf.prototype)}};var wf;yf=gf=Kp([jp({type:eu.Sequence,itemType:mf})],yf);const Af=`${gd}.17`;let bf=wf=class extends Ed{constructor(t){super(t),Object.setPrototypeOf(this,wf.prototype)}};bf=wf=Kp([jp({type:eu.Sequence})],bf);class vf{constructor(t={}){this.type="",this.values=[],Object.assign(this,t)}}var Ef;Kp([Wp({type:ru.ObjectIdentifier})],vf.prototype,"type",void 0),Kp([Wp({type:ru.Any,repeated:"set"})],vf.prototype,"values",void 0);let _f=Ef=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Ef.prototype)}};_f=Ef=Kp([jp({type:eu.Sequence,itemType:vf})],_f);const xf=`${gd}.14`;class If extends yd{}class Sf{constructor(t={}){Object.assign(this,t)}}Kp([Wp({type:ru.GeneralizedTime,context:0,implicit:!0,optional:!0})],Sf.prototype,"notBefore",void 0),Kp([Wp({type:ru.GeneralizedTime,context:1,implicit:!0,optional:!0})],Sf.prototype,"notAfter",void 0);var Tf,Cf;!function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"}(Tf||(Tf={}));class Rf extends lp{toJSON(){const t=[],e=this.toNumber();return e&Tf.pKIXCertificate&&t.push("pKIXCertificate"),e&Tf.newExtensions&&t.push("newExtensions"),e&Tf.keyUpdateAllowed&&t.push("keyUpdateAllowed"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class kf{constructor(t={}){this.entrustVers="",this.entrustInfoFlags=new Rf,Object.assign(this,t)}}Kp([Wp({type:ru.GeneralString})],kf.prototype,"entrustVers",void 0),Kp([Wp({type:Rf})],kf.prototype,"entrustInfoFlags",void 0);let Bf=Cf=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Cf.prototype)}};Bf=Cf=Kp([jp({type:eu.Sequence,itemType:ud})],Bf);class Nf{constructor(t={}){this.algorithm="",Object.assign(this,t)}isEqual(t){return t instanceof Nf&&t.algorithm==this.algorithm&&(t.parameters&&this.parameters&&Ml.n4(t.parameters,this.parameters)||t.parameters===this.parameters)}}Kp([Wp({type:ru.ObjectIdentifier})],Nf.prototype,"algorithm",void 0),Kp([Wp({type:ru.Any,optional:!0})],Nf.prototype,"parameters",void 0);class Of{constructor(t={}){this.algorithm=new Nf,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:Nf})],Of.prototype,"algorithm",void 0),Kp([Wp({type:ru.BitString})],Of.prototype,"subjectPublicKey",void 0);let Df=class{constructor(t){if(t)if("string"==typeof t||"number"==typeof t||t instanceof Date){const e=new Date(t);e.getUTCFullYear()>2049?this.generalTime=e:this.utcTime=e}else Object.assign(this,t)}getTime(){const t=this.utcTime||this.generalTime;if(!t)throw new Error("Cannot get time from CHOICE object");return t}};Kp([Wp({type:ru.UTCTime})],Df.prototype,"utcTime",void 0),Kp([Wp({type:ru.GeneralizedTime})],Df.prototype,"generalTime",void 0),Df=Kp([jp({type:eu.Choice})],Df);class Pf{constructor(t){this.notBefore=new Df(new Date),this.notAfter=new Df(new Date),t&&(this.notBefore=new Df(t.notBefore),this.notAfter=new Df(t.notAfter))}}var Lf;Kp([Wp({type:Df})],Pf.prototype,"notBefore",void 0),Kp([Wp({type:Df})],Pf.prototype,"notAfter",void 0);class Uf{constructor(t={}){this.extnID="",this.critical=Uf.CRITICAL,this.extnValue=new hp,Object.assign(this,t)}}Uf.CRITICAL=!1,Kp([Wp({type:ru.ObjectIdentifier})],Uf.prototype,"extnID",void 0),Kp([Wp({type:ru.Boolean,defaultValue:Uf.CRITICAL})],Uf.prototype,"critical",void 0),Kp([Wp({type:hp})],Uf.prototype,"extnValue",void 0);let Mf=Lf=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Lf.prototype)}};var Ff,Hf;Mf=Lf=Kp([jp({type:eu.Sequence,itemType:Uf})],Mf),function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"}(Ff||(Ff={}));class jf{constructor(t={}){this.version=Ff.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new Nf,this.issuer=new sd,this.validity=new Pf,this.subject=new sd,this.subjectPublicKeyInfo=new Of,Object.assign(this,t)}}Kp([Wp({type:ru.Integer,context:0,defaultValue:Ff.v1})],jf.prototype,"version",void 0),Kp([Wp({type:ru.Integer,converter:fp})],jf.prototype,"serialNumber",void 0),Kp([Wp({type:Nf})],jf.prototype,"signature",void 0),Kp([Wp({type:sd})],jf.prototype,"issuer",void 0),Kp([Wp({type:Pf})],jf.prototype,"validity",void 0),Kp([Wp({type:sd})],jf.prototype,"subject",void 0),Kp([Wp({type:Of})],jf.prototype,"subjectPublicKeyInfo",void 0),Kp([Wp({type:ru.BitString,context:1,implicit:!0,optional:!0})],jf.prototype,"issuerUniqueID",void 0),Kp([Wp({type:ru.BitString,context:2,implicit:!0,optional:!0})],jf.prototype,"subjectUniqueID",void 0),Kp([Wp({type:Mf,context:3,optional:!0})],jf.prototype,"extensions",void 0);class Wf{constructor(t={}){this.tbsCertificate=new jf,this.signatureAlgorithm=new Nf,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:jf})],Wf.prototype,"tbsCertificate",void 0),Kp([Wp({type:Nf})],Wf.prototype,"signatureAlgorithm",void 0),Kp([Wp({type:ru.BitString})],Wf.prototype,"signatureValue",void 0);class Qf{constructor(t={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Df,Object.assign(this,t)}}Kp([Wp({type:ru.Integer,converter:fp})],Qf.prototype,"userCertificate",void 0),Kp([Wp({type:Df})],Qf.prototype,"revocationDate",void 0),Kp([Wp({type:Uf,optional:!0,repeated:"sequence"})],Qf.prototype,"crlEntryExtensions",void 0);class zf{constructor(t={}){this.signature=new Nf,this.issuer=new sd,this.thisUpdate=new Df,Object.assign(this,t)}}Kp([Wp({type:ru.Integer,optional:!0})],zf.prototype,"version",void 0),Kp([Wp({type:Nf})],zf.prototype,"signature",void 0),Kp([Wp({type:sd})],zf.prototype,"issuer",void 0),Kp([Wp({type:Df})],zf.prototype,"thisUpdate",void 0),Kp([Wp({type:Df,optional:!0})],zf.prototype,"nextUpdate",void 0),Kp([Wp({type:Qf,repeated:"sequence",optional:!0})],zf.prototype,"revokedCertificates",void 0),Kp([Wp({type:Uf,optional:!0,context:0,repeated:"sequence"})],zf.prototype,"crlExtensions",void 0);class Vf{constructor(t={}){this.tbsCertList=new zf,this.signatureAlgorithm=new Nf,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:zf})],Vf.prototype,"tbsCertList",void 0),Kp([Wp({type:Nf})],Vf.prototype,"signatureAlgorithm",void 0),Kp([Wp({type:ru.BitString})],Vf.prototype,"signature",void 0);class Gf{constructor(t={}){this.attrType="",this.attrValues=[],Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],Gf.prototype,"attrType",void 0),Kp([Wp({type:ru.Any,repeated:"set"})],Gf.prototype,"attrValues",void 0);class qf{constructor(t={}){this.acIssuer=new ld,this.acSerial=0,this.attrs=[],Object.assign(this,t)}}Kp([Wp({type:ld})],qf.prototype,"acIssuer",void 0),Kp([Wp({type:ru.Integer})],qf.prototype,"acSerial",void 0),Kp([Wp({type:vf,repeated:"sequence"})],qf.prototype,"attrs",void 0);let Kf=Hf=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Hf.prototype)}};Kf=Hf=Kp([jp({type:eu.Sequence,itemType:ru.ObjectIdentifier})],Kf);class Xf{constructor(t={}){this.permitUnSpecified=!0,Object.assign(this,t)}}Kp([Wp({type:ru.Integer,optional:!0})],Xf.prototype,"pathLenConstraint",void 0),Kp([Wp({type:Kf,implicit:!0,context:0,optional:!0})],Xf.prototype,"permittedAttrs",void 0),Kp([Wp({type:Kf,implicit:!0,context:1,optional:!0})],Xf.prototype,"excludedAttrs",void 0),Kp([Wp({type:ru.Boolean,defaultValue:!0})],Xf.prototype,"permitUnSpecified",void 0);class Yf{constructor(t={}){this.issuer=new Ed,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,t)}}var Jf;Kp([Wp({type:Ed})],Yf.prototype,"issuer",void 0),Kp([Wp({type:ru.Integer,converter:fp})],Yf.prototype,"serial",void 0),Kp([Wp({type:ru.BitString,optional:!0})],Yf.prototype,"issuerUID",void 0),function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"}(Jf||(Jf={}));class Zf{constructor(t={}){this.digestedObjectType=Jf.publicKey,this.digestAlgorithm=new Nf,this.objectDigest=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.Enumerated})],Zf.prototype,"digestedObjectType",void 0),Kp([Wp({type:ru.ObjectIdentifier,optional:!0})],Zf.prototype,"otherObjectTypeID",void 0),Kp([Wp({type:Nf})],Zf.prototype,"digestAlgorithm",void 0),Kp([Wp({type:ru.BitString})],Zf.prototype,"objectDigest",void 0);class $f{constructor(t={}){Object.assign(this,t)}}Kp([Wp({type:Ed,optional:!0})],$f.prototype,"issuerName",void 0),Kp([Wp({type:Yf,context:0,implicit:!0,optional:!0})],$f.prototype,"baseCertificateID",void 0),Kp([Wp({type:Zf,context:1,implicit:!0,optional:!0})],$f.prototype,"objectDigestInfo",void 0);let tg=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:ld,repeated:"sequence"})],tg.prototype,"v1Form",void 0),Kp([Wp({type:$f,context:0,implicit:!0})],tg.prototype,"v2Form",void 0),tg=Kp([jp({type:eu.Choice})],tg);class eg{constructor(t={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,t)}}Kp([Wp({type:ru.GeneralizedTime})],eg.prototype,"notBeforeTime",void 0),Kp([Wp({type:ru.GeneralizedTime})],eg.prototype,"notAfterTime",void 0);class rg{constructor(t={}){Object.assign(this,t)}}var ig,ng;Kp([Wp({type:Yf,implicit:!0,context:0,optional:!0})],rg.prototype,"baseCertificateID",void 0),Kp([Wp({type:Ed,implicit:!0,context:1,optional:!0})],rg.prototype,"entityName",void 0),Kp([Wp({type:Zf,implicit:!0,context:2,optional:!0})],rg.prototype,"objectDigestInfo",void 0),function(t){t[t.v2=1]="v2"}(ig||(ig={}));class sg{constructor(t={}){this.version=ig.v2,this.holder=new rg,this.issuer=new tg,this.signature=new Nf,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new eg,this.attributes=[],Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],sg.prototype,"version",void 0),Kp([Wp({type:rg})],sg.prototype,"holder",void 0),Kp([Wp({type:tg})],sg.prototype,"issuer",void 0),Kp([Wp({type:Nf})],sg.prototype,"signature",void 0),Kp([Wp({type:ru.Integer,converter:fp})],sg.prototype,"serialNumber",void 0),Kp([Wp({type:eg})],sg.prototype,"attrCertValidityPeriod",void 0),Kp([Wp({type:vf,repeated:"sequence"})],sg.prototype,"attributes",void 0),Kp([Wp({type:ru.BitString,optional:!0})],sg.prototype,"issuerUniqueID",void 0),Kp([Wp({type:Mf,optional:!0})],sg.prototype,"extensions",void 0);class og{constructor(t={}){this.acinfo=new sg,this.signatureAlgorithm=new Nf,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:sg})],og.prototype,"acinfo",void 0),Kp([Wp({type:Nf})],og.prototype,"signatureAlgorithm",void 0),Kp([Wp({type:ru.BitString})],og.prototype,"signatureValue",void 0),function(t){t[t.unmarked=1]="unmarked",t[t.unclassified=2]="unclassified",t[t.restricted=4]="restricted",t[t.confidential=8]="confidential",t[t.secret=16]="secret",t[t.topSecret=32]="topSecret"}(ng||(ng={}));class ag extends lp{}class cg{constructor(t={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier,implicit:!0,context:0})],cg.prototype,"type",void 0),Kp([Wp({type:ru.Any,implicit:!0,context:1})],cg.prototype,"value",void 0);class lg{constructor(t={}){this.policyId="",this.classList=new ag(ng.unclassified),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],lg.prototype,"policyId",void 0),Kp([Wp({type:ag,defaultValue:new ag(ng.unclassified)})],lg.prototype,"classList",void 0),Kp([Wp({type:cg,repeated:"set"})],lg.prototype,"securityCategories",void 0);class hg{constructor(t={}){Object.assign(this,t)}}Kp([Wp({type:hp})],hg.prototype,"cotets",void 0),Kp([Wp({type:ru.ObjectIdentifier})],hg.prototype,"oid",void 0),Kp([Wp({type:ru.Utf8String})],hg.prototype,"string",void 0);class ug{constructor(t={}){this.values=[],Object.assign(this,t)}}Kp([Wp({type:Ed,implicit:!0,context:0,optional:!0})],ug.prototype,"policyAuthority",void 0),Kp([Wp({type:hg,repeated:"sequence"})],ug.prototype,"values",void 0);var pg;class dg{constructor(t={}){this.targetCertificate=new Yf,Object.assign(this,t)}}Kp([Wp({type:Yf})],dg.prototype,"targetCertificate",void 0),Kp([Wp({type:ld,optional:!0})],dg.prototype,"targetName",void 0),Kp([Wp({type:Zf,optional:!0})],dg.prototype,"certDigestInfo",void 0);let fg=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:ld,context:0,implicit:!0})],fg.prototype,"targetName",void 0),Kp([Wp({type:ld,context:1,implicit:!0})],fg.prototype,"targetGroup",void 0),Kp([Wp({type:dg,context:2,implicit:!0})],fg.prototype,"targetCert",void 0),fg=Kp([jp({type:eu.Choice})],fg);let gg=pg=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,pg.prototype)}};var mg;gg=pg=Kp([jp({type:eu.Sequence,itemType:fg})],gg);let yg=mg=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,mg.prototype)}};yg=mg=Kp([jp({type:eu.Sequence,itemType:gg})],yg);class wg{constructor(t={}){Object.assign(this,t)}}Kp([Wp({type:Ed,implicit:!0,context:0,optional:!0})],wg.prototype,"roleAuthority",void 0),Kp([Wp({type:ld,implicit:!0,context:1})],wg.prototype,"roleName",void 0);class Ag{constructor(t={}){this.service=new ld,this.ident=new ld,Object.assign(this,t)}}var bg;Kp([Wp({type:ld})],Ag.prototype,"service",void 0),Kp([Wp({type:ld})],Ag.prototype,"ident",void 0),Kp([Wp({type:hp,optional:!0})],Ag.prototype,"authInfo",void 0);class vg{constructor(t={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],vg.prototype,"otherCertFormat",void 0),Kp([Wp({type:ru.Any})],vg.prototype,"otherCert",void 0);let Eg=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:Wf})],Eg.prototype,"certificate",void 0),Kp([Wp({type:og,context:2,implicit:!0})],Eg.prototype,"v2AttrCert",void 0),Kp([Wp({type:vg,context:3,implicit:!0})],Eg.prototype,"other",void 0),Eg=Kp([jp({type:eu.Choice})],Eg);let _g=bg=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,bg.prototype)}};_g=bg=Kp([jp({type:eu.Set,itemType:Eg})],_g);class xg{constructor(t={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],xg.prototype,"contentType",void 0),Kp([Wp({type:ru.Any,context:0})],xg.prototype,"content",void 0);let Ig=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:hp})],Ig.prototype,"single",void 0),Kp([Wp({type:ru.Any})],Ig.prototype,"any",void 0),Ig=Kp([jp({type:eu.Choice})],Ig);class Sg{constructor(t={}){this.eContentType="",Object.assign(this,t)}}var Tg;Kp([Wp({type:ru.ObjectIdentifier})],Sg.prototype,"eContentType",void 0),Kp([Wp({type:Ig,context:0,optional:!0})],Sg.prototype,"eContent",void 0),function(t){t[t.v0=0]="v0",t[t.v1=1]="v1",t[t.v2=2]="v2",t[t.v3=3]="v3",t[t.v4=4]="v4",t[t.v5=5]="v5"}(Tg||(Tg={}));let Cg=class extends Nf{};Cg=Kp([jp({type:eu.Sequence})],Cg);let Rg=class extends Nf{};Rg=Kp([jp({type:eu.Sequence})],Rg);let kg=class extends Nf{};kg=Kp([jp({type:eu.Sequence})],kg);let Bg=class extends Nf{};Bg=Kp([jp({type:eu.Sequence})],Bg);let Ng=class extends Nf{};Ng=Kp([jp({type:eu.Sequence})],Ng);let Og=class extends Nf{};Og=Kp([jp({type:eu.Sequence})],Og);let Dg=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:hp,context:0,implicit:!0,optional:!0})],Dg.prototype,"value",void 0),Kp([Wp({type:hp,converter:Ap,context:0,implicit:!0,optional:!0,repeated:"sequence"})],Dg.prototype,"constructedValue",void 0),Dg=Kp([jp({type:eu.Choice})],Dg);class Pg{constructor(t={}){this.contentType="",this.contentEncryptionAlgorithm=new Bg,Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],Pg.prototype,"contentType",void 0),Kp([Wp({type:Bg})],Pg.prototype,"contentEncryptionAlgorithm",void 0),Kp([Wp({type:Dg,optional:!0})],Pg.prototype,"encryptedContent",void 0);class Lg{constructor(t={}){this.issuer=new sd,this.serialNumber=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:sd})],Lg.prototype,"issuer",void 0),Kp([Wp({type:ru.Integer,converter:fp})],Lg.prototype,"serialNumber",void 0);class Ug{constructor(t={}){this.keyAttrId="",Object.assign(this,t)}}var Mg;Kp([Wp({type:ru.ObjectIdentifier})],Ug.prototype,"keyAttrId",void 0),Kp([Wp({type:ru.Any,optional:!0})],Ug.prototype,"keyAttr",void 0);class Fg{constructor(t={}){this.subjectKeyIdentifier=new If,Object.assign(this,t)}}Kp([Wp({type:If})],Fg.prototype,"subjectKeyIdentifier",void 0),Kp([Wp({type:ru.GeneralizedTime,optional:!0})],Fg.prototype,"date",void 0),Kp([Wp({type:Ug,optional:!0})],Fg.prototype,"other",void 0);let Hg=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:Fg,context:0,implicit:!0,optional:!0})],Hg.prototype,"rKeyId",void 0),Kp([Wp({type:Lg,optional:!0})],Hg.prototype,"issuerAndSerialNumber",void 0),Hg=Kp([jp({type:eu.Choice})],Hg);class jg{constructor(t={}){this.rid=new Hg,this.encryptedKey=new hp,Object.assign(this,t)}}Kp([Wp({type:Hg})],jg.prototype,"rid",void 0),Kp([Wp({type:hp})],jg.prototype,"encryptedKey",void 0);let Wg=Mg=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Mg.prototype)}};Wg=Mg=Kp([jp({type:eu.Sequence,itemType:jg})],Wg);class Qg{constructor(t={}){this.algorithm=new Nf,this.publicKey=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:Nf})],Qg.prototype,"algorithm",void 0),Kp([Wp({type:ru.BitString})],Qg.prototype,"publicKey",void 0);let zg=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:If,context:0,implicit:!0,optional:!0})],zg.prototype,"subjectKeyIdentifier",void 0),Kp([Wp({type:Qg,context:1,implicit:!0,optional:!0})],zg.prototype,"originatorKey",void 0),Kp([Wp({type:Lg,optional:!0})],zg.prototype,"issuerAndSerialNumber",void 0),zg=Kp([jp({type:eu.Choice})],zg);class Vg{constructor(t={}){this.version=Tg.v3,this.originator=new zg,this.keyEncryptionAlgorithm=new kg,this.recipientEncryptedKeys=new Wg,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],Vg.prototype,"version",void 0),Kp([Wp({type:zg,context:0})],Vg.prototype,"originator",void 0),Kp([Wp({type:hp,context:1,optional:!0})],Vg.prototype,"ukm",void 0),Kp([Wp({type:kg})],Vg.prototype,"keyEncryptionAlgorithm",void 0),Kp([Wp({type:Wg})],Vg.prototype,"recipientEncryptedKeys",void 0);let Gg=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:If,context:0,implicit:!0})],Gg.prototype,"subjectKeyIdentifier",void 0),Kp([Wp({type:Lg})],Gg.prototype,"issuerAndSerialNumber",void 0),Gg=Kp([jp({type:eu.Choice})],Gg);class qg{constructor(t={}){this.version=Tg.v0,this.rid=new Gg,this.keyEncryptionAlgorithm=new kg,this.encryptedKey=new hp,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],qg.prototype,"version",void 0),Kp([Wp({type:Gg})],qg.prototype,"rid",void 0),Kp([Wp({type:kg})],qg.prototype,"keyEncryptionAlgorithm",void 0),Kp([Wp({type:hp})],qg.prototype,"encryptedKey",void 0);class Kg{constructor(t={}){this.keyIdentifier=new hp,Object.assign(this,t)}}Kp([Wp({type:hp})],Kg.prototype,"keyIdentifier",void 0),Kp([Wp({type:ru.GeneralizedTime,optional:!0})],Kg.prototype,"date",void 0),Kp([Wp({type:Ug,optional:!0})],Kg.prototype,"other",void 0);class Xg{constructor(t={}){this.version=Tg.v4,this.kekid=new Kg,this.keyEncryptionAlgorithm=new kg,this.encryptedKey=new hp,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],Xg.prototype,"version",void 0),Kp([Wp({type:Kg})],Xg.prototype,"kekid",void 0),Kp([Wp({type:kg})],Xg.prototype,"keyEncryptionAlgorithm",void 0),Kp([Wp({type:hp})],Xg.prototype,"encryptedKey",void 0);class Yg{constructor(t={}){this.version=Tg.v0,this.keyEncryptionAlgorithm=new kg,this.encryptedKey=new hp,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],Yg.prototype,"version",void 0),Kp([Wp({type:Og,context:0,optional:!0})],Yg.prototype,"keyDerivationAlgorithm",void 0),Kp([Wp({type:kg})],Yg.prototype,"keyEncryptionAlgorithm",void 0),Kp([Wp({type:hp})],Yg.prototype,"encryptedKey",void 0);class Jg{constructor(t={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],Jg.prototype,"oriType",void 0),Kp([Wp({type:ru.Any})],Jg.prototype,"oriValue",void 0);let Zg=class{constructor(t={}){Object.assign(this,t)}};var $g;Kp([Wp({type:qg,optional:!0})],Zg.prototype,"ktri",void 0),Kp([Wp({type:Vg,context:1,implicit:!0,optional:!0})],Zg.prototype,"kari",void 0),Kp([Wp({type:Xg,context:2,implicit:!0,optional:!0})],Zg.prototype,"kekri",void 0),Kp([Wp({type:Yg,context:3,implicit:!0,optional:!0})],Zg.prototype,"pwri",void 0),Kp([Wp({type:Jg,context:4,implicit:!0,optional:!0})],Zg.prototype,"ori",void 0),Zg=Kp([jp({type:eu.Choice})],Zg);let tm=$g=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,$g.prototype)}};var em;tm=$g=Kp([jp({type:eu.Set,itemType:Zg})],tm);class rm{constructor(t={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],rm.prototype,"otherRevInfoFormat",void 0),Kp([Wp({type:ru.Any})],rm.prototype,"otherRevInfo",void 0);let im=class{constructor(t={}){this.other=new rm,Object.assign(this,t)}};Kp([Wp({type:rm,context:1,implicit:!0})],im.prototype,"other",void 0),im=Kp([jp({type:eu.Choice})],im);let nm=em=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,em.prototype)}};nm=em=Kp([jp({type:eu.Set,itemType:im})],nm);class sm{constructor(t={}){Object.assign(this,t)}}var om;Kp([Wp({type:_g,context:0,implicit:!0,optional:!0})],sm.prototype,"certs",void 0),Kp([Wp({type:nm,context:1,implicit:!0,optional:!0})],sm.prototype,"crls",void 0);let am=om=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,om.prototype)}};am=om=Kp([jp({type:eu.Set,itemType:Gf})],am);class cm{constructor(t={}){this.version=Tg.v0,this.recipientInfos=new tm,this.encryptedContentInfo=new Pg,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],cm.prototype,"version",void 0),Kp([Wp({type:sm,context:0,implicit:!0,optional:!0})],cm.prototype,"originatorInfo",void 0),Kp([Wp({type:tm})],cm.prototype,"recipientInfos",void 0),Kp([Wp({type:Pg})],cm.prototype,"encryptedContentInfo",void 0),Kp([Wp({type:am,context:1,implicit:!0,optional:!0})],cm.prototype,"unprotectedAttrs",void 0);const lm="1.2.840.113549.1.7.2";let hm=class{constructor(t={}){Object.assign(this,t)}};var um;Kp([Wp({type:If,context:0,implicit:!0})],hm.prototype,"subjectKeyIdentifier",void 0),Kp([Wp({type:Lg})],hm.prototype,"issuerAndSerialNumber",void 0),hm=Kp([jp({type:eu.Choice})],hm);class pm{constructor(t={}){this.version=Tg.v0,this.sid=new hm,this.digestAlgorithm=new Cg,this.signatureAlgorithm=new Rg,this.signature=new hp,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],pm.prototype,"version",void 0),Kp([Wp({type:hm})],pm.prototype,"sid",void 0),Kp([Wp({type:Cg})],pm.prototype,"digestAlgorithm",void 0),Kp([Wp({type:Gf,repeated:"set",context:0,implicit:!0,optional:!0})],pm.prototype,"signedAttrs",void 0),Kp([Wp({type:Rg})],pm.prototype,"signatureAlgorithm",void 0),Kp([Wp({type:hp})],pm.prototype,"signature",void 0),Kp([Wp({type:Gf,repeated:"set",context:1,implicit:!0,optional:!0})],pm.prototype,"unsignedAttrs",void 0);let dm=um=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,um.prototype)}};var fm;dm=um=Kp([jp({type:eu.Set,itemType:pm})],dm);let gm=fm=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,fm.prototype)}};gm=fm=Kp([jp({type:eu.Set,itemType:Cg})],gm);class mm{constructor(t={}){this.version=Tg.v0,this.digestAlgorithms=new gm,this.encapContentInfo=new Sg,this.signerInfos=new dm,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],mm.prototype,"version",void 0),Kp([Wp({type:gm})],mm.prototype,"digestAlgorithms",void 0),Kp([Wp({type:Sg})],mm.prototype,"encapContentInfo",void 0),Kp([Wp({type:_g,context:0,implicit:!0,optional:!0})],mm.prototype,"certificates",void 0),Kp([Wp({type:im,context:1,implicit:!0,optional:!0})],mm.prototype,"crls",void 0),Kp([Wp({type:dm})],mm.prototype,"signerInfos",void 0);const ym="1.2.840.10045.2.1",wm="1.2.840.10045.4.1",Am="1.2.840.10045.4.3.1",bm="1.2.840.10045.4.3.2",vm="1.2.840.10045.4.3.3",Em="1.2.840.10045.4.3.4",_m="1.2.840.10045.3.1.7",xm="1.3.132.0.34",Im="1.3.132.0.35";function Sm(t){return new Nf({algorithm:t})}const Tm=Sm(wm),Cm=(Sm(Am),Sm(bm)),Rm=Sm(vm),km=Sm(Em);let Bm=class{constructor(t={}){Object.assign(this,t)}};Kp([Wp({type:ru.ObjectIdentifier})],Bm.prototype,"namedCurve",void 0),Bm=Kp([jp({type:eu.Choice})],Bm);class Nm{constructor(t={}){this.version=1,this.privateKey=new hp,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],Nm.prototype,"version",void 0),Kp([Wp({type:hp})],Nm.prototype,"privateKey",void 0),Kp([Wp({type:Bm,context:0,optional:!0})],Nm.prototype,"parameters",void 0),Kp([Wp({type:ru.BitString,context:1,optional:!0})],Nm.prototype,"publicKey",void 0);class Om{constructor(t={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.Integer,converter:fp})],Om.prototype,"r",void 0),Kp([Wp({type:ru.Integer,converter:fp})],Om.prototype,"s",void 0);const Dm="1.2.840.113549.1.1",Pm=`${Dm}.1`,Lm=`${Dm}.7`,Um=`${Dm}.9`,Mm=`${Dm}.10`,Fm=`${Dm}.2`,Hm=`${Dm}.4`,jm=`${Dm}.5`,Wm=`${Dm}.14`,Qm=`${Dm}.11`,zm=`${Dm}.12`,Vm=`${Dm}.13`,Gm=`${Dm}.15`,qm=`${Dm}.16`,Km="1.3.14.3.2.26",Xm="2.16.840.1.101.3.4.2.4",Ym="2.16.840.1.101.3.4.2.1",Jm="2.16.840.1.101.3.4.2.2",Zm="2.16.840.1.101.3.4.2.3",$m=`${Dm}.8`;function ty(t){return new Nf({algorithm:t,parameters:null})}ty("1.2.840.113549.2.2"),ty("1.2.840.113549.2.5");const ey=ty(Km),ry=(ty(Xm),ty(Ym),ty(Jm),ty(Zm),ty("2.16.840.1.101.3.4.2.5"),ty("2.16.840.1.101.3.4.2.6"),new Nf({algorithm:$m,parameters:qp.serialize(ey)})),iy=new Nf({algorithm:Um,parameters:qp.serialize(wp.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});ty(Pm),ty(Fm),ty(Hm),ty(jm),ty(Gm),ty(qm),ty(zm),ty(Vm),ty(Gm),ty(qm);class ny{constructor(t={}){this.hashAlgorithm=new Nf(ey),this.maskGenAlgorithm=new Nf({algorithm:$m,parameters:qp.serialize(ey)}),this.pSourceAlgorithm=new Nf(iy),Object.assign(this,t)}}Kp([Wp({type:Nf,context:0,defaultValue:ey})],ny.prototype,"hashAlgorithm",void 0),Kp([Wp({type:Nf,context:1,defaultValue:ry})],ny.prototype,"maskGenAlgorithm",void 0),Kp([Wp({type:Nf,context:2,defaultValue:iy})],ny.prototype,"pSourceAlgorithm",void 0);new Nf({algorithm:Lm,parameters:qp.serialize(new ny)});class sy{constructor(t={}){this.hashAlgorithm=new Nf(ey),this.maskGenAlgorithm=new Nf({algorithm:$m,parameters:qp.serialize(ey)}),this.saltLength=20,this.trailerField=1,Object.assign(this,t)}}Kp([Wp({type:Nf,context:0,defaultValue:ey})],sy.prototype,"hashAlgorithm",void 0),Kp([Wp({type:Nf,context:1,defaultValue:ry})],sy.prototype,"maskGenAlgorithm",void 0),Kp([Wp({type:ru.Integer,context:2,defaultValue:20})],sy.prototype,"saltLength",void 0),Kp([Wp({type:ru.Integer,context:3,defaultValue:1})],sy.prototype,"trailerField",void 0);new Nf({algorithm:Mm,parameters:qp.serialize(new sy)});class oy{constructor(t={}){this.digestAlgorithm=new Nf,this.digest=new hp,Object.assign(this,t)}}var ay;Kp([Wp({type:Nf})],oy.prototype,"digestAlgorithm",void 0),Kp([Wp({type:hp})],oy.prototype,"digest",void 0);class cy{constructor(t={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.Integer,converter:fp})],cy.prototype,"prime",void 0),Kp([Wp({type:ru.Integer,converter:fp})],cy.prototype,"exponent",void 0),Kp([Wp({type:ru.Integer,converter:fp})],cy.prototype,"coefficient",void 0);let ly=ay=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,ay.prototype)}};ly=ay=Kp([jp({type:eu.Sequence,itemType:cy})],ly);class hy{constructor(t={}){this.version=0,this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),this.privateExponent=new ArrayBuffer(0),this.prime1=new ArrayBuffer(0),this.prime2=new ArrayBuffer(0),this.exponent1=new ArrayBuffer(0),this.exponent2=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],hy.prototype,"version",void 0),Kp([Wp({type:ru.Integer,converter:fp})],hy.prototype,"modulus",void 0),Kp([Wp({type:ru.Integer,converter:fp})],hy.prototype,"publicExponent",void 0),Kp([Wp({type:ru.Integer,converter:fp})],hy.prototype,"privateExponent",void 0),Kp([Wp({type:ru.Integer,converter:fp})],hy.prototype,"prime1",void 0),Kp([Wp({type:ru.Integer,converter:fp})],hy.prototype,"prime2",void 0),Kp([Wp({type:ru.Integer,converter:fp})],hy.prototype,"exponent1",void 0),Kp([Wp({type:ru.Integer,converter:fp})],hy.prototype,"exponent2",void 0),Kp([Wp({type:ru.Integer,converter:fp})],hy.prototype,"coefficient",void 0),Kp([Wp({type:ly,optional:!0})],hy.prototype,"otherPrimeInfos",void 0);class uy{constructor(t={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.Integer,converter:fp})],uy.prototype,"modulus",void 0),Kp([Wp({type:ru.Integer,converter:fp})],uy.prototype,"publicExponent",void 0);function py(t,e,r,i){var n,s=arguments.length,o=s<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,r):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)o=Reflect.decorate(t,e,r,i);else for(var a=t.length-1;a>=0;a--)(n=t[a])&&(o=(s<3?n(o):s>3?n(e,r,o):n(e,r))||o);return s>3&&o&&Object.defineProperty(e,r,o),o}Object.create;var dy;Object.create;!function(t){t[t.Transient=0]="Transient",t[t.Singleton=1]="Singleton",t[t.ResolutionScoped=2]="ResolutionScoped",t[t.ContainerScoped=3]="ContainerScoped"}(dy||(dy={}));const fy=dy; 83 + /*! ***************************************************************************** 84 + Copyright (c) Microsoft Corporation. 85 + 86 + Permission to use, copy, modify, and/or distribute this software for any 87 + purpose with or without fee is hereby granted. 88 + 89 + THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH 90 + REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY 91 + AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, 92 + INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM 93 + LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 94 + OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 95 + PERFORMANCE OF THIS SOFTWARE. 96 + ***************************************************************************** */ 97 + var gy=function(t,e){return gy=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},gy(t,e)};function my(t,e){function r(){this.constructor=t}gy(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function yy(t,e,r,i){return new(r||(r=Promise))(function(n,s){function o(t){try{c(i.next(t))}catch(t){s(t)}}function a(t){try{c(i.throw(t))}catch(t){s(t)}}function c(t){var e;t.done?n(t.value):(e=t.value,e instanceof r?e:new r(function(t){t(e)})).then(o,a)}c((i=i.apply(t,e||[])).next())})}function wy(t,e){var r,i,n,s,o={label:0,sent:function(){if(1&n[0])throw n[1];return n[1]},trys:[],ops:[]};return s={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(s[Symbol.iterator]=function(){return this}),s;function a(s){return function(a){return function(s){if(r)throw new TypeError("Generator is already executing.");for(;o;)try{if(r=1,i&&(n=2&s[0]?i.return:s[0]?i.throw||((n=i.return)&&n.call(i),0):i.next)&&!(n=n.call(i,s[1])).done)return n;switch(i=0,n&&(s=[2&s[0],n.value]),s[0]){case 0:case 1:n=s;break;case 4:return o.label++,{value:s[1],done:!1};case 5:o.label++,i=s[1],s=[0];continue;case 7:s=o.ops.pop(),o.trys.pop();continue;default:if(!(n=o.trys,(n=n.length>0&&n[n.length-1])||6!==s[0]&&2!==s[0])){o=0;continue}if(3===s[0]&&(!n||s[1]>n[0]&&s[1]<n[3])){o.label=s[1];break}if(6===s[0]&&o.label<n[1]){o.label=n[1],n=s;break}if(n&&o.label<n[2]){o.label=n[2],o.ops.push(s);break}n[2]&&o.ops.pop(),o.trys.pop();continue}s=e.call(t,o)}catch(t){s=[6,t],i=0}finally{r=n=0}if(5&s[0])throw s[1];return{value:s[0]?s[1]:void 0,done:!0}}([s,a])}}}function Ay(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],i=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&i>=t.length&&(t=void 0),{value:t&&t[i++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function by(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var i,n,s=r.call(t),o=[];try{for(;(void 0===e||e-- >0)&&!(i=s.next()).done;)o.push(i.value)}catch(t){n={error:t}}finally{try{i&&!i.done&&(r=s.return)&&r.call(s)}finally{if(n)throw n.error}}return o}function vy(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(by(arguments[e]));return t}function Ey(t){return!!t.useClass}function _y(t){return!!t.useFactory}var xy=function(){function t(t){this.wrap=t,this.reflectMethods=["get","getPrototypeOf","setPrototypeOf","getOwnPropertyDescriptor","defineProperty","has","set","deleteProperty","apply","construct","ownKeys"]}return t.prototype.createProxy=function(t){var e,r=this,i=!1;return new Proxy({},this.createHandler(function(){return i||(e=t(r.wrap()),i=!0),e}))},t.prototype.createHandler=function(t){var e={};return this.reflectMethods.forEach(function(r){e[r]=function(){for(var e=[],i=0;i<arguments.length;i++)e[i]=arguments[i];return e[0]=t(),Reflect[r].apply(void 0,vy(e))}}),e},t}();function Iy(t){return"string"==typeof t||"symbol"==typeof t}function Sy(t){return"object"==typeof t&&"token"in t&&"transform"in t}function Ty(t){return!!t.useToken}function Cy(t){return null!=t.useValue}const Ry=function(){function t(){this._registryMap=new Map}return t.prototype.entries=function(){return this._registryMap.entries()},t.prototype.getAll=function(t){return this.ensure(t),this._registryMap.get(t)},t.prototype.get=function(t){this.ensure(t);var e=this._registryMap.get(t);return e[e.length-1]||null},t.prototype.set=function(t,e){this.ensure(t),this._registryMap.get(t).push(e)},t.prototype.setAll=function(t,e){this._registryMap.set(t,e)},t.prototype.has=function(t){return this.ensure(t),this._registryMap.get(t).length>0},t.prototype.clear=function(){this._registryMap.clear()},t.prototype.ensure=function(t){this._registryMap.has(t)||this._registryMap.set(t,[])},t}();const ky=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return my(e,t),e}(Ry);const By=function(){this.scopedResolutions=new Map};function Ny(t,e,r){var i,n,s=by(t.toString().match(/constructor\(([\w, ]+)\)/)||[],2)[1],o=function(t,e){return null===t?"at position #"+e:'"'+t.split(",")[e].trim()+'" at position #'+e}(void 0===s?null:s,e);return i="Cannot inject the dependency "+o+' of "'+t.name+'" constructor. Reason:',void 0===n&&(n=" "),vy([i],r.message.split("\n").map(function(t){return n+t})).join("\n")}var Oy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return my(e,t),e}(Ry),Dy=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return my(e,t),e}(Ry);const Py=function(){this.preResolution=new Oy,this.postResolution=new Dy};var Ly=new Map,Uy=function(){function t(t){this.parent=t,this._registry=new ky,this.interceptors=new Py,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(t,e,r){var i;if(void 0===r&&(r={lifecycle:fy.Transient}),this.ensureNotDisposed(),i=function(t){return Ey(t)||Cy(t)||Ty(t)||_y(t)}(e)?e:{useClass:e},Ty(i))for(var n=[t],s=i;null!=s;){var o=s.useToken;if(n.includes(o))throw new Error("Token registration cycle detected! "+vy(n,[o]).join(" -> "));n.push(o);var a=this._registry.get(o);s=a&&Ty(a.provider)?a.provider:null}if((r.lifecycle===fy.Singleton||r.lifecycle==fy.ContainerScoped||r.lifecycle==fy.ResolutionScoped)&&(Cy(i)||_y(i)))throw new Error('Cannot use lifecycle "'+fy[r.lifecycle]+'" with ValueProviders or FactoryProviders');return this._registry.set(t,{provider:i,options:r}),this},t.prototype.registerType=function(t,e){return this.ensureNotDisposed(),Iy(e)?this.register(t,{useToken:e}):this.register(t,{useClass:e})},t.prototype.registerInstance=function(t,e){return this.ensureNotDisposed(),this.register(t,{useValue:e})},t.prototype.registerSingleton=function(t,e){if(this.ensureNotDisposed(),Iy(t)){if(Iy(e))return this.register(t,{useToken:e},{lifecycle:fy.Singleton});if(e)return this.register(t,{useClass:e},{lifecycle:fy.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=t;return e&&!Iy(e)&&(r=e),this.register(t,{useClass:r},{lifecycle:fy.Singleton})},t.prototype.resolve=function(t,e){void 0===e&&(e=new By),this.ensureNotDisposed();var r=this.getRegistration(t);if(!r&&Iy(t))throw new Error('Attempted to resolve unregistered dependency token: "'+t.toString()+'"');if(this.executePreResolutionInterceptor(t,"Single"),r){var i=this.resolveRegistration(r,e);return this.executePostResolutionInterceptor(t,i,"Single"),i}if(function(t){return"function"==typeof t||t instanceof xy}(t)){i=this.construct(t,e);return this.executePostResolutionInterceptor(t,i,"Single"),i}throw new Error("Attempted to construct an undefined constructor. Could mean a circular dependency problem. Try using `delay` function.")},t.prototype.executePreResolutionInterceptor=function(t,e){var r,i;if(this.interceptors.preResolution.has(t)){var n=[];try{for(var s=Ay(this.interceptors.preResolution.getAll(t)),o=s.next();!o.done;o=s.next()){var a=o.value;"Once"!=a.options.frequency&&n.push(a),a.callback(t,e)}}catch(t){r={error:t}}finally{try{o&&!o.done&&(i=s.return)&&i.call(s)}finally{if(r)throw r.error}}this.interceptors.preResolution.setAll(t,n)}},t.prototype.executePostResolutionInterceptor=function(t,e,r){var i,n;if(this.interceptors.postResolution.has(t)){var s=[];try{for(var o=Ay(this.interceptors.postResolution.getAll(t)),a=o.next();!a.done;a=o.next()){var c=a.value;"Once"!=c.options.frequency&&s.push(c),c.callback(t,e,r)}}catch(t){i={error:t}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(i)throw i.error}}this.interceptors.postResolution.setAll(t,s)}},t.prototype.resolveRegistration=function(t,e){if(this.ensureNotDisposed(),t.options.lifecycle===fy.ResolutionScoped&&e.scopedResolutions.has(t))return e.scopedResolutions.get(t);var r,i=t.options.lifecycle===fy.Singleton,n=t.options.lifecycle===fy.ContainerScoped,s=i||n;return r=Cy(t.provider)?t.provider.useValue:Ty(t.provider)?s?t.instance||(t.instance=this.resolve(t.provider.useToken,e)):this.resolve(t.provider.useToken,e):Ey(t.provider)?s?t.instance||(t.instance=this.construct(t.provider.useClass,e)):this.construct(t.provider.useClass,e):_y(t.provider)?t.provider.useFactory(this):this.construct(t.provider,e),t.options.lifecycle===fy.ResolutionScoped&&e.scopedResolutions.set(t,r),r},t.prototype.resolveAll=function(t,e){var r=this;void 0===e&&(e=new By),this.ensureNotDisposed();var i=this.getAllRegistrations(t);if(!i&&Iy(t))throw new Error('Attempted to resolve unregistered dependency token: "'+t.toString()+'"');if(this.executePreResolutionInterceptor(t,"All"),i){var n=i.map(function(t){return r.resolveRegistration(t,e)});return this.executePostResolutionInterceptor(t,n,"All"),n}var s=[this.construct(t,e)];return this.executePostResolutionInterceptor(t,s,"All"),s},t.prototype.isRegistered=function(t,e){return void 0===e&&(e=!1),this.ensureNotDisposed(),this._registry.has(t)||e&&(this.parent||!1)&&this.parent.isRegistered(t,!0)},t.prototype.reset=function(){this.ensureNotDisposed(),this._registry.clear(),this.interceptors.preResolution.clear(),this.interceptors.postResolution.clear()},t.prototype.clearInstances=function(){var t,e;this.ensureNotDisposed();try{for(var r=Ay(this._registry.entries()),i=r.next();!i.done;i=r.next()){var n=by(i.value,2),s=n[0],o=n[1];this._registry.setAll(s,o.filter(function(t){return!Cy(t.provider)}).map(function(t){return t.instance=void 0,t}))}}catch(e){t={error:e}}finally{try{i&&!i.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},t.prototype.createChildContainer=function(){var e,r;this.ensureNotDisposed();var i=new t(this);try{for(var n=Ay(this._registry.entries()),s=n.next();!s.done;s=n.next()){var o=by(s.value,2),a=o[0],c=o[1];c.some(function(t){return t.options.lifecycle===fy.ContainerScoped})&&i._registry.setAll(a,c.map(function(t){return t.options.lifecycle===fy.ContainerScoped?{provider:t.provider,options:t.options}:t}))}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}return i},t.prototype.beforeResolution=function(t,e,r){void 0===r&&(r={frequency:"Always"}),this.interceptors.preResolution.set(t,{callback:e,options:r})},t.prototype.afterResolution=function(t,e,r){void 0===r&&(r={frequency:"Always"}),this.interceptors.postResolution.set(t,{callback:e,options:r})},t.prototype.dispose=function(){return yy(this,void 0,void 0,function(){var t;return wy(this,function(e){switch(e.label){case 0:return this.disposed=!0,t=[],this.disposables.forEach(function(e){var r=e.dispose();r&&t.push(r)}),[4,Promise.all(t)];case 1:return e.sent(),[2]}})})},t.prototype.getRegistration=function(t){return this.isRegistered(t)?this._registry.get(t):this.parent?this.parent.getRegistration(t):null},t.prototype.getAllRegistrations=function(t){return this.isRegistered(t)?this._registry.getAll(t):this.parent?this.parent.getAllRegistrations(t):null},t.prototype.construct=function(t,e){var r=this;if(t instanceof xy)return t.createProxy(function(t){return r.resolve(t,e)});var i,n=function(){var i=Ly.get(t);if(!i||0===i.length){if(0===t.length)return new t;throw new Error('TypeInfo not known for "'+t.name+'"')}var n=i.map(r.resolveParams(e,t));return new(t.bind.apply(t,vy([void 0],n)))}();return"function"!=typeof(i=n).dispose||i.dispose.length>0||this.disposables.add(n),n},t.prototype.resolveParams=function(t,e){var r=this;return function(i,n){var s,o,a,c;try{return"object"==typeof(c=i)&&"token"in c&&"multiple"in c?Sy(i)?i.multiple?(s=r.resolve(i.transform)).transform.apply(s,vy([r.resolveAll(i.token)],i.transformArgs)):(o=r.resolve(i.transform)).transform.apply(o,vy([r.resolve(i.token,t)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,t):Sy(i)?(a=r.resolve(i.transform,t)).transform.apply(a,vy([r.resolve(i.token,t)],i.transformArgs)):r.resolve(i,t)}catch(t){throw new Error(Ny(e,n,t))}}},t.prototype.ensureNotDisposed=function(){if(this.disposed)throw new Error("This container has been disposed, you cannot interact with a disposed container")},t}(),My=new Uy;var Fy="injectionTokens";const Hy=function(){return function(t){Ly.set(t,function(t){var e=Reflect.getMetadata("design:paramtypes",t)||[],r=Reflect.getOwnMetadata(Fy,t)||{};return Object.keys(r).forEach(function(t){e[+t]=r[t]}),e}(t))}};if("undefined"==typeof Reflect||!Reflect.getMetadata)throw new Error("tsyringe requires a reflect polyfill. Please add 'import \"reflect-metadata\"' to the top of your entry point.");var jy;class Wy{constructor(t={}){this.attrId="",this.attrValues=[],Object.assign(t)}}Kp([Wp({type:ru.ObjectIdentifier})],Wy.prototype,"attrId",void 0),Kp([Wp({type:ru.Any,repeated:"set"})],Wy.prototype,"attrValues",void 0);let Qy=jy=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,jy.prototype)}};var zy;Qy=jy=Kp([jp({type:eu.Sequence,itemType:Wy})],Qy);let Vy=zy=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,zy.prototype)}};Vy=zy=Kp([jp({type:eu.Sequence,itemType:xg})],Vy);class Gy{constructor(t={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],Gy.prototype,"certId",void 0),Kp([Wp({type:ru.Any,context:0})],Gy.prototype,"certValue",void 0);class qy{constructor(t={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],qy.prototype,"crlId",void 0),Kp([Wp({type:ru.Any,context:0})],qy.prototype,"crltValue",void 0);class Ky extends hp{}class Xy{constructor(t={}){this.encryptionAlgorithm=new Nf,this.encryptedData=new Ky,Object.assign(this,t)}}var Yy,Jy;Kp([Wp({type:Nf})],Xy.prototype,"encryptionAlgorithm",void 0),Kp([Wp({type:Ky})],Xy.prototype,"encryptedData",void 0),function(t){t[t.v1=0]="v1"}(Jy||(Jy={}));class Zy extends hp{}let $y=Yy=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Yy.prototype)}};$y=Yy=Kp([jp({type:eu.Sequence,itemType:vf})],$y);class tw{constructor(t={}){this.version=Jy.v1,this.privateKeyAlgorithm=new Nf,this.privateKey=new Zy,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],tw.prototype,"version",void 0),Kp([Wp({type:Nf})],tw.prototype,"privateKeyAlgorithm",void 0),Kp([Wp({type:Zy})],tw.prototype,"privateKey",void 0),Kp([Wp({type:$y,implicit:!0,context:0,optional:!0})],tw.prototype,"attributes",void 0);let ew=class extends tw{};ew=Kp([jp({type:eu.Sequence})],ew);let rw=class extends Xy{};rw=Kp([jp({type:eu.Sequence})],rw);class iw{constructor(t={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],iw.prototype,"secretTypeId",void 0),Kp([Wp({type:ru.Any,context:0})],iw.prototype,"secretValue",void 0);class nw{constructor(t={}){this.mac=new oy,this.macSalt=new hp,this.iterations=1,Object.assign(this,t)}}Kp([Wp({type:oy})],nw.prototype,"mac",void 0),Kp([Wp({type:hp})],nw.prototype,"macSalt",void 0),Kp([Wp({type:ru.Integer,defaultValue:1})],nw.prototype,"iterations",void 0);class sw{constructor(t={}){this.version=3,this.authSafe=new xg,this.macData=new nw,Object.assign(this,t)}}var ow;Kp([Wp({type:ru.Integer})],sw.prototype,"version",void 0),Kp([Wp({type:xg})],sw.prototype,"authSafe",void 0),Kp([Wp({type:nw,optional:!0})],sw.prototype,"macData",void 0);class aw{constructor(t={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:ru.ObjectIdentifier})],aw.prototype,"bagId",void 0),Kp([Wp({type:ru.Any,context:0})],aw.prototype,"bagValue",void 0),Kp([Wp({type:Wy,repeated:"set",optional:!0})],aw.prototype,"bagAttributes",void 0);let cw=ow=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,ow.prototype)}};var lw,hw,uw;cw=ow=Kp([jp({type:eu.Sequence,itemType:aw})],cw);const pw="1.2.840.113549.1.9",dw=`${pw}.7`,fw=`${pw}.14`;let gw=class extends td{constructor(t={}){super(t)}toString(){return{}.toString(),this.ia5String||super.toString()}};Kp([Wp({type:ru.IA5String})],gw.prototype,"ia5String",void 0),gw=Kp([jp({type:eu.Choice})],gw);let mw=class extends xg{};mw=Kp([jp({type:eu.Sequence})],mw);let yw=class extends sw{};yw=Kp([jp({type:eu.Sequence})],yw);let ww=class extends Xy{};ww=Kp([jp({type:eu.Sequence})],ww);let Aw=class{constructor(t=""){this.value=t}toString(){return this.value}};Kp([Wp({type:ru.IA5String})],Aw.prototype,"value",void 0),Aw=Kp([jp({type:eu.Choice})],Aw);let bw=class extends gw{};bw=Kp([jp({type:eu.Choice})],bw);let vw=class extends td{};vw=Kp([jp({type:eu.Choice})],vw);let Ew=class{constructor(t=new Date){this.value=t}};Kp([Wp({type:ru.GeneralizedTime})],Ew.prototype,"value",void 0),Ew=Kp([jp({type:eu.Choice})],Ew);let _w=class extends td{};_w=Kp([jp({type:eu.Choice})],_w);let xw=class{constructor(t="M"){this.value=t}toString(){return this.value}};Kp([Wp({type:ru.PrintableString})],xw.prototype,"value",void 0),xw=Kp([jp({type:eu.Choice})],xw);let Iw=class{constructor(t=""){this.value=t}toString(){return this.value}};Kp([Wp({type:ru.PrintableString})],Iw.prototype,"value",void 0),Iw=Kp([jp({type:eu.Choice})],Iw);let Sw=class extends Iw{};Sw=Kp([jp({type:eu.Choice})],Sw);let Tw=class extends td{};Tw=Kp([jp({type:eu.Choice})],Tw);let Cw=class{constructor(t=""){this.value=t}toString(){return this.value}};Kp([Wp({type:ru.ObjectIdentifier})],Cw.prototype,"value",void 0),Cw=Kp([jp({type:eu.Choice})],Cw);let Rw=class extends Df{};Rw=Kp([jp({type:eu.Choice})],Rw);let kw=class{constructor(t=0){this.value=t}toString(){return this.value.toString()}};Kp([Wp({type:ru.Integer})],kw.prototype,"value",void 0),kw=Kp([jp({type:eu.Choice})],kw);let Bw=class extends pm{};Bw=Kp([jp({type:eu.Sequence})],Bw);let Nw=class extends td{};Nw=Kp([jp({type:eu.Choice})],Nw);let Ow=lw=class extends Mf{constructor(t){super(t),Object.setPrototypeOf(this,lw.prototype)}};Ow=lw=Kp([jp({type:eu.Sequence})],Ow);let Dw=hw=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,hw.prototype)}};Dw=hw=Kp([jp({type:eu.Set,itemType:Gf})],Dw);let Pw=class{constructor(t=""){this.value=t}toString(){return this.value}};Kp([Wp({type:ru.BmpString})],Pw.prototype,"value",void 0),Pw=Kp([jp({type:eu.Choice})],Pw);let Lw=class extends Nf{};Lw=Kp([jp({type:eu.Sequence})],Lw);let Uw=uw=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,uw.prototype)}};var Mw;Uw=uw=Kp([jp({type:eu.Sequence,itemType:Lw})],Uw);let Fw=Mw=class extends Gp{constructor(t){super(t),Object.setPrototypeOf(this,Mw.prototype)}};Fw=Mw=Kp([jp({type:eu.Sequence,itemType:vf})],Fw);class Hw{constructor(t={}){this.version=0,this.subject=new sd,this.subjectPKInfo=new Of,this.attributes=new Fw,Object.assign(this,t)}}Kp([Wp({type:ru.Integer})],Hw.prototype,"version",void 0),Kp([Wp({type:sd})],Hw.prototype,"subject",void 0),Kp([Wp({type:Of})],Hw.prototype,"subjectPKInfo",void 0),Kp([Wp({type:Fw,implicit:!0,context:0})],Hw.prototype,"attributes",void 0);class jw{constructor(t={}){this.certificationRequestInfo=new Hw,this.signatureAlgorithm=new Nf,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}Kp([Wp({type:Hw})],jw.prototype,"certificationRequestInfo",void 0),Kp([Wp({type:Nf})],jw.prototype,"signatureAlgorithm",void 0),Kp([Wp({type:ru.BitString})],jw.prototype,"signature",void 0); 98 + /*! 99 + * MIT License 100 + * 101 + * Copyright (c) Peculiar Ventures. All rights reserved. 102 + * 103 + * Permission is hereby granted, free of charge, to any person obtaining a copy 104 + * of this software and associated documentation files (the "Software"), to deal 105 + * in the Software without restriction, including without limitation the rights 106 + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 107 + * copies of the Software, and to permit persons to whom the Software is 108 + * furnished to do so, subject to the following conditions: 109 + * 110 + * The above copyright notice and this permission notice shall be included in all 111 + * copies or substantial portions of the Software. 112 + * 113 + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 114 + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 115 + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 116 + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 117 + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 118 + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 119 + * SOFTWARE. 120 + * 121 + */ 122 + const Ww="crypto.algorithm";const Qw="crypto.algorithmProvider";var zw;My.registerSingleton(Qw,class{getAlgorithms(){return My.resolveAll(Ww)}toAsnAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toAsnAlgorithm(t);if(r)return r}if(/[0-9.]+/.test(t.name)){const e=new Nf({algorithm:t.name});if("parameters"in t){const r=t;e.parameters=r.parameters}return e}throw new Error("Cannot convert WebCrypto algorithm to ASN.1 algorithm")}toWebAlgorithm(t){for(const e of this.getAlgorithms()){const r=e.toWebAlgorithm(t);if(r)return r}return{name:t.algorithm,parameters:t.parameters}}});const Vw="1.3.36.3.3.2.8.1.1",Gw=`${Vw}.1`,qw=`${Vw}.2`,Kw=`${Vw}.3`,Xw=`${Vw}.4`,Yw=`${Vw}.5`,Jw=`${Vw}.6`,Zw=`${Vw}.7`,$w=`${Vw}.8`,tA=`${Vw}.9`,eA=`${Vw}.10`,rA=`${Vw}.11`,iA=`${Vw}.12`,nA=`${Vw}.13`,sA=`${Vw}.14`,oA="brainpoolP160r1",aA="brainpoolP160t1",cA="brainpoolP192r1",lA="brainpoolP192t1",hA="brainpoolP224r1",uA="brainpoolP224t1",pA="brainpoolP256r1",dA="brainpoolP256t1",fA="brainpoolP320r1",gA="brainpoolP320t1",mA="brainpoolP384r1",yA="brainpoolP384t1",wA="brainpoolP512r1",AA="brainpoolP512t1",bA="ECDSA";let vA=zw=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===bA.toLowerCase())if("hash"in t){switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return Tm;case"sha-256":return Cm;case"sha-384":return Rm;case"sha-512":return km}}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=_m;break;case"K-256":e=zw.SECP256K1;break;case"P-384":e=xm;break;case"P-521":e=Im;break;case oA:e=Gw;break;case aA:e=qw;break;case cA:e=Kw;break;case lA:e=Xw;break;case hA:e=Yw;break;case uA:e=Jw;break;case pA:e=Zw;break;case dA:e=$w;break;case fA:e=tA;break;case gA:e=eA;break;case mA:e=rA;break;case yA:e=iA;break;case wA:e=nA;break;case AA:e=sA}if(e)return new Nf({algorithm:ym,parameters:qp.serialize(new Bm({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case wm:return{name:bA,hash:{name:"SHA-1"}};case bm:return{name:bA,hash:{name:"SHA-256"}};case vm:return{name:bA,hash:{name:"SHA-384"}};case Em:return{name:bA,hash:{name:"SHA-512"}};case ym:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(qp.parse(t.parameters,Bm).namedCurve){case _m:return{name:bA,namedCurve:"P-256"};case zw.SECP256K1:return{name:bA,namedCurve:"K-256"};case xm:return{name:bA,namedCurve:"P-384"};case Im:return{name:bA,namedCurve:"P-521"};case Gw:return{name:bA,namedCurve:oA};case qw:return{name:bA,namedCurve:aA};case Kw:return{name:bA,namedCurve:cA};case Xw:return{name:bA,namedCurve:lA};case Yw:return{name:bA,namedCurve:hA};case Jw:return{name:bA,namedCurve:uA};case Zw:return{name:bA,namedCurve:pA};case $w:return{name:bA,namedCurve:dA};case tA:return{name:bA,namedCurve:fA};case eA:return{name:bA,namedCurve:gA};case rA:return{name:bA,namedCurve:mA};case iA:return{name:bA,namedCurve:yA};case nA:return{name:bA,namedCurve:wA};case sA:return{name:bA,namedCurve:AA}}}return null}};vA.SECP256K1="1.3.132.0.10",vA=zw=py([Hy()],vA),My.registerSingleton(Ww,vA);const EA=Symbol("name"),_A=Symbol("value");class xA{constructor(t,e={},r=""){this[EA]=t,this[_A]=r;for(const t in e)this[t]=e[t]}}xA.NAME=EA,xA.VALUE=_A;class IA{static toString(t){const e=this.items[t];return e||t}}IA.items={[Km]:"sha1",[Xm]:"sha224",[Ym]:"sha256",[Jm]:"sha384",[Zm]:"sha512",[Pm]:"rsaEncryption",[jm]:"sha1WithRSAEncryption",[Wm]:"sha224WithRSAEncryption",[Qm]:"sha256WithRSAEncryption",[zm]:"sha384WithRSAEncryption",[Vm]:"sha512WithRSAEncryption",[ym]:"ecPublicKey",[wm]:"ecdsaWithSHA1",[Am]:"ecdsaWithSHA224",[bm]:"ecdsaWithSHA256",[vm]:"ecdsaWithSHA384",[Em]:"ecdsaWithSHA512",[Yd]:"TLS WWW server authentication",[Jd]:"TLS WWW client authentication",[Zd]:"Code Signing",[$d]:"E-mail Protection",[tf]:"Time Stamping",[ef]:"OCSP Signing",[lm]:"Signed Data"};class SA{static serialize(t){return this.serializeObj(t).join("\n")}static pad(t=0){return"".padStart(2*t," ")}static serializeObj(t,e=0){const r=[];let i=this.pad(e++),n="";const s=t[xA.VALUE];s&&(n=` ${s}`),r.push(`${i}${t[xA.NAME]}:${n}`),i=this.pad(e);for(const n in t){if("symbol"==typeof n)continue;const s=t[n],o=n?`${n}: `:"";if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)r.push(`${i}${o}${s}`);else if(s instanceof Date)r.push(`${i}${o}${s.toUTCString()}`);else if(Array.isArray(s))for(const t of s)t[xA.NAME]=n,r.push(...this.serializeObj(t,e));else if(s instanceof xA)s[xA.NAME]=n,r.push(...this.serializeObj(s,e));else if(Ml._H.isBufferSource(s))n?(r.push(`${i}${o}`),r.push(...this.serializeBufferSource(s,e+1))):r.push(...this.serializeBufferSource(s,e));else{if(!("toTextObject"in s))throw new TypeError("Cannot serialize data in text format. Unsupported type.");{const t=s.toTextObject();t[xA.NAME]=n,r.push(...this.serializeObj(t,e))}}}return r}static serializeBufferSource(t,e=0){const r=this.pad(e),i=Ml._H.toUint8Array(t),n=[];for(let t=0;t<i.length;){const e=[];for(let r=0;r<16&&t<i.length;r++){8===r&&e.push("");const n=i[t++].toString(16).padStart(2,"0");e.push(n)}n.push(`${r}${e.join(" ")}`)}return n}static serializeAlgorithm(t){return this.algorithmSerializer.toTextObject(t)}}SA.oidSerializer=IA,SA.algorithmSerializer=class{static toTextObject(t){const e=new xA("Algorithm Identifier",{},IA.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case ym:{const r=(new vA).toWebAlgorithm(t);r&&"namedCurve"in r?e["Named Curve"]=r.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class TA{constructor(...t){if(1===t.length){const e=t[0];this.rawData=qp.serialize(e),this.onInit(e)}else{const e=qp.parse(t[0],t[1]);this.rawData=Ml._H.toArrayBuffer(t[0]),this.onInit(e)}}equal(t){return t instanceof TA&&(0,Ml.n4)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return qp.toString(this.rawData);case"text":return SA.serialize(this.toTextObject());case"hex":return Ml.U$.ToHex(this.rawData);case"base64":return Ml.U$.ToBase64(this.rawData);case"base64url":return Ml.U$.ToBase64Url(this.rawData);default:throw TypeError("Argument 'format' is unsupported value")}}getTextName(){return this.constructor.NAME}toTextObject(){const t=this.toTextObjectEmpty();return t[""]=this.rawData,t}toTextObjectEmpty(t){return new xA(this.getTextName(),{},t)}}TA.NAME="ASN";class CA extends TA{constructor(...t){let e;e=Ml._H.isBufferSource(t[0])?Ml._H.toArrayBuffer(t[0]):qp.serialize(new Uf({extnID:t[0],critical:t[1],extnValue:new hp(Ml._H.toArrayBuffer(t[2]))})),super(e,Uf)}onInit(t){this.type=t.extnID,this.critical=t.critical,this.value=t.extnValue.buffer}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.value,t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty(this.critical?"critical":void 0);return t[xA.NAME]===CA.NAME&&(t[xA.NAME]=IA.toString(this.type)),t}}var RA;class kA{constructor(){this.items=new Map,this[RA]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(kA.DEFAULT,crypto)}static isCryptoKeyPair(t){return t&&t.privateKey&&t.publicKey}static isCryptoKey(t){return t&&t.usages&&t.type&&t.algorithm&&void 0!==t.extractable}clear(){this.items.clear()}delete(t){return this.items.delete(t)}forEach(t,e){return this.items.forEach(t,e)}has(t){return this.items.has(t)}get size(){return this.items.size}entries(){return this.items.entries()}keys(){return this.items.keys()}values(){return this.items.values()}[Symbol.iterator](){return this.items[Symbol.iterator]()}get(t=kA.DEFAULT){const e=this.items.get(t.toLowerCase());if(!e)throw new Error(`Cannot get Crypto by name '${t}'`);return e}set(t,e){if("string"==typeof t){if(!e)throw new TypeError("Argument 'value' is required");this.items.set(t.toLowerCase(),e)}else this.items.set(kA.DEFAULT,t);return this}}RA=Symbol.toStringTag,kA.DEFAULT="default";const BA=new kA,NA=/^[0-2](?:\.[1-9][0-9]*)+$/;class OA{constructor(t={}){this.items={};for(const e in t)this.register(e,t[e])}get(t){return this.items[t]||null}findId(t){return e=t,new RegExp(NA).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const DA=new OA;function PA(t,e){return`\\${Ml.U$.ToHex(Ml.U$.FromUtf8String(e)).toUpperCase()}`}DA.register("CN","2.5.4.3"),DA.register("L","2.5.4.7"),DA.register("ST","2.5.4.8"),DA.register("O","2.5.4.10"),DA.register("OU","2.5.4.11"),DA.register("C","2.5.4.6"),DA.register("DC","0.9.2342.19200300.100.1.25"),DA.register("E","1.2.840.113549.1.9.1"),DA.register("G","2.5.4.42"),DA.register("I","2.5.4.43"),DA.register("SN","2.5.4.4"),DA.register("T","2.5.4.12");class LA{constructor(t,e={}){this.extraNames=new OA,this.asn=new sd;for(const t in e)if(Object.prototype.hasOwnProperty.call(e,t)){const r=e[t];this.extraNames.register(t,r)}"string"==typeof t?this.asn=this.fromString(t):t instanceof sd?this.asn=t:Ml._H.isBufferSource(t)?this.asn=qp.parse(t,sd):this.asn=this.fromJSON(t)}static isASCII(t){for(let e=0;e<t.length;e++){if(t.charCodeAt(e)>255)return!1}return!0}getField(t){const e=this.extraNames.findId(t)||DA.findId(t),r=[];for(const t of this.asn)for(const i of t)i.type===e&&r.push(i.value.toString());return r}getName(t){return this.extraNames.get(t)||DA.get(t)}toString(){return this.asn.map(t=>t.map(t=>{const e=this.getName(t.type)||t.type,r=t.value.anyValue?`#${Ml.U$.ToHex(t.value.anyValue)}`:function(t){return t.replace(/([,+"\\<>;])/g,"\\$1").replace(/^([ #])/,"\\$1").replace(/([ ]$)/,"\\$1").replace(/([\r\n\t])/,PA)}(t.value.toString());return`${e}=${r}`}).join("+")).join(", ")}toJSON(){var t;const e=[];for(const r of this.asn){const i={};for(const e of r){const r=this.getName(e.type)||e.type;null!==(t=i[r])&&void 0!==t||(i[r]=[]),i[r].push(e.value.anyValue?`#${Ml.U$.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(i)}return e}fromString(t){const e=new sd,r=/(\d\.[\d.]*\d|[A-Za-z]+)=((?:"")|(?:".*?[^\\]")|(?:[^,+].*?(?:[^\\][,+]))|(?:))([,+])?/g;let i=null,n=",";for(;i=r.exec(`${t},`);){let[,t,r]=i;const s=r[r.length-1];","!==s&&"+"!==s||(r=r.slice(0,r.length-1),i[3]=s);const o=i[3];if(/[\d.]+/.test(t)||(t=this.getName(t)||""),!t)throw new Error(`Cannot get OID for name type '${t}'`);const a=new rd({type:t});if("#"===r.charAt(0))a.value.anyValue=Ml.U$.FromHex(r.slice(1));else{const e=/"(.*?[^\\])?"/.exec(r);e&&(r=e[1]),r=r.replace(/\\0a/gi,"\n").replace(/\\0d/gi,"\r").replace(/\\0g/gi,"\t").replace(/\\(.)/g,"$1"),t===this.getName("E")||t===this.getName("DC")?a.value.ia5String=r:LA.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new id([a])),n=o}return e}fromJSON(t){const e=new sd;for(const r of t){const t=new id;for(const e in r){let i=e;if(/[\d.]+/.test(e)||(i=this.getName(e)||""),!i)throw new Error(`Cannot get OID for name type '${e}'`);const n=r[e];for(const e of n){const r=new rd({type:i});if("object"==typeof e)for(const t in e)switch(t){case"ia5String":r.value.ia5String=e[t];break;case"utf8String":r.value.utf8String=e[t];break;case"universalString":r.value.universalString=e[t];break;case"bmpString":r.value.bmpString=e[t];break;case"printableString":r.value.printableString=e[t]}else"#"===e[0]?r.value.anyValue=Ml.U$.FromHex(e.slice(1)):i===this.getName("E")||i===this.getName("DC")?r.value.ia5String=e:r.value.printableString=e;t.push(r)}}e.push(t)}return e}toArrayBuffer(){return qp.serialize(this.asn)}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||BA.get()):r=t[0]||BA.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const UA="Cannot initialize GeneralName from ASN.1 data.",MA=`${UA} Unsupported string format in use.`,FA=`${UA} Value doesn't match to GUID regular expression.`,HA=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,jA="1.3.6.1.4.1.311.25.1",WA="1.3.6.1.4.1.311.20.2.3",QA="dns",zA="dn",VA="email",GA="ip",qA="url",KA="guid",XA="upn",YA="id";class JA extends TA{constructor(...t){let e;if(2===t.length)switch(t[0]){case zA:{const r=new LA(t[1]).toArrayBuffer(),i=qp.parse(r,sd);e=new ld({directoryName:i});break}case QA:e=new ld({dNSName:t[1]});break;case VA:e=new ld({rfc822Name:t[1]});break;case KA:{const r=new RegExp(HA,"i").exec(t[1]);if(!r)throw new Error("Cannot parse GUID value. Value doesn't match to regular expression");const i=r.slice(1).map((t,e)=>e<3?Ml.U$.ToHex(new Uint8Array(Ml.U$.FromHex(t)).reverse()):t).join("");e=new ld({otherName:new ad({typeId:jA,value:qp.serialize(new hp(Ml.U$.FromHex(i)))})});break}case GA:e=new ld({iPAddress:t[1]});break;case YA:e=new ld({registeredID:t[1]});break;case XA:e=new ld({otherName:new ad({typeId:WA,value:qp.serialize(vp.toASN(t[1]))})});break;case qA:e=new ld({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=Ml._H.isBufferSource(t[0])?qp.parse(t[0],ld):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=QA,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=VA,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=GA,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=qA,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=YA,this.value=t.registeredID;else if(null!=t.directoryName)this.type=zA,this.value=new LA(t.directoryName).toString();else{if(null==t.otherName)throw new Error(MA);if(t.otherName.typeId===jA){this.type=KA;const e=qp.parse(t.otherName.value,hp),r=new RegExp(HA,"i").exec(Ml.U$.ToHex(e));if(!r)throw new Error(FA);this.value=r.slice(1).map((t,e)=>e<3?Ml.U$.ToHex(new Uint8Array(Ml.U$.FromHex(t)).reverse()):t).join("-")}else{if(t.otherName.typeId!==WA)throw new Error(MA);this.type=XA,this.value=qp.parse(t.otherName.value,td).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case zA:case QA:case KA:case GA:case YA:case XA:case qA:t=this.type.toUpperCase();break;case VA:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===YA&&(e=IA.toString(e)),new xA(t,void 0,e)}}class ZA extends TA{constructor(t){let e;if(t instanceof Ed)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof ld)r.push(e);else{const t=qp.parse(new JA(e.type,e.value).rawData,ld);r.push(t)}e=new Ed(r)}else{if(!Ml._H.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=qp.parse(t,Ed)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new JA(r)}catch{continue}e.push(t)}this.items=e}toJSON(){return this.items.map(t=>t.toJSON())}toTextObject(){const t=super.toTextObjectEmpty();for(const e of this.items){const r=e.toTextObject();let i=t[r[xA.NAME]];Array.isArray(i)||(i=[],t[r[xA.NAME]]=i),i.push(r)}return t}}ZA.NAME="GeneralNames";const $A="-{5}",tb="\\n",eb="\\n",rb=`${`${$A}BEGIN (${`[^${tb}]+`}(?=${$A}))${$A}`}${eb}(?:((?:${`[^:${tb}]+`}: ${`(?:[^${tb}]+${eb}(?: +[^${tb}]+${eb})*)`})+))?${eb}?(${`(?:[a-zA-Z0-9=+/]+${eb})+`})${`${$A}END \\1${$A}`}`;class ib{static isPem(t){return"string"==typeof t&&new RegExp(rb,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(rb,"g"),r=[];let i=null;for(;i=e.exec(t);){const t=i[3].replace(new RegExp(`[${tb}]+`,"g"),""),e={type:i[1],headers:[],rawData:Ml.U$.FromBase64(t)},n=i[2];if(n){const t=n.split(new RegExp(eb,"g"));let r=null;for(const i of t){const[t,n]=i.split(/:(.*)/);if(void 0===n){if(!r)throw new Error("Cannot parse PEM string. Incorrect header value");r.value+=t.trim()}else r&&e.headers.push(r),r={key:t,value:n.trim()}}r&&e.headers.push(r)}r.push(e)}return r}static decode(t){return this.decodeWithHeaders(t).map(t=>t.rawData)}static decodeFirst(t){const e=this.decode(t);if(!e.length)throw new RangeError("PEM string doesn't contain any objects");return e[0]}static encode(t,e){if(Array.isArray(t)){const r=new Array;return e?t.forEach(t=>{if(!Ml._H.isBufferSource(t))throw new TypeError("Cannot encode array of BufferSource in PEM format. Not all items of the array are BufferSource");r.push(this.encodeStruct({type:e,rawData:Ml._H.toArrayBuffer(t)}))}):t.forEach(t=>{if(!("type"in t))throw new TypeError("Cannot encode array of PemStruct in PEM format. Not all items of the array are PemStrut");r.push(this.encodeStruct(t))}),r.join("\n")}if(!e)throw new Error("Required argument 'tag' is missed");return this.encodeStruct({type:e,rawData:Ml._H.toArrayBuffer(t)})}static encodeStruct(t){var e;const r=t.type.toLocaleUpperCase(),i=[];if(i.push(`-----BEGIN ${r}-----`),null===(e=t.headers)||void 0===e?void 0:e.length){for(const e of t.headers)i.push(`${e.key}: ${e.value}`);i.push("")}const n=Ml.U$.ToBase64(t.rawData);let s,o=0;const a=Array();for(;o<n.length&&(n.length-o<64?s=n.substring(o):(s=n.substring(o,o+64),o+=64),0!==s.length)&&(a.push(s),!(s.length<64)););return i.push(...a),i.push(`-----END ${r}-----`),i.join("\n")}}ib.CertificateTag="CERTIFICATE",ib.CrlTag="CRL",ib.CertificateRequestTag="CERTIFICATE REQUEST",ib.PublicKeyTag="PUBLIC KEY",ib.PrivateKeyTag="PRIVATE KEY";class nb extends TA{static isAsnEncoded(t){return Ml._H.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(ib.isPem(t))return ib.decode(t)[0];if(Ml.U$.isHex(t))return Ml.U$.FromHex(t);if(Ml.U$.isBase64(t))return Ml.U$.FromBase64(t);if(Ml.U$.isBase64Url(t))return Ml.U$.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=Ml.U$.ToBinary(t);return ib.isPem(e)?ib.decode(e)[0]:Ml.U$.isHex(e)?Ml.U$.FromHex(e):Ml.U$.isBase64(e)?Ml.U$.FromBase64(e):Ml.U$.isBase64Url(e)?Ml.U$.FromBase64Url(e):Ml._H.toArrayBuffer(t)}}constructor(...t){nb.isAsnEncoded(t[0])?super(nb.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?ib.encode(this.rawData,this.tag):super.toString(t)}}class sb extends nb{constructor(t){nb.isAsnEncoded(t)?super(t,Of):super(t),this.tag=ib.PublicKeyTag}async export(...t){let e,r=["verify"],i={hash:"SHA-256",...this.algorithm};return t.length>1?(i=t[0]||i,r=t[1]||r,e=t[2]||BA.get()):e=t[0]||BA.get(),e.subtle.importKey("spki",this.rawData,i,!0,r)}onInit(t){const e=My.resolve(Qw),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case Pm:{const e=qp.parse(t.subjectPublicKey,uy),i=Ml._H.toUint8Array(e.modulus);r.publicExponent=Ml._H.toUint8Array(e.publicExponent),r.modulusLength=(i[0]?i:i.slice(1)).byteLength<<3;break}}}async getThumbprint(...t){var e;let r,i="SHA-1";return t.length>=1&&!(null===(e=t[0])||void 0===e?void 0:e.subtle)?(i=t[0]||i,r=t[1]||BA.get()):r=t[0]||BA.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(t){t||(t=BA.get());const e=qp.parse(this.rawData,Of);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=qp.parse(this.rawData,Of);if(t.Algorithm=SA.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===ym)t["EC Point"]=e.subjectPublicKey;else t["Raw Data"]=e.subjectPublicKey;return t}}class ob{static register(t,e){this.items.set(t,e)}static create(t){const e=new CA(t),r=this.items.get(e.type);return r?new r(t):e}}ob.items=new Map;const ab="crypto.signatureFormatter";class cb extends nb{constructor(t){nb.isAsnEncoded(t)?super(t,Wf):super(t),this.tag=ib.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=qp.serialize(e),this.serialNumber=Ml.U$.ToHex(e.serialNumber),this.subjectName=new LA(e.subject),this.subject=new LA(e.subject).toString(),this.issuerName=new LA(e.issuer),this.issuer=this.issuerName.toString();const r=My.resolve(Qw);this.signatureAlgorithm=r.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signatureValue;const i=e.validity.notBefore.utcTime||e.validity.notBefore.generalTime;if(!i)throw new Error("Cannot get 'notBefore' value");this.notBefore=i;const n=e.validity.notAfter.utcTime||e.validity.notAfter.generalTime;if(!n)throw new Error("Cannot get 'notAfter' value");this.notAfter=n,this.extensions=[],e.extensions&&(this.extensions=e.extensions.map(t=>ob.create(qp.serialize(t)))),this.publicKey=new sb(e.subjectPublicKeyInfo)}getExtension(t){for(const e of this.extensions)if("string"==typeof t){if(e.type===t)return e}else if(e instanceof t)return e;return null}getExtensions(t){return this.extensions.filter(e=>"string"==typeof t?e.type===t:e instanceof t)}async verify(t={},e=BA.get()){let r,i;const n=t.publicKey;try{if(n)if("publicKey"in n)r={...n.publicKey.algorithm,...this.signatureAlgorithm},i=await n.publicKey.export(r,["verify"]);else if(n instanceof sb)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(Ml._H.isBufferSource(n)){const t=new sb(n);r={...t.algorithm,...this.signatureAlgorithm},i=await t.export(r,["verify"])}else r={...n.algorithm,...this.signatureAlgorithm},i=n;else r={...this.publicKey.algorithm,...this.signatureAlgorithm},i=await this.publicKey.export(r,["verify"],e)}catch(t){return!1}const s=My.resolveAll(ab).reverse();let o=null;for(const t of s)if(o=t.toWebSignature(r,this.signature),o)break;if(!o)throw Error("Cannot convert ASN.1 signature value to WebCrypto format");const a=await e.subtle.verify(this.signatureAlgorithm,i,o,this.tbs);if(t.signatureOnly)return a;{const e=(t.date||new Date).getTime();return a&&this.notBefore.getTime()<e&&e<this.notAfter.getTime()}}async getThumbprint(...t){let e,r="SHA-1";return t[0]&&(t[0].subtle?e=t[0]:(r=t[0]||r,e=t[1])),null!=e||(e=BA.get()),await e.subtle.digest(r,this.rawData)}async isSelfSigned(t=BA.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=qp.parse(this.rawData,Wf),r=e.tbsCertificate,i=new xA("",{Version:`${Ff[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":SA.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new xA("",{"Not Before":r.validity.notBefore.getTime(),"Not After":r.validity.notAfter.getTime()}),Subject:this.subject,"Subject Public Key Info":this.publicKey});if(r.issuerUniqueID&&(i["Issuer Unique ID"]=r.issuerUniqueID),r.subjectUniqueID&&(i["Subject Unique ID"]=r.subjectUniqueID),this.extensions.length){const t=new xA("");for(const e of this.extensions){const r=e.toTextObject();t[r[xA.NAME]]=r}i.Extensions=t}return t.Data=i,t.Signature=new xA("",{Algorithm:SA.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}cb.NAME="Certificate";class lb extends CA{constructor(...t){if(Ml._H.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new wd({keyIdentifier:new yd(Ml.U$.FromHex(t[0]))});super(md,t[1],qp.serialize(e))}else{const e=t[0],r=e.name instanceof ZA?qp.parse(e.name.rawData,Ed):e.name,i=new wd({authorityCertIssuer:r,authorityCertSerialNumber:Ml.U$.FromHex(e.serialNumber)});super(md,t[1],qp.serialize(i))}}static async create(t,e=!1,r=BA.get()){if(t instanceof cb||kA.isCryptoKey(t)){const i=t instanceof cb?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new sb(n),o=await s.getKeyIdentifier(r);return new lb(Ml.U$.ToHex(o),e)}return new lb(t,e)}onInit(t){super.onInit(t);const e=qp.parse(t.extnValue,wd);e.keyIdentifier&&(this.keyId=Ml.U$.ToHex(e.keyIdentifier)),e.authorityCertIssuer&&e.authorityCertSerialNumber&&(this.certId={name:e.authorityCertIssuer,serialNumber:Ml.U$.ToHex(e.authorityCertSerialNumber)})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=qp.parse(this.value,wd);return e.authorityCertIssuer&&(t["Authority Issuer"]=new ZA(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}lb.NAME="Authority Key Identifier";class hb extends CA{constructor(...t){if(Ml._H.isBufferSource(t[0])){super(t[0]);const e=qp.parse(this.value,bd);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new bd({cA:t[0],pathLenConstraint:t[1]});super(Ad,t[2],qp.serialize(e)),this.ca=t[0],this.pathLength=t[1]}}toTextObject(){const t=this.toTextObjectWithoutValue();return this.ca&&(t.CA=this.ca),void 0!==this.pathLength&&(t["Path Length"]=this.pathLength),t}}var ub,pb;hb.NAME="Basic Constraints",function(t){t.serverAuth="1.3.6.1.5.5.7.3.1",t.clientAuth="1.3.6.1.5.5.7.3.2",t.codeSigning="1.3.6.1.5.5.7.3.3",t.emailProtection="1.3.6.1.5.5.7.3.4",t.timeStamping="1.3.6.1.5.5.7.3.8",t.ocspSigning="1.3.6.1.5.5.7.3.9"}(ub||(ub={}));class db extends CA{constructor(...t){if(Ml._H.isBufferSource(t[0])){super(t[0]);const e=qp.parse(this.value,Xd);this.usages=e.map(t=>t)}else{const e=new Xd(t[0]);super(Kd,t[1],qp.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map(t=>IA.toString(t)).join(", "),t}}db.NAME="Extended Key Usages",function(t){t[t.digitalSignature=1]="digitalSignature",t[t.nonRepudiation=2]="nonRepudiation",t[t.keyEncipherment=4]="keyEncipherment",t[t.dataEncipherment=8]="dataEncipherment",t[t.keyAgreement=16]="keyAgreement",t[t.keyCertSign=32]="keyCertSign",t[t.cRLSign=64]="cRLSign",t[t.encipherOnly=128]="encipherOnly",t[t.decipherOnly=256]="decipherOnly"}(pb||(pb={}));class fb extends CA{constructor(...t){if(Ml._H.isBufferSource(t[0])){super(t[0]);const e=qp.parse(this.value,hf);this.usages=e.toNumber()}else{const e=new hf(t[0]);super(af,t[1],qp.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=qp.parse(this.value,hf);return t[""]=e.toJSON().join(", "),t}}fb.NAME="Key Usages";class gb extends CA{constructor(...t){if(Ml._H.isBufferSource(t[0])){super(t[0]);const e=qp.parse(this.value,If);this.keyId=Ml.U$.ToHex(e)}else{const e="string"==typeof t[0]?Ml.U$.FromHex(t[0]):t[0],r=new If(e);super(xf,t[1],qp.serialize(r)),this.keyId=Ml.U$.ToHex(e)}}static async create(t,e=!1,r=BA.get()){let i;i=t instanceof sb?t.rawData:"publicKey"in t?t.publicKey.rawData:Ml._H.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new sb(i),s=await n.getKeyIdentifier(r);return new gb(Ml.U$.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=qp.parse(this.value,If);return t[""]=e,t}}gb.NAME="Subject Key Identifier";class mb extends CA{constructor(...t){Ml._H.isBufferSource(t[0])?super(t[0]):super(Af,t[1],new ZA(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=qp.parse(t.extnValue,bf);this.names=new ZA(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}mb.NAME="Subject Alternative Name";class yb extends CA{constructor(...t){var e;if(Ml._H.isBufferSource(t[0])){super(t[0]);const e=qp.parse(this.value,Od);this.policies=e.map(t=>t.policyIdentifier)}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new Od(r.map(t=>new Nd({policyIdentifier:t})));super(Sd,i,qp.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map(t=>new xA("",{},IA.toString(t))),t}}yb.NAME="Certificate Policies",ob.register(Sd,yb);class wb extends TA{constructor(...t){let e;if(Ml._H.isBufferSource(t[0]))e=Ml._H.toArrayBuffer(t[0]);else{const r=t[0],i=Array.isArray(t[1])?t[1].map(t=>Ml._H.toArrayBuffer(t)):[];e=qp.serialize(new vf({type:r,values:i}))}super(e,vf)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map(t=>new xA("",{"":t})),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[xA.NAME]===wb.NAME&&(t[xA.NAME]=IA.toString(this.type)),t}}wb.NAME="Attribute";class Ab extends wb{constructor(...t){var e;if(Ml._H.isBufferSource(t[0]))super(t[0]);else{const e=new Nw({printableString:t[0]});super(dw,[qp.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=qp.parse(this.values[0],Nw);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[xA.VALUE]=this.password,t}}Ab.NAME="Challenge Password";class bb extends wb{constructor(...t){var e;if(Ml._H.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new Mf;for(const t of e)r.push(qp.parse(t.rawData,Uf));super(fw,[qp.serialize(r)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=qp.parse(this.values[0],Mf);this.items=t.map(t=>ob.create(qp.serialize(t)))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map(t=>t.toTextObject());for(const r of e)t[r[xA.NAME]]=r;return t}}bb.NAME="Extensions";class vb{static register(t,e){this.items.set(t,e)}static create(t){const e=new wb(t),r=this.items.get(e.type);return r?new r(t):e}}vb.items=new Map;let Eb=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new Nf({algorithm:Pm,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new Nf({algorithm:jm,parameters:null});case"sha-256":return new Nf({algorithm:Qm,parameters:null});case"sha-384":return new Nf({algorithm:zm,parameters:null});case"sha-512":return new Nf({algorithm:Vm,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case Pm:return{name:"RSASSA-PKCS1-v1_5"};case jm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case Qm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case zm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case Vm:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Eb=py([Hy()],Eb),My.registerSingleton(Ww,Eb);class _b{addPadding(t,e){const r=Ml._H.toUint8Array(e),i=new Uint8Array(t);return i.set(r,t-r.length),i}removePadding(t,e=!1){let r=Ml._H.toUint8Array(t);for(let t=0;t<r.length;t++)if(r[t]){r=r.slice(t);break}if(e&&r[0]>127){const t=new Uint8Array(r.length+1);return t.set(r,1),t.buffer}return r.buffer}toAsnSignature(t,e){if("ECDSA"===t.name){const r=t.namedCurve,i=_b.namedCurveSize.get(r)||_b.defaultNamedCurveSize,n=new Om,s=Ml._H.toUint8Array(e);return n.r=this.removePadding(s.slice(0,i),!0),n.s=this.removePadding(s.slice(i,i+i),!0),qp.serialize(n)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const r=qp.parse(e,Om),i=t.namedCurve,n=_b.namedCurveSize.get(i)||_b.defaultNamedCurveSize,s=this.addPadding(n,this.removePadding(r.r)),o=this.addPadding(n,this.removePadding(r.s));return(0,Ml.kg)(s,o)}return null}}_b.namedCurveSize=new Map,_b.defaultNamedCurveSize=32;const xb="1.3.101.110",Ib="1.3.101.111",Sb="1.3.101.112",Tb="1.3.101.113";let Cb=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=Sb;break;case"ed448":e=Tb}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=xb;break;case"x448":e=Ib}}return e?new Nf({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case Sb:return{name:"EdDSA",namedCurve:"Ed25519"};case Tb:return{name:"EdDSA",namedCurve:"Ed448"};case xb:return{name:"ECDH-ES",namedCurve:"X25519"};case Ib:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Cb=py([Hy()],Cb),My.registerSingleton(Ww,Cb);class Rb extends nb{constructor(t){nb.isAsnEncoded(t)?super(t,jw):super(t),this.tag=ib.CertificateRequestTag}onInit(t){this.tbs=qp.serialize(t.certificationRequestInfo),this.publicKey=new sb(t.certificationRequestInfo.subjectPKInfo);const e=My.resolve(Qw);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map(t=>vb.create(qp.serialize(t)));const r=this.getAttribute(fw);this.extensions=[],r instanceof bb&&(this.extensions=r.items),this.subjectName=new LA(t.certificationRequestInfo.subject),this.subject=this.subjectName.toString()}getAttribute(t){for(const e of this.attributes)if(e.type===t)return e;return null}getAttributes(t){return this.attributes.filter(e=>e.type===t)}getExtension(t){for(const e of this.extensions)if(e.type===t)return e;return null}getExtensions(t){return this.extensions.filter(e=>e.type===t)}async verify(t=BA.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(e,["verify"],t),i=My.resolveAll(ab).reverse();let n=null;for(const t of i)if(n=t.toWebSignature(e,this.signature),n)break;if(!n)throw Error("Cannot convert WebCrypto signature value to ASN.1 format");return await t.subtle.verify(this.signatureAlgorithm,r,n,this.tbs)}toTextObject(){const t=this.toTextObjectEmpty(),e=qp.parse(this.rawData,jw),r=e.certificationRequestInfo,i=new xA("",{Version:`${Ff[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new xA("");for(const e of this.attributes){const r=e.toTextObject();t[r[xA.NAME]]=r}i.Attributes=t}return t.Data=i,t.Signature=new xA("",{Algorithm:SA.serializeAlgorithm(e.signatureAlgorithm),"":e.signature}),t}}Rb.NAME="PKCS#10 Certificate Request";var kb;!function(t){t[t.unspecified=0]="unspecified",t[t.keyCompromise=1]="keyCompromise",t[t.cACompromise=2]="cACompromise",t[t.affiliationChanged=3]="affiliationChanged",t[t.superseded=4]="superseded",t[t.cessationOfOperation=5]="cessationOfOperation",t[t.certificateHold=6]="certificateHold",t[t.removeFromCRL=8]="removeFromCRL",t[t.privilegeWithdrawn=9]="privilegeWithdrawn",t[t.aACompromise=10]="aACompromise"}(kb||(kb={}));ob.register(Ad,hb),ob.register(Kd,db),ob.register(af,fb),ob.register(xf,gb),ob.register(md,lb),ob.register(Af,mb),vb.register(dw,Ab),vb.register(fw,bb),My.registerSingleton(ab,class{toAsnSignature(t,e){return Ml._H.toArrayBuffer(e)}toWebSignature(t,e){return Ml._H.toArrayBuffer(e)}}),My.registerSingleton(ab,_b),_b.namedCurveSize.set("P-256",32),_b.namedCurveSize.set("K-256",32),_b.namedCurveSize.set("P-384",48),_b.namedCurveSize.set("P-521",66);const Bb=/-{5}(BEGIN|END) .*-{5}/gm;const Nb="pages/pages.jsonl",Ob="pages/extraPages.jsonl",Db="datapackage.json",Pb="datapackage-digest.json",Lb="webarchive.yaml";class Ub{store;file;isRoot;waczname;constructor(t,e,r=!0){this.file=e,this.waczname=e.waczname||"",this.store=t,this.isRoot=r}async loadFileFromWACZ(t,e){return this.store.loadFileFromWACZ?await this.store.loadFileFromWACZ(this.file,t,e):await this.file.loadFile(t,e)}async load(){let t,e=null;return this.file.containsFile(Pb)&&(e=await this.loadDigestData(Pb)),this.file.containsFile(Db)?t=await this.loadPackage(Db,e):this.file.containsFile(Lb)&&(t=await this.loadOldPackageYAML(Lb)),t||{}}async loadTextFileFromWACZ(t,e=""){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e});if(!r)return"";const n=(new TextDecoder).decode(await r.readFully());return e&&i&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}async loadDigestData(t){try{const e=JSON.parse(await this.loadTextFileFromWACZ(t));let r;e.path===Db&&e.hash&&(r=e.hash);const i=this.store,n=this.isRoot?"":this.waczname+":";if(!e.signedData||e.signedData.hash!==r)return void await i.addVerifyData(n,"signature","");await i.addVerifyData(n,"datapackageHash",r);const s=await async function({hash:t,signature:e,publicKey:r,domain:i,domainCert:n,created:s,software:o}){let a;const c=[],l=(0,Ul.toByteArray)(e);let h;if(n&&i&&!r){const t=n.split("\n\n"),e=(0,Ul.toByteArray)(t[0].replace(Bb,"").replace(/\s/gm,"")),r=m(await crypto.subtle.digest("SHA-256",e));c.push({id:"certFingerprint",expected:r,matched:null});const i=new cb(e);h=await i.publicKey.export();const s=(0,Ul.fromByteArray)(new Uint8Array(i.publicKey.rawData));c.push({id:"publicKey",expected:s,matched:null}),i.subject&&i.subject.startsWith("CN=")&&(a=i.subject.substring(3))}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),h=await crypto.subtle.importKey("spki",(0,Ul.toByteArray)(r),t,!0,["verify"])}const u=new TextEncoder,p=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},h,l,u.encode(t));return c.push({id:"signature",expected:!0,matched:p}),s&&c.push({id:"created",expected:s,matched:null}),o&&c.push({id:"software",expected:o,matched:null}),i&&c.push({id:"domain",expected:i,matched:a}),c}(e.signedData);return await i.addVerifyDataList(n,s),r}catch(t){console.warn(t)}}async loadPackage(t,e){const r=await this.loadTextFileFromWACZ(t,e),i=JSON.parse(r);switch(this.isRoot&&void 0!==i.config&&this.store.initConfig(i.config),i.profile){case"data-package":case"wacz-package":case void 0:case null:return await this.loadLeafWACZPackage(i);case"multi-wacz-package":return await this.loadMultiWACZPackage(i);default:throw new Error(`Unknown package profile: ${i.profile}`)}}async loadMultiWACZPackage(t){return this.file.markAsMultiWACZ(),await this.store.loadWACZFiles(t,this.file),this.store.maxFallbackLookups=-1,t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===Nb?(r=e.hash,await this.store.addVerifyData(this.waczname,e.path,e.hash)):(e.path.endsWith(".idx")||e.path.endsWith(".cdx"))&&await this.store.addVerifyData(this.waczname,e.path,e.hash);if(this.file.containsFile(Nb)){(await this.loadPages(Nb,r)).hasText&&(this.store.textIndex=e.textIndex=Nb)}return this.file.containsFile(Ob)&&(this.store.textIndex=e.textIndex=Ob),e}async loadOldPackageYAML(t){const e=await this.loadTextFileFromWACZ(t),r=Ll.load(e),i={desc:r.desc,title:r.title};r.textIndex&&(i.textIndex=r.textIndex,r.config||(r.config={}),r.config.textIndex=r.textIndex),this.isRoot&&void 0!==r.config&&this.store.initConfig(r.config),i.title||(i.title=this.store.config.sourceName);const n=r.pages||[];n?.length&&await this.store.addPages(n);const s=r.pageLists||[];return s?.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=Nb,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});if(!r)return[];let n=null,s=[];for await(const t of r.iterLines()){const e=JSON.parse(t);this.waczname&&(e.wacz=this.waczname),n?(s.push(e),500===s.length&&(await this.store.addPages(s),s=[])):n=e}return s.length&&await this.store.addPages(s),i&&e&&await this.store.addVerifyData(this.waczname,t,e,i.getHash()),n}}class Mb{loader;loadId=null;loadUrl;constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){const e=this.loader;t.fullConfig&&e.arrayBuffer&&e.arrayBuffer.byteLength<=o&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=e.arrayBuffer);const r=this.loadUrl;return await t.addNewWACZ({name:"default",path:r,loader:e})}}class Fb{loader;loadId=null;config;constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new Da({loader:this.loader});await i.init();const n=i.zipreader,s=new Ub(t,i),o=await s.load();let a=0;const c=(t,i,n)=>{n+=a,e&&r&&e(Math.round(100*n/r),null,n,r)};for(const e of i.iterContainedFiles()){const r=n.getCompressedSize(e);(e.endsWith(".warc.gz")||e.endsWith(".warc"))&&await this.loadWARC(t,n,e,c,r),a+=r}return o||{}}async loadWARC(t,e,r,i,n){const{reader:s}=await e.loadFile(r,{unzip:!0});if(!s)throw new Error("no WARC found");const o=new mo(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class Hb{response;constructor(t){this.response=t}async load(t){try{return await t.loadFromJSON(this.response)}catch(t){return{}}}}class jb{prefix;proxyPathOnly;isLive;archivePrefix;archiveMod;cloneResponse;allowBody;hostProxy;hostProxyOnly;messageOnProxyErrors;constructor(t,{cloneResponse:e=!1,allowBody:r=!1,hostProxyOnly:i=!1}={}){if(t=t||{},this.prefix=t.prefix||"",this.proxyPathOnly=t.proxyPathOnly||!1,this.isLive=void 0===t.isLive||t.isLive,this.archivePrefix=t.archivePrefix||"",this.archiveMod=t.archiveMod||"id_",this.cloneResponse=e,this.allowBody=r||this.isLive||!!t.noPostToGet,this.messageOnProxyErrors=t.messageOnProxyErrors||!1,this.hostProxy=t.hostProxy,this.hostProxy instanceof Array){const t={};for(const e of this.hostProxy)t[e.host]=e;this.hostProxy=t}this.hostProxyOnly=i}async getAllPages(){return[]}getFetchUrl(t,e,r){let i;if(this.hostProxy){i=new URL(t);const e=this.hostProxy[i.host];if(e)return r.set("X-Proxy-Host",i.host),e.prefix+(e.pathOnly?i.pathname+i.search:t)}return this.hostProxyOnly?null:this.proxyPathOnly?(i||(i=new URL(t)),this.prefix+i.pathname+i.search):this.isLive||!e.timestamp&&!this.archivePrefix?this.prefix+t:this.prefix+this.archivePrefix+e.timestamp+this.archiveMod+"/"+t}async getResource(t,e){const{headers:r,credentials:i,url:n}=t.prepareProxyRequest(e,!0),s=this.getFetchUrl(n,t,r);if(!s)return null;let o=null;const a="POST"===t.method||"PUT"===t.method||"DELETE"===t.method;a&&(this.allowBody?o=await t.getBody():this.sendProxyError("post-request-attempt",n,t.method));let c=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"}),l=!1;a&&c.status>=400?this.sendProxyError("post-request-failed",n,t.method,c.status):429===c.status&&this.sendProxyError("rate-limited",n,t.method,c.status),c.status>400&&404!==c.status&&["","document","iframe"].includes(t.destination)&&(c=fs(n,c.status),l=!0);try{const t=new URL(s,self.location.href).href;if(c.ok&&c.url&&c.url!==t){const t=c.url.indexOf("/http"),e=c.url.slice(t+1);n!==e&&(c=Response.redirect(e))}}catch(t){}let h=null;this.cloneResponse&&(h=c.clone());const u=Yn.fromResponse({url:n,response:c,date:new Date,noRW:l,isLive:this.isLive,archivePrefix:this.archivePrefix});return h&&(u.clonedResponse=h),u}async sendProxyError(t,e,r,i){if(!this.messageOnProxyErrors)return;const n=await self.clients.matchAll({type:"window"});for(const s of n){if(new URL(s.url).searchParams.get("source")===this.prefix){s.postMessage({type:t,url:e,method:r,status:i});break}}}}const Wb=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class Qb extends fa{config;waczfiles;waczNameForHash;ziploadercache;updating;rootSourceType;sourceLoader;externalSource;textIndex;fuzzyUrlRules;pagesQueryUrl="";referrerMap=new Map;notAPage=new Set;maxFallbackLookups=3;totalPages=void 0;preloadResources=[];seedPageWACZs=new Map;constructor(t,e,r="wacz"){if(super(t.dbname,t.noCache),this.config=t,this.waczfiles={},this.waczNameForHash={},this.ziploadercache={},this.updating=null,this.rootSourceType=r,this.sourceLoader=e,this.externalSource=null,this.fuzzyUrlRules=[],this.textIndex=t.metadata?.textIndex||Ob,t.extraConfig&&this.initConfig(t.extraConfig),t.metadata){if(this.pagesQueryUrl=t.metadata.pagesQueryUrl||"",t.metadata.preloadResources?.length)for(const{name:e}of t.metadata.preloadResources)this.preloadResources.push(e);"number"==typeof t.metadata.totalPages&&(this.totalPages=t.metadata.totalPages)}}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=!!t.decodeResponses),t.hostProxy&&(this.externalSource=new jb(t,{hostProxyOnly:!0})),t.fuzzy)for(const[e,r]of t.fuzzy){const t=new RegExp(e);this.fuzzyUrlRules.push({match:t,replace:r})}t.textIndex&&(this.textIndex=t.textIndex)}updateHeaders(t){this.sourceLoader&&(this.sourceLoader.headers=t),this.checkUpdates().catch(()=>console.warn("Error updating JSON even after auth update"))}_initDB(t,e,r,i){super._initDB(t,e,r,i),e||(t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"})),2===e&&this.convertV2WACZDB(t,i),3===e&&t.createObjectStore("verification",{keyPath:"id"})}async convertV2WACZDB(t,e){try{const r=await e.objectStore("ziplines").getAll(),i=await e.objectStore("zipEntries").getAll();t.deleteObjectStore("ziplines"),t.deleteObjectStore("zipEntries"),t.createObjectStore("ziplines",{keyPath:["waczname","prefix"]}),t.createObjectStore("waczfiles",{keyPath:"waczname"}),t.createObjectStore("verification",{keyPath:"id"});const n=this.config.loadUrl;for(const t of r)t.waczname=n,e.objectStore("ziplines").put(t);const s=r.length>0?2:1,o=await this.computeFileHash(n,""),a=new Da({waczname:n,hash:o,path:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){const e=new Da(t);return this.waczfiles[t.waczname]=e,this.waczNameForHash[t.hash]=t.waczname,e}async init(){await super.init();const t=await this.db.getAll("waczfiles")||[];for(const e of t)this.addWACZFile({...e,parent:this});for(const[t,e]of Object.entries(this.waczfiles)){e.path=e.path||t;const r=e.path.lastIndexOf("#!/");if(r>0){const t=e.path.slice(0,r),i=this.waczfiles[t];e.parent=i}else"json"!==this.rootSourceType&&(e.loader=this.sourceLoader)}}async close(){super.close(),caches.delete("cache:"+this.name.slice(3))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i=null,n=!1){let s=!1;t&&(e=t+e),i&&(s=r===i,n&&console.log(`verify ${e}: ${s}`)),await this.db.put("verification",{id:e,expected:r,matched:s})}async addVerifyDataList(t,e){const r=this.db.transaction("verification","readwrite");for(const i of e)t&&(i.id=t+i.id),r.store.put(i);try{await r.done}catch(t){console.warn(t)}}async getVerifyInfo(){const t=await this.db.getAll("verification");let e=0,r=0;const i={},n=["domain","created","certFingerprint","software","datapackageHash","publicKey"];for(const s of t)n.includes(s.id)?i[s.id]=s.expected:"signature"===s.id||!0===s.matched?e++:!1===s.matched&&r++;return i.numInvalid=r,i.numValid=e,i}async getVerifyExpected(t){const e=await this.db.get("verification",t);return e?.expected}async clearAll(){await super.clearAll(),await this.clearZipData()}async loadRecordFromSource(t){const{start:e,length:r,path:i,wacz:n}=t.source,s={offset:e,length:r,unzip:!0,computeHash:!0},o=n,{reader:a,hasher:c}=await this.loadFileFromNamedWACZ(o,"archive/"+i,s),l=new yo(a);await this.waczfiles[o].save(this.db);const h=await l.load();return t[Ea]&&h?.respHeaders&&(h.respHeaders["x-wabac-preset-cookie"]=t[Ea]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(this.waczfiles[t].entries||await this.waczfiles[t].init(),this.waczfiles[t].indexType)return{indexType:this.waczfiles[t].indexType,isNew:!1};let e=0;for(const r of this.waczfiles[t].iterContainedFiles())r.endsWith(".cdx")||r.endsWith(".cdxj")?(console.log(`Loading CDX for ${t}`),await this.loadCDX(r,t),e=1):r.endsWith(".idx")&&(console.log(`Loading IDX for ${t}`),await this.loadIDX(r,t),e=2);return this.waczfiles[t].indexType=e,await this.waczfiles[t].save(this.db,!0),{indexType:e,isNew:!0}}async loadCDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=new Ia(n,null,e,{wacz:e}),a=await o.load(this,r,i);if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}return a}async loadIDX(t,e,r,i){const{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(e,t,{computeHash:!0}),o=[];let a="",c=!0,l=0;for await(const t of n.iterLines()){if(l+=t.length,l===t.length&&t.startsWith("!meta")){const e=t.indexOf(" {");if(e<0){console.warn("Invalid Meta Line: "+t);continue}const r=JSON.parse(t.slice(e));r.filename&&(a=r.filename),"cdxj-gzip-1.0"!==r.format&&console.log(`Unknown CDXJ format "${r.format}", archive may not parse correctly`);continue}let n;if(t.indexOf("\t")>0){const[r,i,s,o]=t.split("\t");n={waczname:e,prefix:r,filename:i,offset:Number(s),length:Number(o),loaded:!1},c=!1}else{const r=t.indexOf(" {");if(r<0){console.log("Invalid Index Line: "+t);continue}const i=t.slice(0,r);let{offset:s,length:o,filename:l,digest:h}=JSON.parse(t.slice(r));c=c&&!Wb.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&i&&r(l/i,l,i),o.push(n)}if(s){const r=await this.getVerifyExpected(t);r&&this.addVerifyData(e,t,r,s.getHash())}const h=this.db.transaction("ziplines","readwrite");for(const t of o)h.store.put(t);try{await h.done}catch(t){console.log("Error loading ziplines index: ",t)}c&&c!==this.waczfiles[e].nonSurt&&(this.waczfiles[e].nonSurt=c,await this.waczfiles[e].save(this.db,!0))}async loadCDXFromIDX(t,e,r=0,i=!1){const n=this.waczfiles[t].nonSurt?e:ut(e),s=i?this.prefixUpperBound(n):n+" 9999",o=IDBKeyRange.upperBound([t,s],!0),a=this.db.transaction("ziplines","readonly"),c=[],l=n.split("?")[0];for await(const e of a.store.iterate(o,"prev")){const r=e.value;if(!r||r.waczname!==t)break;if(c.unshift(r),!r.prefix.split(" ")[0].startsWith(l))break}await a.done;const h=[];c.length>3&&r&&c.sort((t,e)=>{const i=t.prefix.split(" ")[1],n=e.prefix.split(" ")[1];if(!i||!n)return 0;const s=Math.abs(f(i).getTime()-r),o=Math.abs(f(n).getTime()-r);return s===o?0:s<o?-1:1});let u=0;for(const e of c){if(e.loaded)continue;const r=t+":"+e.filename+":"+e.offset;let i=this.ziploadercache[r];if(i||(i=this.doCDXLoad(r,e,t),this.ziploadercache[r]=i),h.push(i),++u>3)break}return h.length&&await Promise.allSettled(h),await this.waczfiles[t].save(this.db),h.length>0}async doCDXLoad(t,e,r){try{const t="indexes/"+e.filename,i={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:n,hasher:s}=await this.loadFileFromNamedWACZ(r,t,i),o=new Ia(n,null,"",{wacz:r});if(await o.load(this),s){const i=s.getHash(),n=`${t}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest||"",i)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await S(t,this.config)||console.warn(t)}finally{delete this.ziploadercache[t]}}async findPageAtUrl(t,e){const r=await this.db.getAllFromIndex("pages","url",t);let i=null,n=Number.MAX_SAFE_INTEGER;for(const t of r){const r=Math.abs(t.ts-e);if(r<1e3)return t;r<n&&(i=t,n=r)}return i}async lookupUrl(t,e,r={}){try{const{waczname:i}=r;let n;return i&&"local"!==i&&(n=await this.lookupUrlForWACZ(i,t,e,r)),!n||r.noRevisits&&"warc/revisit"===n.mime?(n=await super.lookupUrl(t,e,r),n):n}catch(t){return console.warn(t),null}}async lookupUrlForWACZ(t,e,r,i){const{indexType:n,isNew:s}=await this.loadIndex(t);switch(n){case 2:if(!await this.loadCDXFromIDX(t,e,r,!1))return null;break;case 1:if(!s)return null;break;default:return null}return await super.lookupUrl(e,r,i)}async resourcesByUrlAndMime(t,...e){let r=await super.resourcesByUrlAndMime(t,...e);if(r.length>0)return r;for(const i of Object.keys(this.waczfiles))if(i&&"local"!==i){const{indexType:n,isNew:s}=await this.loadIndex(i);switch(n){case 2:if(!await this.loadCDXFromIDX(i,t,0,!0))continue;break;case 1:if(!s)continue;break;default:continue}const o=await super.resourcesByUrlAndMime(t,...e);o&&o.length&&(r=r.concat(o))}return r}async loadFileFromWACZ(t,e,r,i=0){try{return await t.loadFile(e,r)}catch(n){if(i<=3&&await this.retryLoad(n))return await this.loadFileFromWACZ(t,e,r,i+1);throw n}}async loadFileFromNamedWACZ(t,e,r){const i=this.waczfiles[t];if(!i)throw new Error("No WACZ Found for: "+t);return await this.loadFileFromWACZ(i,e,r)}async computeFileHash(t,e){return e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await y(t,"sha-256",""),e}async addNewWACZ({name:t,hash:e,path:r,crawlId:i,parent:n,loader:s=null}){const o=t||r||"";e=await this.computeFileHash(o,e);const a=this.addWACZFile({waczname:o,hash:e,crawlId:i,path:r,parent:n,loader:s});if(this.pagesQueryUrl||await a.init(),await a.save(this.db,!0),this.pagesQueryUrl)return{};{const t=new Ub(this,a,!n);return await t.load()}}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{const r=this.waczfiles[t];r&&(this.pagesQueryUrl?await r.init(e):r.path=e,await r.save(this.db,!0))},n=t.resources.map(t=>{const r=e.getLoadPath(t.path);return{name:e.getName(t.name),hash:t.hash,path:r,crawlId:t.crawlId}});for(const{name:t,hash:s,path:o,crawlId:a}of n)this.waczfiles[t]?this.waczfiles[t].path!==o&&r.push(i(t,o)):r.push(this.addNewWACZ({name:t,hash:s,path:o,parent:e,crawlId:a}));if(r.length&&await Promise.allSettled(r),t.preloadResources?.length)for(const{name:e}of t.preloadResources)this.preloadResources.push(e);t.initialPages?.length&&await this.addInitialPages(t.initialPages),"number"==typeof t.totalPages&&(this.totalPages=t.totalPages)}async addInitialPages(t){const e=[];for(const{id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,filename:h,isSeed:u,crawl_id:p}of t){const t=this.waczfiles[h],d=t?t.hash:"";if(e.push({id:r,url:i,title:n,ts:s,mime:o,status:a,depth:c,favIconUrl:l,wacz:h,waczhash:d,isSeed:u}),u){const t=this.seedPageWACZs.get(p||"")||new Set;t.add(h),this.seedPageWACZs.set(p||"",t)}}return await this.addPages(e)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(this.pagesQueryUrl||!this.textIndex||!e.length)return new Response("",{headers:t});if(1===e.length){const r=e[0];let i;try{i=await this.loadFileFromNamedWACZ(r,this.textIndex,{unzip:!0})}catch(e){return new Response("",{headers:t})}const{reader:n}=i,s=this.waczfiles[r].getSizeOf(this.textIndex);return s>0&&(t["Content-Length"]=""+s),new Response(n.getReadableStream(),{headers:t})}{const r=[];for(const t of e)try{const{reader:e}=await this.loadFileFromNamedWACZ(t,this.textIndex,{unzip:!0});e&&r.push(e)}catch(t){continue}const i=new ReadableStream({async pull(t){for(const e of r)for await(const r of e)t.enqueue(r);t.close()}});return new Response(i,{headers:t})}}async getResource(t,e,r,{pageId:i,noRedirect:n}={}){if(await this.initing,this.externalSource){const r=await this.externalSource.getResource(t,e);if(r)return r}const s=i;let o=null,a=null;if(s){if(o=this.waczNameForHash[s],!o)return null;if(a=await super.getResource(t,e,r,{waczname:o}),a)return a}const c=await this.getWACZFilesToTry(t,o);if(!c.length)return null;const l=new Map;for(const i of c){const n=this.waczfiles[i];if(n&&(n.fileType===Oa&&n.hash!==s&&(a=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!t.isProxyOrigin}),a))){const t=a,e=t.date.getTime();l.set(e,{name:i,hash:n.hash,resp:t})}}if(l.size>0){const r=f(t.timestamp);let i,s,a,c=-1;for(const t of l.keys()){const e=Math.abs(t-r.getTime());if(c<0||e<c){const{name:r,hash:n,resp:h}=l.get(t);o=r,s=n,i=d(h.date.toISOString()),c=e,a=h}}return n?a:Response.redirect(`${e}:${s}/${i}${t.mod}/${t.url}`)}if(this.fuzzyUrlRules.length)for(const{match:i,replace:n}of this.fuzzyUrlRules){const s=decodeURIComponent(t.url.replace(i,n));if(s&&s!==t.url){t.url=s;const i=await super.getResource(t,e,r);if(i)return i}}return null}async retryLoad(t){if("json"!==this.rootSourceType)return!1;if(!(t instanceof k||t instanceof C))return await S(t,this.config);try{return await this.checkUpdates(),!0}catch(t){return!1}}async queryPages(t="",e=1,r=25){const i=new URLSearchParams;t&&i.set("search",t),i.set("page",e+""),i.set("pageSize",r+"");const n=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==n.status)return{pages:[],total:0};const s=await n.json();if(!s)return{pages:[],total:0};const o=s.total,a=s.items.map(t=>{t.wacz=t.filename;const e=this.waczfiles[t.filename];return e&&(t.waczhash=e.hash),"string"==typeof t.ts&&(t.ts=new Date(t.ts).getTime()),t});return{pages:a,total:o}}async getWACZFilesToTry(t,e){let r,i=[];if(this.preloadResources.length&&(i=[...this.preloadResources]),!this.pagesQueryUrl||"document"!==t.destination&&"iframe"!==t.destination){if(this.pagesQueryUrl&&t.url.startsWith("urn:")){const e=t.url.indexOf("http");e>0&&(r=t.url.slice(e))}else if(t.isProxyOrigin&&t.referrer&&"document"!==t.destination){r=t.referrer,this.referrerMap.set(t.url,r);let e="";for(;r&&(e=this.referrerMap.get(r),e&&e!==r);)r=e}}else r=t.url;if(r&&this.pagesQueryUrl){if(r.startsWith("//")){r=(t.referrer&&t.referrer.indexOf("/http:")>0?"http:":"https:")+r}let e=await this.getWACZFilesForPagesQuery(r);if(e)return i=[...i,...e],i;if(r.startsWith("https://www.")){const t=new URL(r);if("/"===t.pathname&&(t.hostname=t.hostname.replace("www.",""),e=await this.getWACZFilesForPagesQuery(t.href),e))return i=[...i,...e],i}}if(e){const t=this.waczfiles[e];if(t?.crawlId){const e=this.seedPageWACZs.get(t.crawlId);if(e)return i=[...i,...e.values()],i}}const n=Object.keys(this.waczfiles);return this.maxFallbackLookups>0&&"json"===this.rootSourceType&&this.pagesQueryUrl?n.slice(0,this.maxFallbackLookups):n}async getWACZFilesForPagesQuery(t){const e=[];if(!this.pagesQueryUrl)return null;const r=await this.getPagesByUrl(t);for(const t of r)t.wacz&&e.push(t.wacz);if(e.length)return e;if(this.notAPage.has(t))return null;const i=new URLSearchParams,n=new URL(t);n.hash="",i.set("url",n.href),i.set("pageSize","25");let s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers});if(200!==s.status)return null;let o=await s.json();!o?.items.length&&n.search&&(n.search="",i.delete("url"),i.set("search",n.href),s=await fetch(this.pagesQueryUrl+"?"+i.toString(),{headers:this.sourceLoader?.headers}),o=await s.json());const a=o.items;for(const t of a){if(!t.url.startsWith(n.href))break;t.filename&&e.push(t.filename)}return e.length?(this.addInitialPages(o.items).catch(t=>console.log(t,"additional page add failed")),e):(this.notAPage.add(t),null)}async checkUpdates(){if("json"!==this.rootSourceType)return;const t=async()=>{try{return void await this.loadFromJSON()}catch(t){await O(500)}throw new N};this.updating||(this.updating=t());try{await this.updating}finally{this.updating=null}}async loadFromJSON(t=null){if(!t){const e=await this.sourceLoader.doInitialFetch(!1,!1);t=e&&e.response}if(!t||206!==t.status&&200!==t.status)throw console.warn("WACZ update failed from: "+(this.config.loadUrl||this.config.sourceUrl)),new k;const e=await t.json();return e.pagesQueryUrl&&(this.pagesQueryUrl=e.pagesQueryUrl),e.profile,await this.loadWACZFiles(e),e}getLoadPath(t){return new URL(t,this.config.loadUrl).href}getName(t){return t}async createLoader(t){return await na(t)}}class zb{sourceUrl;type;notFoundPageUrl;constructor(t){const e=t.extraConfig||{};this.sourceUrl=e.prefix,this.type=e.sourceType||"kiwix",this.notFoundPageUrl=e.notFoundPageUrl}async getAllPages(){return[]}async getResource(t,e){const{url:r,headers:i}=t.prepareProxyRequest(e);let n=i;if("kiwix"===this.type){let e=await this.resolveHeaders(r);if(!e)for(const t of co.getFuzzyCanonsWithArgs(r))if(t!==r&&(e=await this.resolveHeaders(t),e))break;if(!e){if(this.notFoundPageUrl&&"navigate"===t.mode){const t=await fetch(this.notFoundPageUrl);if(200===t.status){const e={"Content-Type":"text/html"},i=await t.text();return new Response(i.replace("$URL",r),{status:404,headers:e})}}return null}let{headers:i,encodedUrl:s,date:o,status:a,statusText:c,hasPayload:l}=e;if(n.has("Range")){const t=n.get("Range");t&&(n={Range:t})}let h=null,u=null;if(i||(i=new Headers),l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new It(u.body.getReader(),null,!1)),206===u.status)){const t=u.headers.get("Content-Length"),e=u.headers.get("Content-Range");t&&e&&(a=206,c="Partial Content",i.set("Content-Length",t),i.set("Content-Range",e),i.set("Accept-Ranges","bytes"))}h||(h=new Uint8Array([])),o||(o=new Date);return new Yn({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}return null}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);const i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=200,a="OK",c=!1;try{const e=await jt.parse(i.body);if(!e)return null;if("revisit"===e.warcType){const r=e.warcHeaders.headers.get("WARC-Refers-To-Target-URI");if(r&&r!==t)return await this.resolveHeaders(r)}s=new Date(e.warcDate),e.httpHeaders?(n=e.httpHeaders.headers,o=Number(e.httpHeaders.statusCode),a=e.httpHeaders.statusText||"",c="0"!==e.httpHeaders.headers.get("Content-Length")):"resource"===e.warcType&&(n=new Headers,n.set("Content-Type",e.warcContentType||""),n.set("Content-Length",e.warcContentLength+""),o=200,a="OK",c=e.warcContentLength>0),o||(o=200)}catch(e){console.warn(e),console.warn("Ignoring headers, error parsing headers response for: "+t)}return{encodedUrl:r,headers:n,date:s,status:o,statusText:a,hasPayload:c}}}globalThis.self||(globalThis.self=globalThis);const Vb={};self.interruptLoads=Vb;class Gb{root=null;colldb=null;checkIpfs=!0;_init_db;_fileHandles=null;constructor(){this._init_db=this._initDB()}async _initDB(){this.colldb=await Qs("collDB",3,{upgrade:(t,e)=>{if(e<1){t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type")}try{t.createObjectStore("settings")}catch(t){}}})}async loadAll(t){if(await this._init_db,t)for(const e of t.split(",")){const t=e.split(":");if(2===t.length){const e={dbname:t[1],sourceName:t[1],decode:!1,sourceUrl:""},r={name:t[0],type:"archive",config:e};console.log("Adding Coll: "+JSON.stringify(r)),await this.colldb.put("colls",r)}}try{const t=await this.listAll(),e=[],r=t.map(async t=>this._initColl(t,e));await Promise.all(r),e.length&&this.deleteExpireMultiWACZs(e)}catch(t){console.warn(t.toString())}return!0}async listAll(){return await this._init_db,await this.colldb.getAll("colls")}async loadColl(t){await this._init_db;const e=await this.colldb.get("colls",t);return e?await this._initColl(e):null}async reload(t){return this.loadColl(t)}async deleteColl(t){await this._init_db;const e=await this.colldb.get("colls",t);if(!e)return!1;if(e.config.dbname)try{await zs(e.config.dbname,{blocked(t,r){console.log(`Unable to delete ${e.config.dbname}, blocked: ${r}`)}})}catch(t){return console.warn(t),!1}return await this.colldb.delete("colls",t),!0}async deleteExpireMultiWACZs(t){const e=await(this.colldb?.get("settings","lastCleanupRun"));if(e&&Date.now()-e<864e5)console.log("Skipping cleanup run, ran recently");else{for(const e of t){const t=e.config.loadUrl||e.config.sourceUrl;if(t.startsWith("https://")||t.startsWith("http://")){try{await e.checkUpdates()}catch(r){r instanceof N&&(console.warn("Deleting expired/invalid coll for "+t),this.deleteColl(e.name))}await O(2e3)}}await this.colldb.put("settings",Date.now(),"lastCleanupRun")}}async updateAuth(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.headers=e,await this.colldb.put("colls",r),!0)}async updateMetadata(t,e){await this._init_db;const r=await this.colldb.get("colls",t);return!!r&&(r.config.metadata={...r.config.metadata,...e},await this.colldb.put("colls",r),r.config.metadata)}async updateSize(t,e,r,i){await this._init_db;const n=await this.colldb.get("colls",t);if(!n)return!1;const s=n.config.metadata||{};return s.fullSize=(s.fullSize||0)+e,s.size=(s.size||0)+r,s.mtime=(new Date).getTime(),void 0!==i&&(n.config.decode=i),await this.colldb.put("colls",n),s}async initNewColl(t,e={},r="archive"){await this._init_db;const i=b(),n="local://"+i,s={name:i,type:r,config:{dbname:"db:"+i,ctime:(new Date).getTime(),decode:!1,metadata:t,sourceUrl:n,extraConfig:e}},o=await this._initColl(s);return await this.colldb.put("colls",s),o}async _initColl(t,e=null){const r=await this._initStore(t.type||"",t.config),i=t.name,n=t.config;return t.config.root&&!this.root&&(this.root=i||null),e&&r instanceof Qb&&e.push(r),this._createCollection({name:i,store:r,config:n})}async _initStore(t,e){let r,i=null;switch(t){case"archive":i=new uo(e.dbname);break;case"remotesource":r=await na({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new ma(e.dbname,r,e.noCache);break;case"remoteprefix":i=new ya(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await na({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new Qb(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new zb(e);break;case"live":i=new jb(e.extraConfig)}return i?(i.initing&&await i.initing,i):(console.log("no store found: "+t),null)}_createCollection(t){return t}}class qb extends Gb{constructor(t){super(),this.registerListener(t)}async hasCollection(t){return await this._init_db,null!=await this.colldb.getKey("colls",t)}registerListener(t){t.addEventListener("message",t=>{t.waitUntil?t.waitUntil(this._handleMessage(t)):this._handleMessage(t)})}async _handleMessage(t){await this._init_db;const e=t.source||self;switch(t.data.msg_type){case"addColl":{const r=t.data.name,i=(t,i,n,s,o=null,a=null)=>{e.postMessage({msg_type:"collProgress",name:r,percent:t,error:i,currentSize:n,totalSize:s,fileHandle:o,extraMsg:a})};let n;try{if(n=await this.colldb.get("colls",r),n?t.data.skipExisting||(await this.deleteColl(r),n=await this.addCollection(t.data,i)):n=await this.addCollection(t.data,i),!n){if(t.data.name)try{await zs("db:"+t.data.name,{blocked(e,r){console.log(`Load failed and unable to delete ${t.data.name}: ${r}`)}})}catch(t){console.warn(t)}return}}catch(t){if(t instanceof R)return console.warn(t),void i(0,"permission_needed",null,null,t.info?.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString(),null,null);console.log("already being added, just continue..."),n=await this.colldb.get("colls",r)}e.postMessage({msg_type:"collAdded",name:r,sourceUrl:n?.config.sourceUrl});break}case"cancelLoad":{const e=t.data.name,r=new Promise(t=>Vb[e]=t);await r,await this.deleteColl(e),delete Vb[e];break}case"removeColl":{const r=t.data.name;await this.hasCollection(r)&&(await this.deleteColl(r),this.doListAll(e));break}case"listAll":this.doListAll(e);break;case"reload":this.reload(t.data.name)}}async doListAll(t){const e=[],r=await this.listAll();for(const t of r)e.push({name:t.name,prefix:t.name,pageList:[],sourceName:t.config.sourceName});t.postMessage({msg_type:"listAll",colls:e})}async addCollection(t,e){let r=t.name,i="";const n={root:t.root||!1};let s=null,a=null;const c=t.file;if(!c?.sourceUrl)return e(0,"Invalid Load Request"),!1;if(n.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))n.sourceUrl=c.sourceUrl.slice(6),n.extraConfig=t.extraConfig,n.extraConfig.prefix||(n.extraConfig.prefix=n.sourceUrl),n.topTemplateUrl=t.topTemplateUrl,n.metadata={},i=t.type||n.extraConfig.type||"remotewarcproxy",s=await this._initStore(i,n);else{let l=null,h=null;if(c.newFullImport&&(r=b(),c.loadUrl=c.loadUrl||c.sourceUrl,c.name=c.name||c.sourceUrl,c.sourceUrl="local://"+r),i="archive",c.newFullImport&&c.importCollId){const t=await this.colldb.get("colls",c.importCollId);if(!t||"archive"!==t.type)return e(0,"Invalid Existing Collection: "+c.importCollId),!1;n.dbname=t.config.dbname,a=t.config,a&&(a.decode=!0)}let u=c.loadUrl||c.sourceUrl;u.match(/[\w]+:\/\//)||(u=new URL(u,self.location.href).href),n.decode=!0,n.onDemand=!1,n.loadUrl=u,n.sourceUrl=c.sourceUrl;let p=c.name||c.sourceUrl;try{if(p.match(/https?:\/\//)){const t=new URL(p);p=t.pathname+t.hash}}catch(t){}if(n.sourceName=p.slice(p.lastIndexOf("/")+1),n.size="number"==typeof c.size?c.size:null,n.extra=c.extra,n.loadUrl.startsWith("file://")&&!c.blob&&!n.extra){if(!this._fileHandles||!this._fileHandles[n.sourceUrl])return e(0,"missing_local_file"),!1;n.extra={fileHandle:this._fileHandles[n.sourceUrl]}}n.extraConfig=t.extraConfig,n.headers=c.headers||n.extraConfig?.headers,n.noCache=c.noCache;let d=await na({url:u,headers:n.headers,size:c.size,extra:n.extra,blob:c.blob});if(c.loadEager){const{response:t}=await d.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,d=await na({url:u,headers:n.headers,size:c.size,extra:e})}let f=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz"];for(const r of e)if(t.endsWith(r))return r;if(t.endsWith(".wacz.zip"))return".wacz"}(n.sourceName);const{abort:g,response:m}=await d.doInitialFetch(".wacz"===f,!1);f||(f=await Ts(await m.clone()));const y=m.body;if(n.onDemand=d.canLoadOnDemand&&!c.newFullImport,!d.isValid){const t=d.length&&d.length<=1e3?await m.text():"";return e(0,`Sorry, this URL could not be loaded.\nMake sure this is a valid URL and you have access to this file.\nStatus: ${m.status} ${m.statusText}\nError Details:\n${t}`),g&&g.abort(),!1}if(!d.length)return e(0,"Sorry, this URL could not be loaded because the size of the file is not accessible.\nMake sure this is a valid URL and you have access to this file."),g&&g.abort(),!1;const w=d.length;if(".wacz"===f){if(n.onDemand)l=new Mb(d,n,r),h=new Qb(n,d,"wacz"),i="wacz";else{if(!d.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),g&&g.abort(),!1;l=new Fb(d,n,r),h=null,delete n.extra}const t=d.getFullBuffer();t&&(n.extra={arrayBuffer:t,...n.extra||{}})}else!y||".warc"!==f&&".warc.gz"!==f?!y||".cdx"!==f&&".cdxj"!==f?".har"===f?(l=new va(await m.json()),n.decode=!1):".json"===f&&(h=new Qb(n,d,"json"),l=new Hb(m),i="multiwacz"):(n.remotePrefix=t.remotePrefix||u.slice(0,u.lastIndexOf("/")+1),l=new Ia(y,g,r),i="remoteprefix",h=new ya(n.dbname,n.remotePrefix,n.headers,n.noCache)):n.noCache||!(w<o)&&n.onDemand?(l=new xa(y,g,r),i="remotesource",h=new ma(n.dbname,d,n.noCache)):l=new mo(y,g,r);if(!l)return e(0,`The ${n.sourceName} is not a known archive format that could be loaded.`),g&&g.abort(),!1;h||(h=new uo(n.dbname)),await h.initing;try{n.metadata=await l.load(h,e,w)}catch(t){return t instanceof B||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,w,w,a.decode),{config:a,type:"",name:""};n.metadata.size||(n.metadata.size=w),n.metadata.title||(n.metadata.title=n.sourceName),s=h}n.ctime=(new Date).getTime(),this._fileHandles&&n.extra?.fileHandle&&delete this._fileHandles[n.sourceUrl];const l={name:r,type:i,config:n};return await this.colldb.add("colls",l),l.store=s,l}}let Kb;class Xb{timeRanges={};updateStats(t,e,r,i){const n=i.clientId||i.resultingClientId;if(!n||!t)return;if(!r.url||r.url.indexOf("mp_/")<0)return;if("document"===r.destination&&e>300&&e<400)return;let s;void 0===this.timeRanges[n]?(s={count:0,children:new Set},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&Kb.clients.matchAll({type:"window"}).then(t=>this.updateStatsParent(n,r.referrer,t))):s=this.timeRanges[n];const o=t.getTime();(!s.min||o<s.min)&&(s.min=o),(!s.max||o>s.max)&&(s.max=o),s.count++}updateStatsParent(t,e,r){for(const i of r)if(i.url===e){this.timeRanges[i.id]||(this.timeRanges[i.id]={count:0,children:new Set}),this.timeRanges[i.id].children.add(t);break}}async getStats(t){const e=new URL(t.request.url);let r="";const i=new URLSearchParams(e.search).get("url"),n=await Kb.clients.matchAll({type:"window"}),s={};for(const t of n)t.url===i&&(r=t.id),s[t.id]=1;const o=this.timeRanges[r]||{},a={count:o.count||0,min:o.min,max:o.max},c=this.timeRanges[r]&&this.timeRanges[r].children;for(const t of c.values()){const e=this.timeRanges[t];e&&(e.min&&(!a.min||e.min<a.min)&&(a.min=e.min),e.max&&(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(const t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var Yb=function(){return Yb=Object.assign||function(t){for(var e,r=1,i=arguments.length;r<i;r++)for(var n in e=arguments[r])Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n]);return t},Yb.apply(this,arguments)};var Jb=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},Zb=function(t){return encodeURIComponent(t)},$b=function(t){return decodeURIComponent(t)},tv=function(t,e,r){return null===e?function(t,e){return"hidden"===e.nullFormat?"":"string"===e.nullFormat?t+"=null":t}(t,r):"boolean"==typeof e?function(t,e,r){return"empty-true"===r.booleanFormat&&e?t:t+"="+("unicode"===r.booleanFormat?e?"✓":"✗":e.toString())}(t,e,r):Array.isArray(e)?function(t,e,r){var i=function(t){return"index"===t.arrayFormat?function(t,e){return t+"["+e+"]"}:"brackets"===t.arrayFormat?function(t){return t+"[]"}:function(t){return t}}(r);return e.map(function(e,r){return i(t,r)+"="+Zb(e)}).join("&")}(t,e,r):t+"="+Zb(e)},ev=function(t){var e=t.indexOf("?");return-1===e?t:t.slice(e+1)},rv=function(t){var e=t.indexOf("["),r=-1!==e;return{hasBrackets:r,name:r?t.slice(0,e):t}},iv=function(t,e){var r=Jb(e);return ev(t).split("&").reduce(function(t,e){var i=e.split("="),n=i[0],s=i[1],o=rv(n),a=o.hasBrackets,c=o.name,l=t[c],h=function(t,e){if(void 0===t)return"empty-true"===e.booleanFormat||null;if("string"===e.booleanFormat){if("true"===t)return!0;if("false"===t)return!1}if("unicode"===e.booleanFormat){if("✓"===$b(t))return!0;if("✗"===$b(t))return!1}return"string"===e.nullFormat&&"null"===t?null:$b(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t},{})},nv=/[^!$'()*+,;|:]/g,sv=function(t){return t.replace(nv,function(t){return encodeURIComponent(t)})},ov={default:sv,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},av={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},cv=function(t,e,r){var i=ov[e]||sv;return r?String(t).split("/").map(i).join("/"):i(String(t))},lv=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},hv=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(lv(t[2]))}},{name:"url-parameter-splat",pattern:/^\*([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/,regex:/([^?]*)/},{name:"url-parameter-matrix",pattern:/^;([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(";"+t[1]+"="+lv(t[2]))}},{name:"query-parameter",pattern:/^(?:\?|&)(?::)?([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})/},{name:"delimiter",pattern:/^(\/|\?)/,regex:function(t){return new RegExp("\\"+t[0])}},{name:"sub-delimiter",pattern:/^(!|&|-|_|\.|;)/,regex:function(t){return new RegExp(t[0])}},{name:"fragment",pattern:/^([0-9a-zA-Z]+)/,regex:function(t){return new RegExp(t[0])}}],uv=function t(e,r){if(void 0===r&&(r=[]),!hv.some(function(i){var n=e.match(i.pattern);return!!n&&(r.push({type:i.name,match:n[0],val:n.slice(1,2),otherVal:n.slice(2),regex:i.regex instanceof Function?i.regex(n):i.regex}),n[0].length<e.length&&(r=t(e.substr(n[0].length),r)),!0)}))throw new Error("Could not parse path '"+e+"'");return r},pv=function(t){return null!=t},dv={urlParamsEncoding:"default"},fv=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=Yb(Yb({},dv),e),this.tokens=uv(t),this.hasUrlParams=this.tokens.filter(function(t){return/^url-parameter/.test(t.type)}).length>0,this.hasSpatParam=this.tokens.filter(function(t){return/splat$/.test(t.type)}).length>0,this.hasMatrixParams=this.tokens.filter(function(t){return/matrix$/.test(t.type)}).length>0,this.hasQueryParams=this.tokens.filter(function(t){return/^query-parameter/.test(t.type)}).length>0,this.spatParams=this.getParams("url-parameter-splat"),this.urlParams=this.getParams(/^url-parameter/),this.queryParams=this.getParams("query-parameter"),this.params=this.urlParams.concat(this.queryParams),this.source=this.tokens.filter(function(t){return void 0!==t.regex}).map(function(t){return t.regex.source}).join("")}return t.createPath=function(e,r){return new t(e,r)},t.prototype.isQueryParam=function(t){return-1!==this.queryParams.indexOf(t)},t.prototype.isSpatParam=function(t){return-1!==this.spatParams.indexOf(t)},t.prototype.test=function(t,e){var r=this,i=Yb(Yb({caseSensitive:!1,strictTrailingSlash:!1},this.options),e),n=function(t,e){return e||"\\/"===t?t:t.replace(/\\\/$/,"")+"(?:\\/)?"}(this.source,i.strictTrailingSlash),s=this.urlTest(t,n+(this.hasQueryParams?"(\\?.*$|$)":"$"),i.caseSensitive,i.urlParamsEncoding);if(!s||!this.hasQueryParams)return s;var o=iv(t,i.queryParams),a=Object.keys(o).filter(function(t){return!r.isQueryParam(t)});return 0===a.length?(Object.keys(o).forEach(function(t){return s[t]=o[t]}),s):null},t.prototype.partialTest=function(t,e){var r=this,i=Yb(Yb({caseSensitive:!1,delimited:!0},this.options),e),n=function(t,e){return e?/(\/)$/.test(t)?t:t+"(\\/|\\?|\\.|;|$)":t}(this.source,i.delimited),s=this.urlTest(t,n,i.caseSensitive,i.urlParamsEncoding);if(!s)return s;if(!this.hasQueryParams)return s;var o=iv(t,i.queryParams);return Object.keys(o).filter(function(t){return r.isQueryParam(t)}).forEach(function(t){return function(t,e,r){void 0===r&&(r="");var i=t[e];return t[e]=void 0===i?r:Array.isArray(i)?i.concat(r):[i,r],t}(s,t,o[t])}),s},t.prototype.build=function(t,e){var r=this;void 0===t&&(t={});var i=Yb(Yb({ignoreConstraints:!1,ignoreSearch:!1,queryParams:{}},this.options),e),n=Object.keys(t).filter(function(t){return!r.isQueryParam(t)}).reduce(function(e,n){if(!pv(t[n]))return e;var s=t[n],o=r.isSpatParam(n);return"boolean"==typeof s?e[n]=s:Array.isArray(s)?e[n]=s.map(function(t){return cv(t,i.urlParamsEncoding,o)}):e[n]=cv(s,i.urlParamsEncoding,o),e},{});if(this.urlParams.some(function(e){return!pv(t[e])})){var s=this.urlParams.filter(function(e){return!pv(t[e])});throw new Error("Cannot build path: '"+this.path+"' requires missing parameters { "+s.join(", ")+" }")}if(!i.ignoreConstraints&&!this.tokens.filter(function(t){return/^url-parameter/.test(t.type)&&!/-splat$/.test(t.type)}).every(function(t){return new RegExp("^"+lv(t.otherVal[0])+"$").test(n[t.val])}))throw new Error("Some parameters of '"+this.path+"' are of invalid format");var o=this.tokens.filter(function(t){return!1===/^query-parameter/.test(t.type)}).map(function(t){return"url-parameter-matrix"===t.type?";"+t.val+"="+n[t.val[0]]:/^url-parameter/.test(t.type)?n[t.val[0]]:t.match}).join("");if(i.ignoreSearch)return o;var a=this.queryParams.filter(function(e){return-1!==Object.keys(t).indexOf(e)}).reduce(function(e,r){return e[r]=t[r],e},{}),c=function(t,e){var r=Jb(e);return Object.keys(t).filter(function(e){return function(t){return void 0!==t}(t[e])}).map(function(e){return tv(e,t[e],r)}).filter(Boolean).join("&")}(a,i.queryParams);return c?o+"?"+c:o},t.prototype.getParams=function(t){var e=t instanceof RegExp?function(e){return t.test(e.type)}:function(e){return e.type===t};return this.tokens.filter(e).map(function(t){return t.val[0]})},t.prototype.urlTest=function(t,e,r,i){var n=this,s=new RegExp("^"+e,r?"":"i"),o=t.match(s);return o?this.urlParams.length?o.slice(1,this.urlParams.length+1).reduce(function(t,e,r){return t[n.urlParams[r]]=(av[i]||decodeURIComponent)(e),t},{}):{}:null},t}();class gv{routes={};constructor(t){for(const[e,r]of Object.entries(t)){let t,i;r instanceof Array?(t=r[0],i=r[1]||"GET"):(t=r,i="GET"),this.routes[i]=this.routes[i]||{},this.routes[i][e]=new fv(t)}}match(t,e="GET"){for(const[r,i]of Object.entries(this.routes[e]||[])){const e=t.split("?",2),n=e[0],s=i.test(n);if(s)return s._route=r,s._query=new URLSearchParams(2===e.length?e[1]:""),s}return{_route:null}}}class mv{router;collections;constructor(t){this.router=new gv(this.routes),this.collections=t}get routes(){return{index:"coll-index",coll:"c/:coll",urls:"c/:coll/urls",urlsTs:"c/:coll/ts/",createColl:["c/create","POST"],deleteColl:["c/:coll","DELETE"],updateAuth:["c/:coll/updateAuth","POST"],updateMetadata:["c/:coll/metadata","POST"],curated:"c/:coll/curated/:list",pages:"c/:coll/pages",textIndex:"c/:coll/textIndex",deletePage:["c/:coll/page/:page","DELETE"]}}async apiResponse(t,e,r){const i=this.router.match(t,e.method),n=await this.handleApi(e,i,r);if(n instanceof Response)return n;const s=n.error?404:200;return this.makeResponse(n,s)}async handleApi(t,e,r){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return T(await this.collections.initNewColl(e.metadata||{},e.extraConfig||{}))}case"coll":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=T(t);return"1"===e._query.get("all")?(t.store.db?(r.pages=await t.store.getAllPages(),r.lists=await t.store.db.getAll("pageLists"),r.curatedPages=await t.store.db.getAll("curatedPages"),t.store instanceof Qb&&(r.canQueryPages=!!t.store.pagesQueryUrl)):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):t.store.db?(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")):(r.numLists=0,r.numPages=0),t.config.metadata.ipfsPins&&(r.ipfsPins=t.config.metadata.ipfsPins),r}case"deleteColl":{const t="1"===e._query.get("reload");return await this.collections.deleteColl(e.coll,t)?await this.listAll():{error:"collection_not_found"}}case"updateAuth":{const r=await t.json();return{success:await this.collections.updateAuth(e.coll,r.headers)}}case"updateMetadata":{const r=await t.json();return{metadata:await this.collections.updateMetadata(e.coll,r)}}case"urls":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url"),i=Number(e._query.get("count")||100),n=e._query.get("mime"),s="1"===e._query.get("prefix"),o=e._query.get("fromUrl"),a=e._query.get("fromTs"),c=e._query.get("fromMime"),l=Number(e._query.get("fromStatus")||0);if(!t.store.resourcesByMime)return{urls:[]};let h;return h=r?await t.store.resourcesByUrlAndMime(r,n,i,s,o,a):await t.store.resourcesByMime(n,i,c,o,l),h=h||[],{urls:h}}case"urlsTs":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=e._query.get("url");return{timestamps:await t.store.getTimestampsByURL(r)}}case"pages":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};let r;if(t.store instanceof Qb){const i=e._query.get("search"),n=Number(e._query.get("page"))||1,s=Number(e._query.get("pageSize"))||25;if(i||n>1){const{pages:e,total:r}=await t.store.queryPages(i,n,s);return{pages:e,total:r}}r=t.store.totalPages}return{pages:await t.store.getAllPages(),total:r}}case"textIndex":{const t=await this.collections.getColl(e.coll);return t?t.store.getTextIndex?await t.store.getTextIndex():{}:{error:"collection_not_found"}}case"curated":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const r=Number(e.list);if(!t.store.db)return{curated:[]};return{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,dedupSize:i}=await t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,dedupSize:i}}default:return{error:"not_found"}}}async listAll(t){const e=await this.collections.listAll(),r=[];return e.forEach(e=>{"live"!==e.type&&"remoteproxy"!==e.type&&(t&&!e.type.startsWith(t)||r.push(T(e)))}),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}const yv=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class wv{url="";timestamp="";mod="";pageId="";hash="";cookie="";isProxyOrigin=!1;proxyOrigin;proxyScheme="";localOrigin;httpToHttpsNeeded=!1;proxyTLD;localTLD;request;method;mode;_proxyReferrer="";_postToGetConverted=!1;constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s,localOrigin:o,proxyTLD:a,localTLD:c,defaultReplayMode:l=!1}={}){const h=yv.exec(t);if(this.timestamp=n,this.mod=i,this.request=e,this.method=e.method,this.mode=e.mode,!h&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!h&&r)this.url="https://"+t;else{if(!h)return void(this.url="");this.pageId=h[1]||"",this.timestamp=h[2]||"",this.mod=h[3]||"",this.url=h[4]||""}s&&o&&!l&&(this.url=Av(s,o,this.url),this.request.referrer&&(this._proxyReferrer=Av(s,o,this.request.referrer)),this.isProxyOrigin=!0,this.proxyOrigin=s,this.proxyScheme=s?new URL(s).protocol.slice(0,-1):"",this.localOrigin=o,this.httpToHttpsNeeded="http"===this.proxyScheme&&o.startsWith("https:"),this.proxyTLD=a||"",this.localTLD=c||"");const u=this.url.indexOf("#");u>0&&(this.hash=this.url.slice(u),this.url=this.url.substring(0,u))}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return this._proxyReferrer||this.request.referrer}async convertPostToGet(){if(this._postToGetConverted)return this.url;const t=this.request;if("POST"!==t.method&&"PUT"!==t.method)return this.url;const e={method:t.method,postData:await t.text(),headers:t.headers,url:this.url};return pt(e)&&(this.url=e.url,this.method="GET",this.mode="navigate"===this.request.mode?"same-origin":this.request.mode,this._postToGetConverted=!0),this.url}prepareProxyRequest(t,e=!0){let r,i,n;if(e){r=new Headers(this.request.headers),i=this.request.referrer;const e=i.indexOf("/http",t.length-1);e>0&&(i=i.slice(e+1),r.set("X-Proxy-Referer",i)),n=this.request.credentials,this.cookie&&r.set("X-Proxy-Cookie",this.cookie)}else r=new Headers,n="omit";let s=this.url;if(s.startsWith("//")&&i)try{s=new URL(i).protocol+s}catch(t){s="https:"+s}return{referrer:i,headers:r,credentials:n,url:s}}async getBody(){const t=this.request.clone();return new Uint8Array(await t.arrayBuffer())}}function Av(t,e,r){const i=new URL(r);return i.origin===e?t+i.pathname+(i.search?i.search:""):r}const bv="x-wabac-is-ajax-req";class vv extends qb{prefixes;colls;inited;root;defaultConfig;constructor(t,e=null,r={}){super(self),this.prefixes=t,this.colls={},this.inited=null,this.root=e,this.defaultConfig=r,this._fileHandles={}}_createCollection(t){return new Cs(t,this.prefixes,this.defaultConfig)}async loadAll(t){return this.colls={},this.inited=super.loadAll(t),this.inited}async getColl(t){return this.colls[t]||(this.colls[t]=await this.loadColl(t)),this.colls[t]}async reload(t){delete this.colls[t],await this.getColl(t)}async addCollection(t,e){const r=await super.addCollection(t,e);return r&&r.name&&(this.root===r.name&&(r.config.root=!0),this.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&await this.colls[t].store.delete(),this._fileHandles&&e&&this.colls[t].config.extra?.fileHandle&&(this._fileHandles[this.colls[t].config.sourceUrl]=this.colls[t].config.extra.fileHandle)),!!await super.deleteColl(t)&&(delete this.colls[t],!0)}async initNewColl(t,e={},r="archive"){const i=await super.initNewColl(t,e,r);return i&&(this.colls[i.name]=i),i}async updateAuth(t,e){return this.colls[t]&&this.colls[t].store.updateHeaders&&this.colls[t].store.updateHeaders(e),await super.updateAuth(t,e)}async updateMetadata(t,e){const r=await super.updateMetadata(t,e);return this.colls[t]&&r&&(this.colls[t].config.metadata=r,this.colls[t].metadata=r),r}async updateSize(t,e,r,i){const n=await super.updateSize(t,e,r,i);return this.colls[t]&&n&&(this.colls[t].config.metadata=n,this.colls[t].metadata=n),void 0!==i&&this.colls[t]&&(this.colls[t].config.decode=i),n}}class Ev{prefix;replayPrefix;staticPrefix;distPrefix;proxyPrefix;staticData;collections;proxyOriginMode;api;apiPrefix;allowRewrittenCache;topFramePassthrough=!1;stats;constructor({staticData:t=null,ApiClass:e=mv,defaultConfig:r={},CollectionsClass:i=vv}={}){this.prefix=self.registration?self.registration.scope:"";const n=new URLSearchParams(self.location.search);if(this.proxyOriginMode=!!n.get("proxyOriginMode"),this.proxyOriginMode)this.replayPrefix=this.prefix+"__wb_proxy/",this.staticPrefix=this.replayPrefix+"static/",this.proxyPrefix="https://wab.ac/proxy/",this.apiPrefix="https://wab.ac/api/";else{const t=n.get("replayPrefix")??"w";this.topFramePassthrough=!t,this.replayPrefix=this.prefix+t+(t?"/":""),this.staticPrefix=this.prefix+"static/",this.proxyPrefix=this.staticPrefix+"proxy/",this.apiPrefix=this.replayPrefix+"api/"}var s;if(s=this.replayPrefix,h+=`; frame-src data: about: blob: ${self.location.origin}${self.location.pathname} ${s}`,this.distPrefix=this.prefix+"dist/",this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'(()=>{"use strict";function t(){this._map=[]}function e(t,e){void 0!==self.Symbol&&void 0!==self.Symbol.toStringTag&&Object.defineProperty(t.prototype,self.Symbol.toStringTag,{value:e,enumerable:!1})}function r(t){for(var e,r,i=t.__proto__||t.constructor.prototype||t.prototype,o=Object.getOwnPropertyNames(i),n=o.length,s=0;s<n;s++)r=t[e=o[s]],"constructor"!==e&&"function"==typeof r&&(t[e]=r.bind(t))}t.prototype.set=function(t,e){this._map.push([t,e])},t.prototype.get=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return this._map[e][1];return null},t.prototype.find=function(t){for(var e=0;e<this._map.length;e++)if(this._map[e][0]===t)return e;return-1},t.prototype.add_or_get=function(t,e){var r=this.get(t);return r||(r=e(),this.set(t,r)),r},t.prototype.remove=function(t){var e=this.find(t);return e>=0?this._map.splice(e,1)[0][1]:null},t.prototype.map=function(t){for(var e=0;e<this._map.length;e++)this._map[e][1](t)};var i={yes:!1},o=Symbol("__wb__storage_WOMBAT"),n=Symbol("__wb__storage_TYPE");function s(t,e,r){if(i.yes)throw new TypeError("Illegal constructor");if(r&&r.length)for(var s=0;s<r.length;s++)this[r[s][0]]=r[s][1].toString();Object.defineProperty(this,o,{value:t,enumerable:!1}),Object.defineProperty(this,n,{value:e,enumerable:!1})}function a(t,e,r){var i=new s(t,e,r);return t.$wbwindow.Proxy&&(i=new t.$wbwindow.Proxy(i,{get:function(t,e){var r=t.__proto__;if("__proto__"===e)return r;if(r.hasOwnProperty(e)||r.__proto__&&r.__proto__.hasOwnProperty(e)){var i=t[e];return"function"==typeof i&&(i=i.bind(t)),i}return t.hasOwnProperty(e)?t.getItem(e):void 0},set:function(t,e,r){return t.__proto__.hasOwnProperty(e)?(t[e]=r,!0):(t.setItem(e,r),!0)}})),t.defGetterProp(t.$wbwindow,e,function(){return i}),i}function h(t,e){for(var r in Object.defineProperties(this,{_orig_loc:{configurable:!0,enumerable:!1,value:t},wombat:{configurable:!0,enumerable:!1,value:e},orig_getter:{enumerable:!1,value:function(t){return this._orig_loc[t]}},orig_setter:{enumerable:!1,value:function(t,e){this._orig_loc[t]!=e&&(this._orig_loc[t]=e)}}}),e.initLocOverride(this,this.orig_setter,this.orig_getter),e.setLoc(this,t.href),t)this.hasOwnProperty(r)||"function"==typeof t[r]||(this[r]=t[r])}function w(t,e){if(!(this instanceof w))return new w(t,e);this.elemSelector="img[srcset], img[data-srcset], img[data-src], video[srcset], video[data-srcset], video[data-src], audio[srcset], audio[data-srcset], audio[data-src], picture > source[srcset], picture > source[data-srcset], picture > source[data-src], video > source[srcset], video > source[data-srcset], video > source[data-src], audio > source[srcset], audio > source[data-srcset], audio > source[data-src]",this.wombat=t,this.$wbwindow=t.$wbwindow,this.worker=null,r(this),this._initWorker(e)}s.prototype.getItem=function(t){return this.hasOwnProperty(t)?this[t]:null},s.prototype.setItem=function(t,e){var r=String(t),i=String(e),o=this.getItem(r);this[r]=e,this.fireEvent(r,o,i)},s.prototype._deleteItem=function(t){delete this[t]},s.prototype.removeItem=function(t){var e=this.getItem(t);this._deleteItem(t),this.fireEvent(t,e,null)},s.prototype.clear=function(){for(var t in this)delete this[t];this.fireEvent(null,null,null)},s.prototype.key=function(t){var e=function(t){try{switch(typeof t){case"number":case"bigint":return t}var e=Number(t);return isNaN(e)?null:e}catch(t){}return null}(t);if(null==e||e<0)return null;var r=Object.keys(this);return e<r.length?r[e]:null},s.prototype.fireEvent=function(t,e,r){var i=new StorageEvent("storage",{key:t,newValue:r,oldValue:e,url:this[o].$wbwindow.WB_wombat_location.href});Object.defineProperty(i,"storageArea",{value:this,writable:!1,configurable:!1}),i._storageArea=this,this[o].storage_listeners.map(i)},s.prototype.valueOf=function(){return this[o].$wbwindow[this[n]]},s.prototype.toString=function(){return"[object Storage]"},Object.defineProperty(s.prototype,"length",{enumerable:!1,get:function(){return Object.keys(this).length}}),e(s,"Storage"),h.prototype.replace=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.replace(e)},h.prototype.assign=function(t){var e=this.wombat.rewriteUrl(t),r=this.wombat.extractOriginalURL(e);return r===this.href?r:this._orig_loc.assign(e)},h.prototype.reload=function(t){},h.prototype.toString=function(){return this.href},h.prototype.valueOf=function(){return this},e(h,"Location"),w.prototype._initWorker=function(t){var e=this.wombat;if(t.isTop)try{this.worker=new Worker(t.workerURL,{type:"classic",credentials:"include"})}catch(t){console.error("Failed to create auto fetch worker\\n",t)}else this.worker={postMessage:function(t){t.wb_type||(t={wb_type:"aaworker",msg:t}),e.$wbwindow.__WB_replay_top.__orig_postMessage(t,"*")},terminate:function(){}}},w.prototype.extractMediaRulesFromSheet=function(t){var e,r=[];try{e=t.cssRules||t.rules}catch(t){return r}for(var i=0;i<e.length;++i){var o=e[i];o.type===CSSRule.MEDIA_RULE&&r.push(o.cssText)}return r},w.prototype.deferredSheetExtraction=function(t){var e=this;Promise.resolve().then(function(){var r=e.extractMediaRulesFromSheet(t);r.length>0&&e.preserveMedia(r)})},w.prototype.terminate=function(){this.worker.terminate()},w.prototype.justFetch=function(t){this.worker.postMessage({type:"fetch-all",values:t})},w.prototype.fetchAsPage=function(t,e,r){if(t){var i={"X-Wombat-History-Page":e};if(r){var o=encodeURIComponent(r.trim());r&&(i["X-Wombat-History-Title"]=o)}var n={url:t,options:{headers:i,cache:"no-store"}};this.justFetch([n])}},w.prototype.postMessage=function(t,e){if(e){var r=this;Promise.resolve().then(function(){r.worker.postMessage(t)})}else this.worker.postMessage(t)},w.prototype.preserveSrcset=function(t,e){this.postMessage({type:"values",srcset:{value:t,mod:e,presplit:!0}},!0)},w.prototype.preserveDataSrcset=function(t){this.postMessage({type:"values",srcset:{value:t.dataset.srcset,mod:this.rwMod(t),presplit:!1}},!0)},w.prototype.preserveMedia=function(t){this.postMessage({type:"values",media:t},!0)},w.prototype.getSrcset=function(t){return this.wombat.wb_getAttribute?this.wombat.wb_getAttribute.call(t,"srcset"):t.getAttribute("srcset")},w.prototype.rwMod=function(t){switch(t.tagName){case"SOURCE":return t.parentElement&&"PICTURE"===t.parentElement.tagName?"im_":"oe_";case"IMG":return"im_"}return"oe_"},w.prototype.extractFromLocalDoc=function(){var t=this;Promise.resolve().then(function(){for(var e={type:"values",context:{docBaseURI:document.baseURI}},r=[],i=0,o=document.styleSheets;i<o.length;++i)r=r.concat(t.extractMediaRulesFromSheet(o[i]));var n,s,a,h=document.querySelectorAll(t.elemSelector),w={values:[],presplit:!1},c={values:[]};for(i=0;i<h.length;++i)s=(n=h[i]).src?n.src:null,a=t.rwMod(n),n.srcset&&w.values.push({srcset:t.getSrcset(n),mod:a,tagSrc:s}),n.dataset.srcset&&w.values.push({srcset:n.dataset.srcset,mod:a,tagSrc:s}),n.dataset.src&&c.values.push({src:n.dataset.src,mod:a}),"SOURCE"===n.tagName&&s&&c.values.push({src:s,mod:a});r.length&&(e.media=r),w.values.length&&(e.srcset=w),c.values.length&&(e.src=c),(e.media||e.srcset||e.src)&&t.postMessage(e)})};class c{constructor(t,e,r,i){this.syncXHRCachePending=t.syncXHRCachePending,this.url=r[1],this.method=r[0],this.headers=i,this.store=t.__sessionStorage,this.key=this.getKey(e,t),this.win=t.$wbwindow,this.reload_url=t.wb_info.prefix+t.wb_info.request_ts+"mp_/"+t.wb_info.url,this.throwNeeded=!1,this.wombat=t}getKey(t,e){const r=new URL(t,e.$wbwindow.WB_wombat_location.origin);for(const t of r.searchParams.keys())t.startsWith("_")&&r.searchParams.delete(t);return r.href}addToStorage(t,e){this.store.getItem("__wb_xhr_data:hash:"+t)||this.store.setItem("__wb_xhr_data:hash:"+t,e),this.store.setItem("__wb_xhr_data:url:"+this.key,t),this.syncXHRCachePending.delete(this.key)}getFromStorage(){if(!this.store)return;const t=this.store.getItem("__wb_xhr_data:url:"+this.key);return t?this.store.getItem("__wb_xhr_data:hash:"+t):void 0}async fetchToBlob(){const t=this.url,e=this.method,r={...this.headers,"X-Pywb-Requested-With":"XMLHttpRequest"},i=await fetch(t,{method:e,headers:r}),o=await i.blob();let n=i.headers.get("x-archive-orig-etag");if(!n)try{const t=await crypto.subtle.digest("SHA-1",await o.arrayBuffer());n=Array.from(new Uint8Array(t)).map(t=>t.toString(16).padStart(2,"0")).join("")}catch(t){return void console.log(t)}const s=await new Promise((t,e)=>{const r=new FileReader;r.onloadend=()=>{t(r.result)},r.onerror=e,r.readAsDataURL(o)});if(this.store){try{this.addToStorage(n,s)}catch(t){if("QuotaExceededError"===t.name)for(const t of Array.from(Object.keys(this.store)))t.startsWith("__wb_xhr_data:")&&this.store.removeItem(t);this.addToStorage(n,s)}this.wombat.syncXHRReloadNeeded&&!this.syncXHRCachePending.size&&(this.win.location.href=this.reload_url)}else this.syncXHRCachePending.delete(this.key)}addCacheOverride(t){const e=this.getFromStorage();if(e)return t.__WB_xhr_open_arguments[1]=e,t.__WB_xhr_open_arguments[0]="GET",!0;this.syncXHRCachePending.add(this.key),this.fetchPromise=this.fetchToBlob().catch(t=>console.log(t)),this.throwNeeded=!0}async finishCacheAndReload(){this.fetchPromise&&(this.wombat.syncXHRReloadNeeded=!0,await this.fetchPromise,this.syncXHRCachePending.size||(this.win.location.href=this.reload_url))}reloadIfNeeded(){if(this.throwNeeded)throw this.finishCacheAndReload().catch(t=>console.log(t)),new DOMException("NetworkError","Sync XHR not allowed")}}function p(t,e){return function(r){if(window==e)return t(r)}}function l(t,e,r){var i;return i="function"==typeof t?t:"object"==typeof t?t.handleEvent.bind(t):function(){},function(t){var o;if(t.data&&t.data.from&&t.data.message){if("*"!==t.data.to_origin&&e.WB_wombat_location&&!r.startsWith(t.data.to_origin,e.WB_wombat_location.origin))return void console.warn("Skipping message event to "+t.data.to_origin+" doesn\'t start with origin "+e.WB_wombat_location.origin);var n=t.source;t.data.from_top?n=e.__WB_top_frame:t.data.src_id&&e.__WB_win_id&&e.__WB_win_id[t.data.src_id]&&(n=e.__WB_win_id[t.data.src_id]),(o=new MessageEvent("message",{bubbles:t.bubbles,cancelable:t.cancelable,data:t.data.message,origin:t.data.from,lastEventId:t.lastEventId,source:r.proxyToObj(n),ports:t.ports}))._target=t.target,o._srcElement=t.srcElement,o._currentTarget=t.currentTarget,o._eventPhase=t.eventPhase}else o=t;return i(o)}}function _(t){let e;e="string"==typeof t?t:t?.length?t.reduce((t,e)=>t+=String.fromCharCode(e),""):t?t.toString():"";try{return"__wb_post_data="+btoa(e)}catch{return"__wb_post_data="}}function u(t){let{method:e,headers:r,postData:i=""}=t;if("GET"===e)return!1;let o=(t=>{let e=t.get("content-type");if(e)return e;if(!(t instanceof Headers))for(let[e,r]of t.entries())if(e&&"content-type"===e.toLowerCase())return r;return""})(r);function n(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let s="";switch(o.split(";")[0]){case"application/x-www-form-urlencoded":s=n(i);break;case"application/json":s=f(n(i));break;case"text/plain":try{s=f(n(i),!1)}catch{s=_(i)}break;case"multipart/form-data":if(!o)throw new Error("utils cannot call postToGetURL when missing content-type header");s=function(t,e){return function(t="",e){let r=new URLSearchParams;t instanceof Uint8Array&&(t=(new TextDecoder).decode(t));try{let i=e.split("boundary=")[1],o=t.split(new RegExp("-*"+i+"-*","mi"));for(let t of o){let e=t.trim().match(/name="([^"]+)"\\r\\n\\r\\n(.*)/im);e&&r.set(e[1],e[2])}}catch{}return r}(t,e).toString()}(n(i),o);break;default:s=_(i)}if(null!=s){t.requestBody=s;try{s=decodeURI(s)}catch{s=""}return t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,s,t.method),t.method="GET",!0}return!1}function d(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={},o=(t,e="")=>{let n="";if("object"!=typeof t||t instanceof Array){if(t instanceof Array)for(let r=0;r<t.length;r++)o(t[r],e)}else try{for(let[e,r]of Object.entries(t))o(r,e)}catch{null===t&&(n="null")}["string","number","boolean"].includes(typeof t)&&(n=t.toString()),n&&r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(e),n)};try{o(t)}catch(t){if(!e)throw t}return r}function f(t="",e=!0){return d(t,e).toString()}var b=["set-cookie","warc-concurrent-to","warc-protocol"],y=",,,";Map,Symbol.iterator;function v(e,i){if(!(this instanceof v))return new v(e,i);this.debug_rw=!1,this.$wbwindow=e,this.WBWindow=Window,this.URL=URL,this.origHost=e.location.host,this.origHostname=e.location.hostname,this.origProtocol=e.location.protocol,this.HTTP_PREFIX="http://",this.HTTPS_PREFIX="https://",this.REL_PREFIX="//",this.VALID_PREFIXES=[this.HTTP_PREFIX,this.HTTPS_PREFIX,this.REL_PREFIX],this.IGNORE_PREFIXES=["#","about:","data:","blob:","mailto:","javascript:","{","*"],"ignore_prefixes"in i&&(this.IGNORE_PREFIXES=this.IGNORE_PREFIXES.concat(i.ignore_prefixes)),this.WB_CHECK_THIS_FUNC="_____WB$wombat$check$this$function_____",this.WB_ASSIGN_FUNC="_____WB$wombat$assign$function_____",this.SKIP_OWN_FUNC_PROPS=["name","length","__WB_is_native_func__","arguments","caller","callee","prototype"],this.OVERRIDE_PROPS=["window","self","document","location","top","parent","frames","opener"],this.wb_setAttribute=e.Element.prototype.setAttribute,this.wb_getAttribute=e.Element.prototype.getAttribute,this.wb_funToString=Function.prototype.toString,this.WBAutoFetchWorker=null,this.wbUseAFWorker=i.enable_auto_fetch&&null!=e.Worker&&i.is_live,this.wb_rel_prefix="",this.wb_wombat_updating=!1,this.message_listeners=new t,this.storage_listeners=new t,this.linkAsTypes={script:"js_",worker:"js_",style:"cs_",image:"im_",document:"if_",fetch:"mp_",font:"oe_",audio:"oe_",video:"oe_",embed:"oe_",object:"oe_",track:"oe_","":"mp_",null:"mp_",undefined:"mp_"},this.linkTagMods={linkRelToAs:{import:this.linkAsTypes,preload:this.linkAsTypes},stylesheet:"cs_",null:"mp_",undefined:"mp_","":"mp_"},this.tagToMod={A:{href:"mp_"},AREA:{href:"mp_"},AUDIO:{src:"oe_",poster:"im_"},BASE:{href:"mp_"},EMBED:{src:"oe_"},FORM:{action:"mp_"},FRAME:{src:"fr_"},IFRAME:{src:"if_"},IMAGE:{href:"im_","xlink:href":"im_"},IMG:{src:"im_",srcset:"im_"},INPUT:{src:"oe_"},INS:{cite:"mp_"},META:{content:"mp_"},OBJECT:{data:"oe_",codebase:"oe_"},Q:{cite:"mp_"},SCRIPT:{src:"js_","xlink:href":"js_"},SOURCE:{src:"oe_",srcset:"oe_"},TRACK:{src:"oe_"},VIDEO:{src:"oe_",poster:"im_"},image:{href:"im_","xlink:href":"im_"}},this.URL_PROPS=["href","hash","pathname","host","hostname","protocol","origin","search","port"],this.wb_info=i,this.wb_opts=i.wombat_opts,this.wb_replay_prefix=i.prefix,this.wb_is_proxy=this.wb_info.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=e.location.protocol+"//"+e.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=this.wb_info.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+this.wb_info.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,this.wb_capture_date_part="",!this.wb_info.is_live&&this.wb_info.wombat_ts&&(this.wb_capture_date_part="/"+this.wb_info.wombat_ts+"/"),this.BAD_PREFIXES=["http:"+this.wb_replay_prefix,"https:"+this.wb_replay_prefix,"http:/"+this.wb_replay_prefix,"https:/"+this.wb_replay_prefix],this.hostnamePortRe=/^[\\w-]+(\\.[\\w-_]+)+(:\\d+)(\\/|$)/,this.ipPortRe=/^\\d+\\.\\d+\\.\\d+\\.\\d+(:\\d+)?(\\/|$)/,this.workerBlobRe=/__WB_pmw\\(.*?\\)\\.(?=postMessage\\()/g,this.rmCheckThisInjectRe=/_____WB\\$wombat\\$check\\$this\\$function_____\\(.*?\\)/g,this.STYLE_REGEX=/(url\\s*\\(\\s*[\\\\"\']*)([^)\'"]+)([\\\\"\']*\\s*\\))/gi,this.IMPORT_REGEX=/(@import\\s*[\\\\"\']*)([^)\'";]+)([\\\\"\']*\\s*;?)/gi,this.IMPORT_JS_REGEX=/^(import\\s*\\([\'"]+)([^\'"]+)(["\'])/i,this.IMPORT_JS_CALL=/[^$.]\\bimport\\s*\\(/g,this.no_wombatRe=/WB_wombat_/g,this.srcsetRe=/\\s*(\\S*\\s+[\\d.]+[wx]),|(?:\\s*,(?:\\s+|(?=https?:)))/,this.cookie_path_regex=/\\bPath=\'?"?([^;\'"\\s]+)/i,this.cookie_domain_regex=/\\bDomain=([^;\'"\\s]+)/i,this.cookie_expires_regex=/\\bExpires=([^;\'"]+)/gi,this.SetCookieRe=/,(?![|])/,this.IP_RX=/^(\\d)+\\.(\\d)+\\.(\\d)+\\.(\\d)+$/,this.REPLACE_MOD=/(\\/[\\d]*)([\\w]+_)(?=\\/)/,this.FullHTMLRegex=/^\\s*<(?:html|head|body|frameset|frame|!doctype html)/i,this.IsTagRegex=/^\\s*</,this.DotPostMessageRe=/(\\.postMessage\\s*\\()/,this.extractPageUnderModifierRE=/\\/(?:[0-9]{14})?([a-z]{2, 3}_)\\//,this.write_buff="";var o=(e.EventTarget||{}).prototype;this.utilFns={cspViolationListener:function(t){if(console.group("CSP Violation"),console.log("Replayed Page URL",window.WB_wombat_location.href),console.log("The documentURI",t.documentURI),console.log("The blocked URL",t.blockedURI),console.log("The directive violated",t.violatedDirective),console.log("Our policy",t.originalPolicy),t.sourceFile){var e="File: "+t.sourceFile;t.lineNumber&&t.columnNumber?e+=" @ "+t.lineNumber+":"+t.columnNumber:t.lineNumber&&(e+=" @ "+t.lineNumber),console.log(e)}console.groupEnd()},addEventListener:o.addEventListener,removeEventListener:o.removeEventListener,objToString:Object.prototype.toString,wbSheetMediaQChecker:null,XHRopen:null,XHRsend:null},this.showCSPViolations={yesNo:!1,added:!1},r(this)}v.prototype._internalInit=function(){this.initTopFrame(this.$wbwindow),this.initWombatLoc(this.$wbwindow),this.initWombatTop(this.$wbwindow);var t=this.$wbwindow.__WB_replay_top.location.origin,e=this.$wbwindow.__WB_replay_top.location.host,r=this.$wbwindow.__WB_replay_top.location.protocol;this.wb_replay_prefix&&0===this.wb_replay_prefix.indexOf(t)?this.wb_rel_prefix=this.wb_replay_prefix.substring(t.length):this.wb_rel_prefix=this.wb_replay_prefix,this.wb_prefixes=[this.wb_abs_prefix,this.wb_rel_prefix];var i="(("+r+")?//"+e+")?"+this.wb_rel_prefix+"[^/]+/";this.wb_unrewrite_rx=new RegExp(i,"g"),this.wb_info.is_framed&&"bn_"!==this.wb_info.mod&&this.initTopFrameNotify(this.wb_info),this.initAutoFetchWorker()},v.prototype._addRemoveCSPViolationListener=function(t){this.showCSPViolations.yesNo=t,this.showCSPViolations.yesNo&&!this.showCSPViolations.added?(this.showCSPViolations.added=!0,this._addEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener)):(this.showCSPViolations.added=!1,this._removeEventListener(document,"securitypolicyviolation",this.utilFns.cspViolationListener))},v.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},v.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},v.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},v.prototype.isNativeFunction=function(t){return!(!t||"function"!=typeof t)&&(-1!=this.wb_funToString.call(t).indexOf("[native code]")&&(void 0===t.__WB_is_native_func__||!!t.__WB_is_native_func__))},v.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},v.prototype.blobUrlForIframe=function(t,e){var r=new Blob([e],{type:"text/html"}),i=this.URL.createObjectURL(r),o=this.URL;t.__wb_blobSrc=i,t.addEventListener("load",function(){t.__wb_blobSrc&&(o.revokeObjectURL(t.__wb_blobSrc),t.__wb_blobSrc=null)},{once:!0}),t.__wb_origSrc=t.src;var n=i.slice(i.lastIndexOf("/")+1)+"/"+this.wb_info.url;t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/blob:"+n},v.prototype.isSavedSrcSrcset=function(t){switch(t.tagName){case"IMG":case"VIDEO":case"AUDIO":return!0;case"SOURCE":if(!t.parentElement)return!1;switch(t.parentElement.tagName){case"PICTURE":case"VIDEO":case"AUDIO":return!0;default:return!1}default:return!1}},v.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},v.prototype.isHostUrl=function(t){if(0===t.indexOf("www."))return!0;var e=t.match(this.hostnamePortRe);return!!(e&&e[0].length<64)||!!(e=t.match(this.ipPortRe))&&e[0].length<64},v.prototype.isArgumentsObj=function(t){if(!t||"function"!=typeof t.toString)return!1;try{return"[object Arguments]"===this.utilFns.objToString.call(t)}catch(t){return!1}},v.prototype.deproxyArrayHandlingArgumentsObj=function(t){if(!t||t instanceof NodeList||!t.length)return t;for(var e=this.isArgumentsObj(t)?new Array(t.length):t,r=0;r<t.length;++r){const i=this.proxyToObj(t[r]);i!==e[r]&&(e[r]=i)}return e},v.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},v.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},v.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},v.prototype.shouldRewriteAttr=function(t,e){switch(e){case"href":case"src":case"xlink:href":return!0}return!(!t||!this.tagToMod[t]||void 0===this.tagToMod[t][e])||("VIDEO"===t&&"poster"===e||"META"===t&&"content"===e)},v.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},v.prototype.skipWrapScriptTextBasedOnText=function(t,e){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;let r=!1;for(const i of this.OVERRIDE_PROPS){t.indexOf(i)>=0&&(t.indexOf("var "+i)>=0&&e.push(i),r=!0)}return!r},v.prototype.nodeHasChildren=function(t){if(!t)return!1;if("function"==typeof t.hasChildNodes)return t.hasChildNodes();var e=t.children||t.childNodes;return!!e&&e.length>0},v.prototype.rwModForElement=function(t,e){if(t){var r="mp_";if("LINK"===t.tagName&&"href"===e){if(t.rel){var i=t.rel.trim().toLowerCase(),o=this.wb_getAttribute.call(t,"as");if(o&&null!=this.linkTagMods.linkRelToAs[i])r=this.linkTagMods.linkRelToAs[i][o.toLowerCase()];else null!=this.linkTagMods[i]&&(r=this.linkTagMods[i])}}else{if("SCRIPT"===t.tagName)return"module"===t.type?"esm_":"js_";var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},v.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},v.prototype.retrieveWBOSRC=function(t){var e;if("SCRIPT"===t.tagName&&!t.__$removedWBOSRC$__)return null==(e=this.wb_getAttribute?this.wb_getAttribute.call(t,"__wb_orig_src"):t.getAttribute("__wb_orig_src"))&&(t.__$removedWBOSRC$__=!0),e},v.prototype.wrapScriptTextJsProxy=function(t,e=[]){let r="var _____WB$wombat$assign$function_____ = function(name) {return (self._wb_wombat && self._wb_wombat.local_init && self._wb_wombat.local_init(name)) || self[name]; };\\nif (!self.__WB_pmw) { self.__WB_pmw = function(obj) { this.__WB_source = obj; return this; } }\\n{\\n";for(const t of this.OVERRIDE_PROPS)e.includes(t)||(r+=`let ${t} = _____WB$wombat$assign$function_____("${t}");\\n`);return r+="{\\n",t=t.replace(this.IMPORT_JS_CALL,t=>t.replace("import","____wb_rewrite_import__")),r+(t=t.replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1"))+"\\n\\n}}"},v.prototype.watchElem=function(t,e){if(!this.$wbwindow.MutationObserver)return!1;new this.$wbwindow.MutationObserver(function(t,r){for(var i=0;i<t.length;i++){var o=t[i];if("childList"===o.type)for(var n=0;n<o.addedNodes.length;n++)e(o.addedNodes[n])}}).observe(t,{childList:!0,subtree:!0})},v.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},v.prototype.getFinalUrl=function(t,e,r){var i=t?this.wb_rel_prefix:this.wb_abs_prefix;return null==e&&(e=this.wb_info.mod),this.wb_info.is_live||(i+=this.wb_info.wombat_ts),"/"!==(i+=e)[i.length-1]&&(i+="/"),i+r},v.prototype.resolveRelUrl=function(t,e){var r=this;function i(t){return!(!t||!t.baseURI)&&(t.baseURI.startsWith(r.HTTPS_PREFIX)||t.baseURI.startsWith(r.HTTP_PREFIX))}var o=null;return o=i(e)?e.baseURI:i(this.$wbwindow.document)?this.$wbwindow.document.baseURI:this.$wbwindow.__WB_replay_top.document.baseURI,new this.URL(t,o).href},v.prototype.extractOriginalURL=function(t){if(!t)return"";if(this.wb_is_proxy)return t;var e,r=t.toString(),i=r;if(this.startsWithOneOf(i,this.IGNORE_PREFIXES))return i;if(i.startsWith(this.wb_info.static_prefix))return i;e=this.startsWith(i,this.wb_abs_prefix)?this.wb_abs_prefix.length:this.wb_rel_prefix&&this.startsWith(i,this.wb_rel_prefix)?this.wb_rel_prefix.length:this.wb_rel_prefix?1:0;var o=i.indexOf("/http",e);return o<0&&(o=i.indexOf("///",e)),o<0&&(o=i.indexOf("/blob:",e)),o<0&&(o=i.indexOf("/about:blank",e)),o>=0?i=i.substr(o+1):((o=i.indexOf(this.wb_replay_prefix))>=0&&(i=i.substr(o+this.wb_replay_prefix.length)),i.length>4&&"_"===i.charAt(2)&&"/"===i.charAt(3)&&(i=i.substr(4)),i===r||this.startsWithOneOf(i,this.VALID_PREFIXES)||this.startsWith(i,"blob:")||(i=this.wb_orig_scheme+i)),"/"===r.charAt(0)&&"/"!==r.charAt(1)&&this.startsWith(i,this.wb_orig_origin)&&(i=i.substr(this.wb_orig_origin.length)),this.startsWith(i,this.REL_PREFIX)?this.wb_info.wombat_scheme+":"+i:i},v.prototype.makeParser=function(t,e){var r=this.extractOriginalURL(t),i=e;return e||(i="about:blank"===this.$wbwindow.location.href&&this.$wbwindow.opener?this.$wbwindow.opener.document:this.$wbwindow.document),this._makeURLParser(r,i)},v.prototype._makeURLParser=function(t,e){try{return new this.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},v.prototype.defProp=function(t,e,r,i,o){var n=Object.getOwnPropertyDescriptor(t,e);if(n&&!n.configurable)return!1;if(!i)return!1;var s={configurable:!0,enumerable:o||!1,get:i};r&&(s.set=r);try{return Object.defineProperty(t,e,s),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},v.prototype.defGetterProp=function(t,e,r,i){var o=Object.getOwnPropertyDescriptor(t,e);if(o&&!o.configurable)return!1;if(!r)return!1;try{return Object.defineProperty(t,e,{configurable:!0,enumerable:i||!1,get:r}),!0}catch(t){return console.warn("Failed to redefine property %s",e,t.message),!1}},v.prototype.getOrigGetter=function(t,e){var r;if(t.__lookupGetter__&&(r=t.__lookupGetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.get)}return r},v.prototype.getOrigSetter=function(t,e){var r;if(t.__lookupSetter__&&(r=t.__lookupSetter__(e)),!r&&Object.getOwnPropertyDescriptor){var i=Object.getOwnPropertyDescriptor(t,e);i&&(r=i.set)}return r},v.prototype.getAllOwnProps=function(t){for(var e=[],r=Object.getOwnPropertyNames(t),i=0;i<r.length;i++){var o=r[i];try{t[o]&&!t[o].prototype&&e.push(o)}catch(t){}}for(var n=Object.getPrototypeOf(t);n;){for(r=Object.getOwnPropertyNames(n),i=0;i<r.length;i++)e.push(r[i]);n=Object.getPrototypeOf(n)}return e},v.prototype.sendTopMessage=function(t,e,r){(r=r||this.$wbwindow).__WB_top_frame&&(e||r==r.__WB_replay_top)&&r.__WB_top_frame.postMessage(t,this.wb_info.top_host)},v.prototype.sendHistoryUpdate=function(t,e,r){this.sendTopMessage({url:t,ts:this.wb_info.timestamp,request_ts:this.wb_info.request_ts,is_live:this.wb_info.is_live,title:e,wb_type:"replace-url"},!1,r)},v.prototype.updateLocation=function(t,e,r){if(t&&t!==e){var i=this.extractOriginalURL(e),o=this.extractOriginalURL(t);if(i&&i!==o){var n=this.rewriteUrl(t);console.log(r.href+" -> "+n),r.href=n}}},v.prototype.checkLocationChange=function(t,e){var r=typeof t,i=e?this.$wbwindow.__WB_replay_top.location:this.$wbwindow.location;"string"===r?this.updateLocation(t,i.href,i):"object"===r&&this.updateLocation(t.href,t._orig_href,i)},v.prototype.checkAllLocations=function(){if(this.wb_wombat_updating)return!1;this.wb_wombat_updating=!0,this.checkLocationChange(this.$wbwindow.WB_wombat_location,!1),this.$wbwindow.WB_wombat_location!=this.$wbwindow.__WB_replay_top.WB_wombat_location&&this.checkLocationChange(this.$wbwindow.__WB_replay_top.WB_wombat_location,!0),this.wb_wombat_updating=!1},v.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},v.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},v.prototype.defaultProxyGet=function(t,e,r,i){switch(e){case"__WBProxyRealObj__":return t;case"location":case"WB_wombat_location":return t.WB_wombat_location;case"_WB_wombat_obj_proxy":return t._WB_wombat_obj_proxy;case"__WB_pmw":case this.WB_ASSIGN_FUNC:case this.WB_CHECK_THIS_FUNC:return t[e];case"origin":return t.WB_wombat_location.origin;case"constructor":return t.constructor}var o=Reflect.get(t,e),n=typeof o;if("string"===n&&o){var s=parseInt(e);if(o&&!isNaN(s))try{return this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}catch(t){}}else{if("function"===n&&-1!==r.indexOf(e)){switch(e){case"requestAnimationFrame":case"cancelAnimationFrame":if(!this.isNativeFunction(o))return o;break;case"eval":if(this.isNativeFunction(o))return this.wrappedEval(o)}var a=i[e];if(!a||a.original!==o){const r=o.bind(t);for(const t of Object.getOwnPropertyNames(o))if(!this.SKIP_OWN_FUNC_PROPS.includes(t))try{r[t]=o[t]}catch(t){}return i[e]={original:o,boundFn:r},r}return a.boundFn}if("object"===n&&o&&o._WB_wombat_obj_proxy)return o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy}return o},v.prototype.setLoc=function(t,e){var r=this.makeParser(e,t.ownerDocument);t._orig_href=e,t._parser=r;var i=r.href;t._hash=r.hash,t._href=i,t._host=r.host,t._hostname=r.hostname,r.origin?t._origin=r.host?r.origin:"null":t._origin=r.protocol+"//"+r.hostname+(r.port?":"+r.port:""),t._pathname=r.pathname,t._port=r.port,t._protocol=r.protocol,t._search=r.search,Object.defineProperty||(t.href=i,t.hash=r.hash,t.host=t._host,t.hostname=t._hostname,t.origin=t._origin,t.pathname=t._pathname,t.port=t._port,t.protocol=t._protocol,t.search=t._search)},v.prototype.makeGetLocProp=function(t,e){var r=this;return function(){if(this._no_rewrite)return e.call(this,t);"maybeHref"===t&&(t="href");var i=e.call(this,"href");return"href"===t?r.extractOriginalURL(i):"ancestorOrigins"===t?[]:(this._orig_href!==i&&r.setLoc(this,i),this["_"+t])}},v.prototype.makeSetLocProp=function(t,e,r){var i=this;return function(o){if(this._no_rewrite)return e.call(this,t,o);if("maybeHref"===t){if("string"!=typeof o)return o;t="href"}if(this["_"+t]!==o){this["_"+t]=o;var n=r.call(this),s=i.makeParser(n,this.ownerDocument),a=!1;if("href"===t&&"string"==typeof o)if(o&&s instanceof i.URL)try{o=new i.URL(o,s).href}catch(t){console.warn("Error resolving URL",t)}else o&&("."===o[0]||"#"===o[0]?o=i.resolveRelUrl(o,this.ownerDocument):"/"===o[0]&&(o.length>1&&"/"===o[1]?o=s.protocol+o:(a=!0,o=WB_wombat_location.origin+o)));try{s[t]=o}catch(e){console.log("Error setting "+t+" = "+o)}"hash"===t?(o=s[t],e.call(this,"hash",o)):(a=a||o===s.pathname,o=i.rewriteUrl(s.href,a),e.call(this,"href",o))}}},v.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},v.prototype.domConstructorErrorChecker=function(t,e,r,i){var o,n="number"==typeof i?i:1;if(t instanceof this.WBWindow?o="Failed to construct \'"+e+"\': Please use the \'new\' operator, this DOM object constructor cannot be called as a function.":r&&r.length<n&&(o="Failed to construct \'"+e+"\': "+n+" argument required, but only 0 present."),o)throw new TypeError(o)},v.prototype.rewriteNodeFuncArgs=function(t,e,r,i){if(r)switch(r.nodeType){case Node.ELEMENT_NODE:this.rewriteElemComplete(r);break;case Node.TEXT_NODE:("STYLE"===t.tagName||r.parentNode&&"STYLE"===r.parentNode.tagName)&&(r.textContent=this.rewriteStyle(r.textContent));break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(r)}var o=e.call(t,r,i);if(o&&"IFRAME"===o.tagName){const t=o.allow?`; ${o.allow}`:"";o.allow=`autoplay \'self\'; fullscreen \'self\'${t}`,this.initIframeWombat(o)}return o},v.prototype.rewriteWSURL=function(t){if(!t)return t;var e=typeof t,r=t;if("object"===e)r=t.toString();else if("string"!==e)return t;if(!r)return r;var i="ws://",o="wss://";if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(r,o)?i+r.substr(6):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(r,i)?o+r.substr(5):r;var n=0===this.wb_abs_prefix.indexOf(this.HTTPS_PREFIX),s=this.wb_abs_prefix.replace(n?this.HTTPS_PREFIX:this.HTTP_PREFIX,n?o:i);return s+=this.wb_info.wombat_ts+"ws_","/"!==r[r.length-1]&&(s+="/"),s+r.replace("WB_wombat_","")},v.prototype.rewriteUrl_=function(t,e,r,i){if(!t)return t;var o,n,s=typeof t;if("object"===s)o=t.toString();else{if("string"!==s)return t;o=t.trim()}if(!o)return o;if(this.wb_is_proxy)return this.wb_orig_scheme===this.HTTP_PREFIX&&this.startsWith(o,this.HTTPS_PREFIX)?this.HTTP_PREFIX+o.substr(this.HTTPS_PREFIX.length):this.wb_orig_scheme===this.HTTPS_PREFIX&&this.startsWith(o,this.HTTP_PREFIX)?this.HTTPS_PREFIX+o.substr(this.HTTP_PREFIX.length):o;if(o=o.replace("WB_wombat_",""),"if_"===r&&this.wb_info.isSW&&this.startsWith(o,"blob:"))return this.wb_info.prefix+this.wb_info.request_ts+"if_/"+o;if(this.startsWithOneOf(o.toLowerCase(),this.IGNORE_PREFIXES))return o;if(this.wb_opts.no_rewrite_prefixes&&this.startsWithOneOf(o,this.wb_opts.no_rewrite_prefixes))return o;if(n=0===o.indexOf("//")?this.origProtocol+o:o,this.startsWith(n,this.wb_abs_prefix)||this.startsWith(n,this.wb_rel_prefix))return o;if(this.origHost!==this.origHostname&&this.startsWith(o,this.origProtocol+"//"+this.origHostname+"/"))return o.replace("/"+this.origHostname+"/","/"+this.origHost+"/");if("/"===o.charAt(0)&&!this.startsWith(o,this.REL_PREFIX)){if(this.wb_capture_date_part&&o.indexOf(this.wb_capture_date_part)>=0)return o;if(0===o.indexOf(this.wb_rel_prefix)&&o.indexOf("http")>1){var a=o.indexOf(":/");return a>0&&"/"!==o[a+2]?o.substring(0,a+2)+"/"+o.substring(a+2):o}return this.getFinalUrl(!0,r,this.wb_orig_origin+o)}"."===o.charAt(0)&&(o=this.resolveRelUrl(o,i));var h=this.startsWithOneOf(o.toLowerCase(),this.VALID_PREFIXES);if(h){var w=this.replayTopHost,c=this.replayTopProtocol,p=h+w+"/";if(this.startsWith(o,p)){if(this.startsWith(o,this.wb_replay_prefix))return o;var l=c+"//",_=o.substring(p.length),u=!1;return _.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(_=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+_),u=!0),h!==l&&h!==this.REL_PREFIX&&(u=!0),u&&(o=e?"":l+w,_&&"/"!==_[0]&&(o+="/"),o+=_),o}return this.getFinalUrl(e,r,o)}return(h=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},v.prototype.rewriteUrl=function(t,e,r,i){var o;return o=this.wb_info.rewrite_function?this.wb_info.rewrite_function(t,e,r,i):this.rewriteUrl_(t,e,r,i),this.debug_rw&&(t!==o?console.log("REWRITE: "+t+" -> "+o):console.log("NOT REWRITTEN "+t)),o},v.prototype.performAttributeRewrite=function(t,e,r,i,o){switch(e){case"innerHTML":case"outerHTML":return this.rewriteHtml(r);case"filter":return this.rewriteInlineStyle(r);case"style":return this.rewriteStyle(r);case"srcset":return this.rewriteSrcset(r,t)}if(o&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var n=this.rwModForElement(t,e);t&&this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t);var s=this.rewriteUrl(r,!1,n,i);return"esm_"===n&&s&&s.indexOf("esm_/")<0&&(s=s.replace(this.REPLACE_MOD,"$1esm_")),s},v.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e]||t.tagName&&t.tagName.indexOf("-")>0)return i;var o=this.wb_getAttribute.call(this.proxyToObj(t),e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,t.ownerDocument,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},v.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},v.prototype.rewriteStyle=function(t){if(!t)return t;var e=t;return"object"==typeof t&&(e=t.toString()),"string"==typeof e?e.replace(this.STYLE_REGEX,this.styleReplacer).replace(this.IMPORT_REGEX,this.styleReplacer).replace(this.no_wombatRe,""):e},v.prototype.rewriteSrcset=function(t,e){if(!t)return"";for(var r=t.split(this.srcsetRe),i=[],o=this.rwModForElement(e,"srcset"),n=0;n<r.length;n++){var s=r[n];if(s){var a=s.trim().split(" ");a[0]=this.rewriteUrl(a[0],!0,o),i.push(a.join(" "))}}return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedSrcSrcset(e)&&this.WBAutoFetchWorker.preserveSrcset(i,this.WBAutoFetchWorker.rwMod(e)),i.join(", ")},v.prototype.rewriteFrameSrc=function(t,e){var r,i=this.wb_getAttribute.call(t,e);if(this.startsWith(i,"javascript:")&&i.indexOf("WB_wombat_")>=0){var o="javascript:";r=o+"window.parent._wb_wombat.initNewWindowWombat(window);"+i.substr(11)}return r||(r=this.rewriteUrl(i,!1,this.rwModForElement(t,e))),r!==i&&(this.wb_setAttribute.call(t,e,r),!0)},v.prototype.rewriteScript=function(t){if(t.hasAttribute("src")||!t.textContent||!this.$wbwindow.Proxy)return this.rewriteAttr(t,"src");if(this.skipWrapScriptBasedOnType(t.type))return!1;var e=t.textContent.trim(),r=[];return!this.skipWrapScriptTextBasedOnText(e,r)&&(t.textContent=this.wrapScriptTextJsProxy(e,r),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},v.prototype.rewriteSVGElem=function(t){var e=this.rewriteAttr(t,"filter");return e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"xlink:href")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"src")||e},v.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;const r=e=>{if(this.wb_info.isSW&&t.parentElement&&"IFRAME"!==t.parentElement.tagName&&"IMG"!==t.parentElement.tagName){var r;let a=!1;const h=t.getAttribute("type")||"";if("application/pdf"===h?r="IFRAME":"image/svg+xml"===h||e&&h.startsWith("image/")?r="IMG":e&&!h.startsWith("application/")&&(r="IFRAME",a=!0),r){for(var i=this.$wbwindow.document.createElement(r),o=0;o<t.attributes.length;o++){var n=t.attributes[o],s=n.name;"data"===s&&(s="src"),this.wb_setAttribute.call(i,s,n.value)}return"IFRAME"===r&&(this.wb_setAttribute.call(i,"style","border: none"),a&&this.wb_setAttribute.call(i,"sandbox","allow-same-origin allow-scripts")),t.parentElement.replaceChild(i,t),!0}}return!1};if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var i=this.wb_getAttribute.call(t,"http-equiv");i&&"content-security-policy"===i.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+i),e=!0);break;case"STYLE":var o=this.rewriteStyle(t.textContent);t.textContent!==o&&(t.textContent=o,e=!0,this.wbUseAFWorker&&this.WBAutoFetchWorker&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet));break;case"LINK":e=this.rewriteAttr(t,"href"),this.wbUseAFWorker&&"stylesheet"===t.rel&&this._addEventListener(t,"load",this.utilFns.wbSheetMediaQChecker);break;case"IMG":e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"style")||e,this.wbUseAFWorker&&this.WBAutoFetchWorker&&t.dataset.srcset&&this.WBAutoFetchWorker.preserveDataSrcset(t);break;case"OBJECT":e=r(!1),e=this.rewriteAttr(t,"data",!0),e=this.rewriteAttr(t,"style")||e;break;case"EMBED":e=r(!0),e=this.rewriteAttr(t,"style")||e;break;case"FORM":e=this.rewriteAttr(t,"poster"),e=this.rewriteAttr(t,"action")||e,e=this.rewriteAttr(t,"style")||e;break;case"IFRAME":if(e=this.rewriteFrameSrc(t,"src"),this.wb_info.isSW&&!e){var n=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),n)this.blobUrlForIframe(t,n);else{var s=t.getAttribute("src");s&&"about:blank"!==s||(s||(t.__WB_blank=!0),t.src=this.wb_info.prefix+this.wb_info.request_ts+"mp_/about:blank")}}e=this.rewriteAttr(t,"style")||e;break;case"FRAME":e=this.rewriteFrameSrc(t,"src"),e=this.rewriteAttr(t,"style")||e;break;case"SCRIPT":e=this.rewriteScript(t);break;case"A":if(e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,t.hasAttribute("target")){var a=this.rewriteAttrTarget(t.target);a!==t.target&&(t.target=a,e=!0)}break;default:e=this.rewriteAttr(t,"src"),e=this.rewriteAttr(t,"srcset")||e,e=this.rewriteAttr(t,"href")||e,e=this.rewriteAttr(t,"style")||e,e=this.rewriteAttr(t,"poster")||e,e=this.rewriteAttr(t,"background")||e}return t.hasAttribute&&t.removeAttribute&&!t._no_rewrite&&(t.hasAttribute("crossorigin")&&(t.removeAttribute("crossorigin"),e=!0),t.hasAttribute("integrity")&&(t.removeAttribute("integrity"),e=!0)),e},v.prototype.recurseRewriteElem=function(t){if(!this.nodeHasChildren(t))return!1;for(var e=!1,r=[t.children||t.childNodes];r.length>0;)for(var i=r.shift(),o=0;o<i.length;o++){var n=i[o];n.nodeType===Node.ELEMENT_NODE&&(e=this.rewriteElem(n)||e,this.nodeHasChildren(n)&&r.push(n.children||n.childNodes))}return e},v.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},v.prototype.rewriteElementsInArguments=function(t){for(var e=new Array(t.length),r=0;r<t.length;r++){var i=t[r];i instanceof Node?(this.rewriteElemComplete(i),e[r]=i):e[r]="string"==typeof i?this.rewriteHtml(i):i}return e},v.prototype.rewriteHtml=function(t,e){if(!t)return t;var r=t;if("string"!=typeof t&&(r=t.toString()),this.write_buff&&(r=this.write_buff+r,this.write_buff=""),r.indexOf("<script")<=0&&r.indexOf("WB_wombat_")>=0&&(r=r.replace(/((id|class)=".*)WB_wombat_([^"]+)/,"$1$3")),!this.$wbwindow.HTMLTemplateElement||this.FullHTMLRegex.test(r))return this.rewriteHtmlFull(r,e);var i=(new DOMParser).parseFromString("<template>"+r+"</template>","text/html");if(!i||!this.nodeHasChildren(i.head)||!i.head.children[0].content)return r;var o=i.head.children[0];if(o._no_rewrite=!0,this.recurseRewriteElem(o.content)){var n=o.innerHTML;if(e){var s=o.content.children&&o.content.children[0];if(s){var a="</"+s.tagName.toLowerCase()+">";if(this.endsWith(n,a)&&!this.endsWith(r.toLowerCase(),a))n=n.substring(0,n.length-a.length);else if(n.trimEnd().endsWith(a)&&!r.trimEnd().endsWith(a)){var h=r.lastIndexOf(a);h>0&&(n+=r.slice(h+a.length))}}else if("<"!==r[0]||">"!==r[r.length-1])return void(this.write_buff+=r)}return n}return r},v.prototype.rewriteHtmlFull=function(t,e){var r=(new DOMParser).parseFromString(t,"text/html");if(!r)return t;for(var i=!1,o=0;o<r.all.length;o++)i=this.rewriteElem(r.all[o])||i;if(i){var n;if(t&&t.indexOf("<html")>=0)r.documentElement._no_rewrite=!0,n=this.reconstructDocType(r.doctype)+r.documentElement.outerHTML;else{r.head._no_rewrite=!0,r.body._no_rewrite=!0;var s=this.nodeHasChildren(r.head),a=this.nodeHasChildren(r.body);if(n=(s?r.head.outerHTML:"")+(a?r.body.outerHTML:""),e)if(r.all.length>3){var h="</"+r.all[3].tagName.toLowerCase()+">";this.endsWith(n,h)&&!this.endsWith(t.toLowerCase(),h)&&(n=n.substring(0,n.length-h.length))}else if("<"!==t[0]||">"!==t[t.length-1])return void(this.write_buff+=t);n=this.reconstructDocType(r.doctype)+n}return n}return t},v.prototype.rewriteInlineStyle=function(t){var e;try{e=decodeURIComponent(t)}catch(r){e=t}if(e!==t){var r=this.rewriteStyle(e).split(",",2);return r[0]+","+encodeURIComponent(r[1])}return this.rewriteStyle(t)},v.prototype.rewriteCookie=function(t){var e=this,r=t.replace(this.wb_abs_prefix,"").replace(this.wb_rel_prefix,"");return r=r.replace(this.cookie_domain_regex,function(t,i){var o={domain:i,cookie:r,wb_type:"cookie"};return e.sendTopMessage(o,!0),e.$wbwindow.location.hostname.indexOf(".")>=0&&!e.IP_RX.test(e.$wbwindow.location.hostname)?"Domain=."+e.$wbwindow.location.hostname:""}).replace(this.cookie_path_regex,function(t,r){var i=e.rewriteUrl(r);return 0===i.indexOf(e.wb_curr_host)&&(i=i.substring(e.wb_curr_host.length)),"Path="+i}),"https:"!==e.$wbwindow.location.protocol&&(r=r.replace("secure","")),r.replace(",|",",")},v.prototype.rewriteWorker=function(t,e){if(!t)return t;var r=0===(t=t.toString()).indexOf("blob:"),i=0===t.indexOf("javascript:"),o=e&&"module"===e.type?"wkrm_":"wkr_";if(!r&&!i){if(this.startsWithOneOf(t,this.wb_prefixes))return t.replace(this.REPLACE_MOD,"$1"+o);if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var n=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(n,!1,o,this.$wbwindow.document)}return this.rewriteUrl(t,!1,o,this.$wbwindow.document)}var s=i?t.replace("javascript:",""):null;if(r){var a=new XMLHttpRequest;this.utilFns.XHRopen.call(a,"GET",t,!1),this.utilFns.XHRsend.call(a),s=a.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var h=this.$wbwindow.document.baseURI;s="(function() { self.importScripts(\'"+(this.wb_info.ww_rw_script||this.wb_info.static_prefix+"wombatWorkers.js")+"\'); new WBWombat({\'prefix\': \'"+this.wb_abs_prefix+"\', \'prefixMod\': \'"+this.wb_abs_prefix+"wkrf_/\', \'originalURL\': "+JSON.stringify(h)+"}); })();"+s}var w=new Blob([s],{type:"application/javascript"});return this.URL.createObjectURL(w)},v.prototype.rewriteTextNodeFn=function(t,e,r){var i,o=this.proxyToObj(t);if(r.length>0&&o.parentElement&&"STYLE"===o.parentElement.tagName){i=new Array(r.length);var n=r.length-1;2===n?(i[0]=r[0],i[1]=r[1]):1===n&&(i[0]=r[0]),i[n]=this.rewriteStyle(r[n])}else i=r;return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},v.prototype.rewriteChildNodeFn=function(t,e,r){var i=this.proxyToObj(t);if(0===r.length)return e.call(i);var o=this.rewriteElementsInArguments(r);return e.__WB_orig_apply?e.__WB_orig_apply(i,o):e.apply(i,o)},v.prototype.rewriteInsertAdjHTMLOrElemArgs=function(t,e,r,i,o){var n=this.proxyToObj(t);return n._no_rewrite?e.call(n,r,i):o?e.call(n,r,this.rewriteHtml(i)):(this.rewriteElemComplete(i),e.call(n,r,i))},v.prototype.rewriteSetTimeoutInterval=function(t,e,r){var i=this.isString(r[0]),o=i?new Array(r.length):r;if(i){this.$wbwindow.Proxy?o[0]=this.wrapScriptTextJsProxy(r[0]):o[0]=r[0].replace(/\\blocation\\b/g,"WB_wombat_$&");for(var n=1;n<r.length;++n)o[n]=this.proxyToObj(r[n])}var s=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(s,o):e.apply(s,o)},v.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;if(!(t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement))if("STYLE"===o)i=this.rewriteStyle(r);else if("SCRIPT"===o){r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r));var n=[];i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r,n)||(i=this.wrapScriptTextJsProxy(i,n)))}else i=this.rewriteHtml(r);e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},v.prototype.rewriteEvalArg=function(t,e,r){this.$wbwindow.TrustedScript&&e instanceof this.$wbwindow.TrustedScript&&(e=e.toString());var i=[];return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e,i)?this.wrapScriptTextJsProxy(e,i):this.otherEvalRewrite(e),r)},v.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},v.prototype.addEventOverride=function(t,e){var r=e;e||(r=this.$wbwindow.MessageEvent.prototype);var i=this.getOrigGetter(r,t);i&&this.defGetterProp(r,t,function(){return null!=this["_"+t]?this["_"+t]:i.call(this)})},v.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},v.prototype.newAttrObjGetSet=function(t,e){var r=this,i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e);this.defProp(t,e,function(t){var e=r.proxyToObj(this),i=t;return r.isAttrObjRewrite(e)&&(i=r.performAttributeRewrite(e.ownerElement,e.name,t,e.ownerDocument,!1)),o.call(e,i)},function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e})},v.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},v.prototype.overrideAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this;this.defProp(t,e,function(t){"js_"===r&&(this.__$removedWBOSRC$__||n.removeWBOSRC(this));var i=n.rewriteUrl(t,!1,"module"===this.type?"esm_":r);return o?o.call(this,i):n.wb_setAttribute?n.wb_setAttribute.call(this,e,i):void 0},function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,e)),t=n.extractOriginalURL(t),this.__WB_blank&&"about:blank"===t?"":t})},v.prototype.overridePropExtract=function(t,e){var r=this.getOrigGetter(t,e),i=this;if(r){this.defGetterProp(t,e,function(){var t=i.proxyToObj(this),e=r.call(t);return t.__WB_no_unrewrite?e:i.extractOriginalURL(e)})}},v.prototype.overrideDeProxyPropAssign=function(t,e){var r=this.getOrigSetter(t,e),i=this.getOrigGetter(t,e),o=this;if(r){this.defProp(t,e,function(t){return r.call(o.proxyToObj(this),o.proxyToObj(t))},i)}},v.prototype.overrideReferrer=function(t){var e=this.getOrigGetter(t,"referrer"),r=this;if(e){this.defGetterProp(t,"referrer",function(){var t=r.proxyToObj(this),i=this.defaultView;if(i===i.__WB_replay_top)return"";var o=e.call(t);return r.extractOriginalURL(o)})}},v.prototype.overridePropToProxy=function(t,e){var r=this.getOrigGetter(t,e);if(r){var i=this;this.defGetterProp(t,e,function(){return i.objToProxy(r.call(this))})}},v.prototype.overrideHistoryFunc=function(t){if(this.$wbwindow.history){var e=this.$wbwindow.history[t];if(e){this.$wbwindow.history["_orig_"+t]=e,this.$wbwindow.history.___wb_ownWindow=this.$wbwindow;var r=this,i=function(t,i,o){var n=this.___wb_ownWindow||r.$wbwindow;o=r.extractOriginalURL(o);var s,a,h=n.WB_wombat_location;if(o){var w=r._makeURLParser(o,n.document);if(a=w.href,s=r.rewriteUrl(a),a!==h.origin&&"about:blank"!==h.href&&!r.startsWith(a,h.origin+"/"))throw new DOMException("Invalid history change: "+a)}else a=h.href;e.call(this,t,i,s);var c=n.document.title;r.WBAutoFetchWorker&&n.setTimeout(function(){i||n.document.title===c||(i=n.document.title),r.WBAutoFetchWorker.fetchAsPage(s,a,i)},100),r.sendHistoryUpdate(a,i,n)};return this.$wbwindow.history[t]=i,this.$wbwindow.History&&this.$wbwindow.History.prototype&&(this.$wbwindow.History.prototype[t]=i),i}}},v.prototype.overrideStyleAttr=function(t,e,r){var i=this.getOrigGetter(t,e),o=this.getOrigSetter(t,e),n=this,s=i,a=function(t,e,r,i,o){return e+(r||"")+n.extractOriginalURL(i)+o},h=/(url\\()([\'"])?(.*?)(\\2\\))/;i||(s=function(){var t=this.getPropertyValue(r);return t&&t.startsWith("url(")&&(t=t.replace(h,a)),t}),(o&&i||r)&&this.defProp(t,e,function(t){var e=n.rewriteStyle(t);return o?o.call(this,e):this.setProperty(r,e),e},s)},v.prototype.overrideStyleSetProp=function(t){var e=t.setProperty,r=this;t.setProperty=function(t,i,o){var n=r.rewriteStyle(i);return e.call(this,t,n,o)}},v.prototype.overrideAnchorAreaElem=function(t){if(t&&t.prototype){for(var e={},r=t.prototype,i=function(t,r){var i=e["set_"+t];return i?i.call(this,r):""},o=function(t){var r=e["get_"+t];return r?r.call(this):""},n=0;n<this.URL_PROPS.length;n++){var s=this.URL_PROPS[n];e["get_"+s]=this.getOrigGetter(r,s),e["set_"+s]=this.getOrigSetter(r,s),Object.defineProperty&&this.defProp(r,s,this.makeSetLocProp(s,i,o),this.makeGetLocProp(s,o),!0)}r.toString=function(){return this.href}}},v.prototype.overrideHtmlAssign=function(t,e,r){if(this.$wbwindow.DOMParser&&t&&t.prototype){var i=t.prototype,o=this.getOrigGetter(i,e),n=this.getOrigSetter(i,e);if(n){var s=this.rewriteHTMLAssign,a=this.wb_unrewrite_rx;this.defProp(i,e,function(t){return s(this,n,t)},r?function(){var t=o.call(this);return this._no_rewrite?t:t.replace(a,"")}:o)}}},v.prototype.overrideHtmlAssignSrcDoc=function(t,e){var r=t.prototype,i=(this.getOrigGetter(r,e),this.getOrigSetter(r,e)),o=this;this.defProp(r,e,function(t){return this.__wb_srcdoc=t,o.wb_info.isSW?(o.blobUrlForIframe(this,t),t):o.rewriteHTMLAssign(this,i,t)},function(){return this.__wb_srcdoc})},v.prototype.overrideDataSet=function(){var t=this.$wbwindow.HTMLElement.prototype,e=this.getOrigGetter(t,"dataset"),r=this;this.defProp(t,"dataset",null,function(){var t=e.call(this);return new Proxy(t,{get(t,e,i){var o=t[e];return"string"==typeof o&&r.startsWithOneOf(o,r.wb_prefixes)?r.extractOriginalURL(o):o}})})},v.prototype.overrideStyleProxy=function(t){var e=this.$wbwindow.HTMLElement.prototype,r=this.getOrigSetter(e,"style"),i=this.getOrigGetter(e,"style"),o=this;this.defProp(e,"style",r,function(){var e=i.call(this),r={};return new Proxy(e,{set:(e,r,i)=>(t.includes(r)&&(i=o.rewriteStyle(i)),e[r]=i,!0),get(t,i,n){var s=t[i];return"function"!=typeof s||"setProperty"!==i&&!o.isNativeFunction(s)?s:(r[i]||(r[i]=s.bind(e)),r[i])}})})},v.prototype.overrideIframeContentAccess=function(t){if(this.$wbwindow.HTMLIFrameElement&&this.$wbwindow.HTMLIFrameElement.prototype){var e=this.$wbwindow.HTMLIFrameElement.prototype,r=this.getOrigGetter(e,t);if(r){var i=this.getOrigSetter(e,t),o=this;this.defProp(e,t,i,function(){return o.initIframeWombat(this),o.objToProxy(r.call(this))}),e["_get_"+t]=r}}},v.prototype.overrideSWAccess=function(t){if(t.navigator.serviceWorker&&t.navigator.serviceWorker.controller){t._WB_wombat_sw=t.navigator.serviceWorker;var e={controller:null,ready:Promise.resolve({unregister:function(){}}),register:function(){return Promise.reject()},addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:function(){return Promise.resolve([])},getRegistration:function(){return Promise.resolve(void 0)},startMessages:function(){}};this.defGetterProp(t.navigator,"serviceWorker",function(){return e})}},v.prototype.overrideFuncThisProxyToObj=function(t,e,r){if(t){var i=r;if(!r&&t.prototype&&t.prototype[e]?i=t.prototype:!r&&t[e]&&(i=t),i){var o=this,n=i[e];i[e]=function(){return n.apply(o.proxyToObj(this),arguments)}}}},v.prototype.overrideFuncArgProxyToObj=function(t,e,r){if(t&&t.prototype){var i=r||0,o=t.prototype[e];if(o){var n=this;t.prototype[e]=function(){for(var t=new Array(arguments.length),e=0;e<t.length;e++)t[e]=e===i?n.proxyToObj(arguments[e]):arguments[e];var r=n.proxyToObj(this);return o.__WB_orig_apply?o.__WB_orig_apply(r,t):o.apply(r,t)}}}},v.prototype.overrideFunctionApply=function(t){if(!t.Function.prototype.__WB_orig_apply){var e=t.Function.prototype.apply;Object.defineProperty(t.Function.prototype,"__WB_orig_apply",{value:e,enumarable:!1});var r=this;t.Function.prototype.apply=function(t,e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_apply(t,e)},this.wb_funToString.apply=e}},v.prototype.overrideFunctionCall=function(t){if(!t.Function.prototype.__WB_orig_call){var e=t.Function.prototype.call;Object.defineProperty(t.Function.prototype,"__WB_orig_call",{value:e,enumarable:!1});var r=this;t.Function.prototype.call=function(t,...e){return r.isNativeFunction(this)&&(t=r.proxyToObj(t),e=r.deproxyArrayHandlingArgumentsObj(e)),this.__WB_orig_call(t,...e)},this.wb_funToString.call=e}},v.prototype.overrideFunctionBind=function(t){if(!t.Function.prototype.__WB_orig_bind){var e=t.Function.prototype.bind;Object.defineProperty(t.Function.prototype,"__WB_orig_bind",{value:e,enumarable:!1});var r=this;t.Function.prototype.bind=function(t){var e=r.isNativeFunction(this),i=e?this.__WB_orig_bind.apply(this,arguments):this.__WB_orig_bind.__WB_orig_apply(this,arguments);return i.__WB_is_native_func__=e,i}}},v.prototype.overrideSrcsetAttr=function(t,e){var r="srcset",i=this.getOrigGetter(t,r),o=this.getOrigSetter(t,r),n=this;this.defProp(t,r,function(t){var e=n.rewriteSrcset(t,this);return o?o.call(this,e):n.wb_setAttribute?n.wb_setAttribute.call(this,r,e):void 0},function(){var t;return i?t=i.call(this):n.wb_getAttribute&&(t=n.wb_getAttribute.call(this,r)),t=n.extractOriginalURL(t)})},v.prototype.overrideHrefAttr=function(t,e){var r=this.getOrigGetter(t,"href"),i=this.getOrigSetter(t,"href"),o=this;this.defProp(t,"href",function(t){var r;return r="cs_"===e&&0===t.indexOf("data:text/css")?o.rewriteInlineStyle(t):"LINK"===this.tagName?o.rewriteUrl(t,!1,o.rwModForElement(this,"href")):o.rewriteUrl(t,!1,e,this.ownerDocument),i?i.call(this,r):o.wb_setAttribute?o.wb_setAttribute.call(this,"href",r):void 0},function(){var t;return r?t=r.call(this):o.wb_getAttribute&&(t=o.wb_getAttribute.call(this,"href")),this._no_rewrite?t:o.extractOriginalURL(t)})},v.prototype.overrideTextProtoGetSet=function(t,e){var r,i=this.getOrigGetter(t,e),o=this;if("data"===e){var n=this.getOrigSetter(t,e);r=function(t){var e=t;return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName&&(e=o.rewriteStyle(t)),n.call(this,e)}}this.defProp(t,e,r,function(){var t=i.call(this);return!this._no_rewrite&&this.parentElement&&"STYLE"===this.parentElement.tagName?t.replace(o.wb_unrewrite_rx,""):t})},v.prototype.overrideAnUIEvent=function(t){var e="__wb_"+t+"_overridden",r=this.$wbwindow[t];if(r&&r.prototype&&!r.prototype[e]){var i=this;this.overridePropToProxy(r.prototype,"view");var o,n="init"+t;if(r.prototype[n]){var s=r.prototype[n];r.prototype[n]=function(){var t=i.proxyToObj(this);if(0===arguments.length||arguments.length<3)return s.__WB_orig_apply?s.__WB_orig_apply(t,arguments):s.apply(t,arguments);for(var e=new Array(arguments.length),r=0;r<arguments.length;r++)e[r]=3===r?i.proxyToObj(arguments[r]):arguments[r];return s.__WB_orig_apply?s.__WB_orig_apply(t,e):s.apply(t,e)}}this.$wbwindow[t]=(o=r,function(e,r){return i.domConstructorErrorChecker(this,t,arguments),r&&(null!=r.view&&(r.view=i.proxyToObj(r.view)),null!=r.relatedTarget&&(r.relatedTarget=i.proxyToObj(r.relatedTarget)),null!=r.target&&(r.target=i.proxyToObj(r.target))),new o(e,r)}),this.$wbwindow[t].prototype=r.prototype,Object.defineProperty(this.$wbwindow[t].prototype,"constructor",{value:this.$wbwindow[t]}),this.$wbwindow[t].prototype[e]=!0}},v.prototype.rewriteParentNodeFn=function(t,e,r){var i=this._no_rewrite?r:this.rewriteElementsInArguments(r),o=this.proxyToObj(t);return e.__WB_orig_apply?e.__WB_orig_apply(o,i):e.apply(o,i)},v.prototype.overrideParentNodeAppendPrepend=function(t){var e=this.rewriteParentNodeFn;if(t.prototype.append){var r=t.prototype.append;t.prototype.append=function(){return e(this,r,arguments)}}if(t.prototype.prepend){var i=t.prototype.prepend;t.prototype.prepend=function(){return e(this,i,arguments)}}},v.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},v.prototype.overrideChildNodeInterface=function(t,e){if(t&&t.prototype){var r=e?this.rewriteTextNodeFn:this.rewriteChildNodeFn;if(t.prototype.before){var i=t.prototype.before;t.prototype.before=function(){return r(this,i,arguments)}}if(t.prototype.after){var o=t.prototype.after;t.prototype.after=function(){return r(this,o,arguments)}}if(t.prototype.replaceWith){var n=t.prototype.replaceWith;t.prototype.replaceWith=function(){return r(this,n,arguments)}}}},v.prototype.initTextNodeOverrides=function(){var t=this.$wbwindow.Text;if(t&&t.prototype){var e=t.prototype,r=this.rewriteTextNodeFn;if(e.appendData){var i=e.appendData;e.appendData=function(){return r(this,i,arguments)}}if(e.insertData){var o=e.insertData;e.insertData=function(){return r(this,o,arguments)}}if(e.replaceData){var n=e.replaceData;e.replaceData=function(){return r(this,n,arguments)}}this.overrideChildNodeInterface(t,!0),this.overrideTextProtoGetSet(e,"data"),this.overrideTextProtoGetSet(e,"wholeText")}},v.prototype.initAttrOverrides=function(){this.overrideHrefAttr(this.$wbwindow.HTMLLinkElement.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.CSSStyleSheet.prototype,"cs_"),this.overrideHrefAttr(this.$wbwindow.HTMLBaseElement.prototype,"mp_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLImageElement.prototype,"im_"),this.overrideSrcsetAttr(this.$wbwindow.HTMLSourceElement.prototype,"oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"poster","im_"),this.overrideAttr(this.$wbwindow.HTMLImageElement.prototype,"src","im_"),this.overrideAttr(this.$wbwindow.HTMLInputElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLEmbedElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLMediaElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLVideoElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLAudioElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLSourceElement.prototype,"src","oe_"),window.HTMLTrackElement&&window.HTMLTrackElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLTrackElement.prototype,"src","oe_"),this.overrideAttr(this.$wbwindow.HTMLIFrameElement.prototype,"src","if_"),this.$wbwindow.HTMLFrameElement&&this.$wbwindow.HTMLFrameElement.prototype&&this.overrideAttr(this.$wbwindow.HTMLFrameElement.prototype,"src","fr_"),this.overrideAttr(this.$wbwindow.HTMLScriptElement.prototype,"src","js_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"data","oe_"),this.overrideAttr(this.$wbwindow.HTMLObjectElement.prototype,"codebase","oe_"),this.overrideAttr(this.$wbwindow.HTMLMetaElement.prototype,"content","mp_"),this.overrideAttr(this.$wbwindow.HTMLFormElement.prototype,"action","mp_"),this.overrideAttr(this.$wbwindow.HTMLQuoteElement.prototype,"cite","mp_"),this.overrideAttr(this.$wbwindow.HTMLModElement.prototype,"cite","mp_"),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAnchorElement),this.overrideAnchorAreaElem(this.$wbwindow.HTMLAreaElement);var t=this.$wbwindow.CSSStyleDeclaration.prototype,e={background:"background",backgroundImage:"background-image",cursor:"cursor",listStyle:"list-style",listStyleImage:"list-style-image",border:"border",borderImage:"border-image",borderImageSource:"border-image-source",maskImage:"mask-image"};for(var[r,i]of(this.overrideStyleProxy(Object.values(e)),this.$wbwindow.CSS2Properties&&(t=this.$wbwindow.CSS2Properties.prototype),this.overrideStyleAttr(t,"cssText"),Object.entries(e)))this.overrideStyleAttr(t,r,i);if(this.overrideStyleSetProp(t),this.$wbwindow.CSSStyleSheet&&this.$wbwindow.CSSStyleSheet.prototype){var o=this,n=this.$wbwindow.CSSStyleSheet.prototype.insertRule;this.$wbwindow.CSSStyleSheet.prototype.insertRule=function(t,e){return n.call(this,o.rewriteStyle(t),e)}}this.$wbwindow.CSSRule&&this.$wbwindow.CSSRule.prototype&&this.overrideStyleAttr(this.$wbwindow.CSSRule.prototype,"cssText")},v.prototype.initCSSOMOverrides=function(){var t,r=this;if(this.$wbwindow.CSSStyleValue){var i=function(t,e){var i=t[e];t[e]=function(t,e){if(null==e)return i.call(this,t,e);var o=r.noExceptRewriteStyle(e);return i.call(this,t,o)}};this.$wbwindow.CSSStyleValue.parse&&this.$wbwindow.CSSStyleValue.parse.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parse"),this.$wbwindow.CSSStyleValue.parseAll&&this.$wbwindow.CSSStyleValue.parseAll.toString().indexOf("[native code]")>0&&i(this.$wbwindow.CSSStyleValue,"parseAll")}if(this.$wbwindow.CSSKeywordValue&&this.$wbwindow.CSSKeywordValue.prototype){var o=this.$wbwindow.CSSKeywordValue;this.$wbwindow.CSSKeywordValue=(t=this.$wbwindow.CSSKeywordValue,function(e){return r.domConstructorErrorChecker(this,"CSSKeywordValue",arguments),new t(r.rewriteStyle(e))}),this.$wbwindow.CSSKeywordValue.prototype=o.prototype,Object.defineProperty(this.$wbwindow.CSSKeywordValue.prototype,"constructor",{value:this.$wbwindow.CSSKeywordValue}),e(this.$wbwindow.CSSKeywordValue,"CSSKeywordValue")}if(this.$wbwindow.StylePropertyMap&&this.$wbwindow.StylePropertyMap.prototype){var n=this.$wbwindow.StylePropertyMap.prototype.set;this.$wbwindow.StylePropertyMap.prototype.set=function(){if(arguments.length<=1)return n.__WB_orig_apply?n.__WB_orig_apply(this,arguments):n.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return n.__WB_orig_apply?n.__WB_orig_apply(this,t):n.apply(this,t)};var s=this.$wbwindow.StylePropertyMap.prototype.append;this.$wbwindow.StylePropertyMap.prototype.append=function(){if(arguments.length<=1)return n.__WB_orig_apply?s.__WB_orig_apply(this,arguments):s.apply(this,arguments);var t=new Array(arguments.length);t[0]=arguments[0];for(var e=1;e<arguments.length;e++)t[e]=r.noExceptRewriteStyle(arguments[e]);return s.__WB_orig_apply?s.__WB_orig_apply(this,t):s.apply(this,t)}}},v.prototype.initAudioOverride=function(){if(this.$wbwindow.Audio){var t,r=this.$wbwindow.Audio,i=this;this.$wbwindow.Audio=(t=this.$wbwindow.Audio,function(e){return i.domConstructorErrorChecker(this,"Audio"),new t(i.rewriteUrl(e,!0,"oe_"))}),this.$wbwindow.Audio.prototype=r.prototype,Object.defineProperty(this.$wbwindow.Audio.prototype,"constructor",{value:this.$wbwindow.Audio}),e(this.$wbwindow.Audio,"HTMLAudioElement")}},v.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},v.prototype.initCryptoRandom=function(){if(this.$wbwindow.crypto&&this.$wbwindow.Crypto){var t=this,e=function(e){for(var r=0;r<e.length;r++)e[r]=parseInt(4294967296*t.$wbwindow.Math.random());return e};this.$wbwindow.Crypto.prototype.getRandomValues=e,this.$wbwindow.crypto.getRandomValues=e}},v.prototype.initDateOverride=function(t){if(!this.$wbwindow.__wb_Date_now){var e,r=1e3*parseInt(t),i=this.$wbwindow.Date.now()-(r-0),o=this.$wbwindow.Date,n=this.$wbwindow.Date.UTC,s=this.$wbwindow.Date.parse,a=this.$wbwindow.Date.now;this.$wbwindow.__wb_Date_now=a,this.$wbwindow.Date=(e=this.$wbwindow.Date,function(t,r,o,n,s,h,w){return void 0===t?new e(a()-i):void 0===r?new e(t):void 0===o?new e(t,r):void 0===n?new e(t,r,o):void 0===s?new e(t,r,o,n):void 0===h?new e(t,r,o,n,s):void 0===w?new e(t,r,o,n,s,h):new e(t,r,o,n,s,h,w)}),this.$wbwindow.Date.prototype=o.prototype,this.$wbwindow.Date.now=function(){return a()-i},this.$wbwindow.Date.UTC=n,this.$wbwindow.Date.parse=s,this.$wbwindow.Date.__WB_timediff=i,this.$wbwindow.Date.prototype.getTimezoneOffset=function(){return 0};var h=this.$wbwindow.Date.prototype.toString;this.$wbwindow.Date.prototype.toString=function(){return h.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"};var w=this.$wbwindow.Date.prototype.toTimeString;this.$wbwindow.Date.prototype.toTimeString=function(){return w.call(this).split(" GMT")[0]+" GMT+0000 (Coordinated Universal Time)"},Object.defineProperty(this.$wbwindow.Date.prototype,"constructor",{value:this.$wbwindow.Date})}},v.prototype.initBlobOverride=function(){if(this.$wbwindow.Blob&&!this.wb_info.isSW){var t,e=this.$wbwindow.Blob,r=this;this.$wbwindow.Blob=(t=this.$wbwindow.Blob,function(e,i){return!i||"application/xhtml+xml"!==i.type&&"text/html"!==i.type||1===e.length&&"string"==typeof e[0]&&r.startsWith(e[0],"<!DOCTYPE html>")&&(e[0]=r.rewriteHtml(e[0]),i.type="text/html"),new t(e,i)}),this.$wbwindow.Blob.prototype=e.prototype}},v.prototype.initIntersectionObsOverride=function(){var t,e=this.$wbwindow.IntersectionObserver,r=this;this.$wbwindow.IntersectionObserver=(t=this.$wbwindow.IntersectionObserver,function(e,i){return i&&i.root&&(i.root=r.proxyToObj(i.root)),new t(e,i)}),this.$wbwindow.IntersectionObserver.prototype=e.prototype,Object.defineProperty(this.$wbwindow.IntersectionObserver.prototype,"constructor",{value:this.$wbwindow.IntersectionObserver})},v.prototype.initWSOverride=function(){this.$wbwindow.WebSocket&&this.$wbwindow.WebSocket.prototype&&(this.$wbwindow.WebSocket=function(){function t(t,e){this.openCallbacks=[];var r=this;this.addEventListener=function(t,e){"open"===t&&r.openCallbacks.push(e)},this.removeEventListener=function(){},this.close=function(){},this.send=function(t){console.log("ws send",t)},this.protocol=e&&e.length?e[0]:"",this.url=t,this.readyState=1,setTimeout(function(){var t=new CustomEvent("open");r.onopen&&r.onopen(t),r.openCallbacks.forEach(e=>e(t))},500)}return t.CONNECTING=0,t.OPEN=1,t.CLOSING=2,t.CLOSED=3,t}(this.$wbwindow.WebSocket),Object.defineProperty(this.$wbwindow.WebSocket.prototype,"constructor",{value:this.$wbwindow.WebSocket}),e(this.$wbwindow.WebSocket,"WebSocket"))},v.prototype.initDocTitleOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"title"),e=this.getOrigSetter(this.$wbwindow.document,"title"),r=this;this.defProp(this.$wbwindow.document,"title",function(t){var i=e.call(this,t),o={wb_type:"title",title:t};return r.sendTopMessage(o),i},t)},v.prototype.initFontFaceOverride=function(){if(this.$wbwindow.FontFace){var t,r=this,i=this.$wbwindow.FontFace;this.$wbwindow.FontFace=(t=this.$wbwindow.FontFace,function(e,i,o){r.domConstructorErrorChecker(this,"FontFace",arguments,2);var n=i;return null!=i&&(n="string"!=typeof i?r.rewriteInlineStyle(i.toString()):r.rewriteInlineStyle(i)),new t(e,n,o)}),this.$wbwindow.FontFace.prototype=i.prototype,Object.defineProperty(this.$wbwindow.FontFace.prototype,"constructor",{value:this.$wbwindow.FontFace}),e(this.$wbwindow.FontFace,"FontFace")}},v.prototype.initFixedRatio=function(t){try{this.$wbwindow.devicePixelRatio=t}catch(t){}if(Object.defineProperty)try{Object.defineProperty(this.$wbwindow,"devicePixelRatio",{value:t,writable:!1})}catch(t){}},v.prototype.initPaths=function(t){t.wombat_opts=t.wombat_opts||{},Object.assign(this.wb_info,t),this.wb_opts=t.wombat_opts,this.wb_replay_prefix=t.prefix,this.wb_is_proxy=t.proxy_magic||!this.wb_replay_prefix,this.wb_info.top_host=this.wb_info.top_host||"*",this.wb_curr_host=this.$wbwindow.location.protocol+"//"+this.$wbwindow.location.host,this.wb_info.wombat_opts=this.wb_info.wombat_opts||{},this.wb_orig_scheme=t.wombat_scheme+"://",this.wb_orig_origin=this.wb_orig_scheme+t.wombat_host,this.wb_abs_prefix=this.wb_replay_prefix,!t.is_live&&t.wombat_ts?this.wb_capture_date_part="/"+t.wombat_ts+"/":this.wb_capture_date_part="",this.initBadPrefixes(this.wb_replay_prefix),this.initCookiePreset()},v.prototype.initSeededRandom=function(t){this.$wbwindow.Math.seed=parseInt(t);var e=this;this.$wbwindow.Math.random=function(){return e.$wbwindow.Math.seed=(9301*e.$wbwindow.Math.seed+49297)%233280,e.$wbwindow.Math.seed/233280}},v.prototype.initHistoryOverrides=function(){this.overrideHistoryFunc("pushState"),this.overrideHistoryFunc("replaceState");var t=this;this.$wbwindow.addEventListener("popstate",function(e){t.sendHistoryUpdate(t.$wbwindow.WB_wombat_location.href,t.$wbwindow.document.title)})},v.prototype.initCookiePreset=function(){if(this.wb_info.presetCookie)for(var t=this.wb_info.presetCookie.split(";"),e=0;e<t.length;e++)this.$wbwindow.document.cookie=t[e].trim()+"; Path="+this.rewriteUrl("./",!0)},v.prototype.initHTTPOverrides=function(){var t=this;this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL");var r,i,o=!!this.wb_info.convert_post_to_get;if(this.wb_info.isSW||o){var n=this.$wbwindow.XMLHttpRequest.prototype.open,s=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,a=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=n,this.utilFns.XHRsend=a,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setAttributionReporting=function(){},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)};t=this;var h=this.wb_info.isSW&&-1===navigator.userAgent.indexOf("Firefox");h&&(this.syncXHRCachePending=new Set),this.$wbwindow.XMLHttpRequest.prototype.send=async function(e){if(o&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var r={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:e};u(r)&&(this.__WB_xhr_open_arguments[1]=r.url,this.__WB_xhr_open_arguments[0]="GET",e=null)}const i=this.__WB_xhr_open_arguments[1];if(this._no_rewrite||(this.__WB_xhr_open_arguments[1]=t.rewriteUrl(this.__WB_xhr_open_arguments[1])),h&&this.__WB_xhr_open_arguments.length>2&&!this.__WB_xhr_open_arguments[2]){console.warn("wombat.js: Sync XHR not supported in SW-based replay in this browser, attempt to fetch async and store as data: URI for reuse");const w=new c(t,i,this.__WB_xhr_open_arguments,this.__WB_xhr_headers);if(!w.addCacheOverride(this)){function p(e,r){var i=t.getOrigGetter(e,r);t.defProp(e,r,t=>orig_setter.call(this,t),()=>(w.reloadIfNeeded(),i.call(this)))}p(this,"response"),p(this,"responseText"),p(this,"responseXML")}}if(n.apply(this,this.__WB_xhr_open_arguments),!t.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[l,_]of this.__WB_xhr_headers.entries())s.call(this,l,_);s.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return a.call(this,e)}}else if(this.$wbwindow.XMLHttpRequest.prototype.open){var w=this.$wbwindow.XMLHttpRequest.prototype.open;this.utilFns.XHRopen=w,this.utilFns.XHRsend=this.$wbwindow.XMLHttpRequest.prototype.send,this.$wbwindow.XMLHttpRequest.prototype.open=function(e,r,i,o,n){var s=this._no_rewrite?r:t.rewriteUrl(r),a=!0;null==i||i||(a=!1),w.call(this,e,s,a,o,n),t.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var p=this.$wbwindow.fetch;this.$wbwindow.fetch=function(e,r){var i;if(e instanceof Request){var o=t.rewriteUrl(e.url);e.__WB_no_unrewrite=!0,i=o===e.url?e:new Request(o,e),delete e.__WB_no_unrewrite}else e=t.rewriteUrl(e.toString()),i=new Request(e,r);return p.call(t.proxyToObj(this),i)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var l=this.$wbwindow.Request;this.$wbwindow.Request=(r=this.$wbwindow.Request,function e(i,o){t.domConstructorErrorChecker(this,"Request",arguments);var n=o||{},s=i;switch(typeof i){case"string":s=t.rewriteUrl(i);break;case"object":if(s=i,i.url){var a=t.rewriteUrl(i.url);a!==i.url&&(s=new r(a,i))}else i.href&&(s=t.rewriteUrl(i.toString(),!0))}let h=!1;if(n&&n.referrer){var w=t.rewriteUrl(n.referrer);w!==n.referrer&&(n instanceof e?(n.__WB_no_unrewrite=!0,h=!0):n.referrer=w)}var c=new r(s,n);return h&&delete n.__WB_no_unrewrite,c}),this.$wbwindow.Request.prototype=l.prototype,Object.defineProperty(this.$wbwindow.Request.prototype,"constructor",{value:this.$wbwindow.Request}),this.overridePropExtract(this.$wbwindow.Request.prototype,"url"),this.overridePropExtract(this.$wbwindow.Request.prototype,"referrer")}if(this.$wbwindow.Response&&this.$wbwindow.Response.prototype){var _=this.$wbwindow.Response.prototype.redirect;this.$wbwindow.Response.prototype.redirect=function(e,r){var i=t.rewriteUrl(e,!0,null,t.$wbwindow.document);return _.call(this,i,r)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var d=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(i=this.$wbwindow.EventSource,function(e,r){t.domConstructorErrorChecker(this,"EventSource",arguments);var o=e;return null!=e&&(o=t.rewriteUrl(e)),new i(o,r)}),this.$wbwindow.EventSource.prototype=d.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},v.prototype.initElementGetSetAttributeOverride=function(){if(!this.wb_opts.skip_setAttribute&&this.$wbwindow.Element&&this.$wbwindow.Element.prototype){var t=this,e=this.$wbwindow.Element.prototype;if(e.setAttribute){var r=e.setAttribute;e._orig_setAttribute=r,e.setAttribute=function(e,i){var o=i;if(e&&"string"==typeof o){var n=e.toLowerCase();if("LINK"===this.tagName&&"href"===n&&0===o.indexOf("data:text/css"))o=t.rewriteInlineStyle(i);else if("style"===n)o=t.rewriteStyle(i);else if("srcset"===n||"imagesrcset"===n&&"LINK"===this.tagName)o=t.rewriteSrcset(i,this);else{t.shouldRewriteAttr(this.tagName,n)&&(t.removeWBOSRC(this),this._no_rewrite||(o=t.rewriteUrl(i,!1,t.rwModForElement(this,n))))}}return r.call(this,e,o)}}if(e.getAttribute){var i=e.getAttribute;this.wb_getAttribute=i,e.getAttribute=function(e){var r=i.call(this,e);if(null===r)return r;var o=e;if(e&&(o=e.toLowerCase()),t.shouldRewriteAttr(this.tagName,o)){var n=t.retrieveWBOSRC(this);return n||t.extractOriginalURL(r)}return t.startsWith(o,"data-")&&t.startsWithOneOf(r,t.wb_prefixes)?t.extractOriginalURL(r):r}}}},v.prototype.initSvgImageOverrides=function(){if(this.$wbwindow.SVGImageElement){var t=this.$wbwindow.SVGImageElement.prototype,e=t.getAttribute,r=t.getAttributeNS,i=t.setAttribute,o=t.setAttributeNS,n=this;t.getAttribute=function(t){var r=e.call(this,t);return t.indexOf("xlink:href")>=0||"href"===t?n.extractOriginalURL(r):r},t.getAttributeNS=function(t,e){var i=r.call(this,t,e);return e.indexOf("xlink:href")>=0||"href"===e?n.extractOriginalURL(i):i},t.setAttribute=function(t,e){var r=e;return(t.indexOf("xlink:href")>=0||"href"===t)&&(r=n.rewriteUrl(e)),i.call(this,t,r)},t.setAttributeNS=function(t,e,r){var i=r;return(e.indexOf("xlink:href")>=0||"href"===e)&&(i=n.rewriteUrl(r)),o.call(this,t,e,i)}}},v.prototype.initCreateElementNSFix=function(){if(this.$wbwindow.document.createElementNS&&this.$wbwindow.Document.prototype.createElementNS){var t=this.$wbwindow.document.createElementNS,e=this,r=function(r,i){return t.call(e.proxyToObj(this),e.extractOriginalURL(r),i)};this.$wbwindow.Document.prototype.createElementNS=r,this.$wbwindow.document.createElementNS=r}},v.prototype.initQuerySelectorOverride=function(){if(this.$wbwindow.document.querySelector&&this.$wbwindow.Document.prototype.querySelector){var t=this,e=this.$wbwindow.document.querySelector,r=function(r){return e.call(t.proxyToObj(this),n(r))},i=this.$wbwindow.document.querySelectorAll,o=function(e){return i.call(t.proxyToObj(this),n(e))};this.$wbwindow.Document.prototype.querySelector=r,this.$wbwindow.document.querySelector=r,this.$wbwindow.Document.prototype.querySelectorAll=o,this.$wbwindow.document.querySelectorAll=o}function n(t){if("string"==typeof t)try{t=t.replace(/((?:^|\\s)\\b\\w+\\[(?:src|href|data-href))[\\^]?(=[\'"]?(?:https?[:])?\\/\\/)/,"$1*$2")}catch(t){}return t}},v.prototype.initInsertAdjacentElementHTMLOverrides=function(){var t=this.$wbwindow.Element;if(t&&t.prototype){var e=t.prototype,r=this.rewriteInsertAdjHTMLOrElemArgs;if(e.insertAdjacentHTML){var i=e.insertAdjacentHTML;e.insertAdjacentHTML=function(t,e){return r(this,i,t,e,!0)}}if(e.insertAdjacentElement){var o=e.insertAdjacentElement;e.insertAdjacentElement=function(t,e){return r(this,o,t,e,!1)}}}},v.prototype.initDomOverride=function(){var t=this.$wbwindow.Node;if(t&&t.prototype){var e=this.rewriteNodeFuncArgs;if(t.prototype.appendChild){var r=t.prototype.appendChild;t.prototype.appendChild=function(t,i){return e(this,r,t,i)}}if(t.prototype.insertBefore){var i=t.prototype.insertBefore;t.prototype.insertBefore=function(t,r){return e(this,i,t,r)}}if(t.prototype.replaceChild){var o=t.prototype.replaceChild;t.prototype.replaceChild=function(t,r){return e(this,o,t,r)}}this.overridePropToProxy(t.prototype,"ownerDocument"),this.overridePropToProxy(this.$wbwindow.HTMLHtmlElement.prototype,"parentNode"),this.overridePropToProxy(this.$wbwindow.Event.prototype,"target");var n=t.prototype.getRootNode,s=this;t.prototype.getRootNode=function(){return s.objToProxy(n.call(this))}}this.$wbwindow.Element&&this.$wbwindow.Element.prototype&&(this.overrideParentNodeAppendPrepend(this.$wbwindow.Element),this.overrideChildNodeInterface(this.$wbwindow.Element,!1)),this.$wbwindow.DocumentFragment&&this.$wbwindow.DocumentFragment.prototype&&this.overrideParentNodeAppendPrepend(this.$wbwindow.DocumentFragment)},v.prototype.initDocOverrides=function(t){if(Object.defineProperty){this.overrideReferrer(t),this.defGetterProp(t,"origin",function(){return this.WB_wombat_location.origin}),this.defGetterProp(this.$wbwindow,"origin",function(){return this.WB_wombat_location.origin});var e=this;this.defProp(t,"domain",function(t){var r=this.WB_wombat_location;r&&e.endsWith(r.hostname,t)&&(this.__wb_domain=t)},function(){return this.__wb_domain||this.WB_wombat_location.hostname})}},v.prototype.initDocWriteOpenCloseOverride=function(){if(this.$wbwindow.DOMParser){var t=this.$wbwindow.Document.prototype,e=this.$wbwindow.document;this._writeBuff="";var r=this,i=e.write,o=function(){return d(this,i,u(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,u(arguments))};e.writeln=s,t.writeln=s;var a=e.open,h=function(){var t,e=r.proxyToObj(this);if(3===arguments.length){var i=r.rewriteUrl(arguments[0],!1,"mp_");t=a.call(e,i,arguments[1],arguments[2]),r.initNewWindowWombat(t,arguments[0])}else t=a.call(e),_()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=h,t.open=h;var w=e.close,c=function(){if(!r._writeBuff){var t=r.proxyToObj(this);return r.initNewWindowWombat(t.defaultView),w.__WB_orig_apply?w.__WB_orig_apply(t,arguments):w.apply(t,arguments)}if("loading"===this.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),_()){r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff);const t=this;try{if(t.documentElement){new r.$wbwindow.MutationObserver((e,i)=>{r.blobUrlForIframe(r.$wbwindow.frameElement,t.documentElement.outerHTML)}).observe(t.documentElement,{childList:!0,subtree:!0})}}catch(t){}}r._writeBuff=""};e.close=c,t.close=c;var p=this.getOrigGetter(t,"body"),l=this.getOrigSetter(t,"body");p&&l&&this.defProp(t,"body",function(t){return t&&(t instanceof HTMLBodyElement||t instanceof HTMLFrameSetElement)&&r.rewriteElemComplete(t),l.call(r.proxyToObj(this),t)},p)}function _(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function u(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;var o=r.proxyToObj(t);if("loading"===t.readyState&&i&&i.indexOf("\\x3c!--")>i.indexOf("--\\x3e"))return e.call(o,i);if(!(_()||"loading"===t.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);o=r.proxyToObj(t);var n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},v.prototype.initIframeWombat=function(t){var e;e=t._get_contentWindow?t._get_contentWindow.call(t):t.contentWindow;try{if(!e||e===this.$wbwindow||e._skip_wombat||e._wb_wombat)return}catch(t){return}var r=t.src;this.initNewWindowWombat(e,r)},v.prototype.initNewWindowWombat=function(t,e){var r=!1;if(t&&!t._wb_wombat){if(e&&""!==e&&!this.startsWithOneOf(e,["about:blank","javascript:"])||(r=!0),!r&&this.wb_info.isSW){var i=this.extractOriginalURL(e);("about:blank"===i||i.startsWith("srcdoc:")||i.startsWith("blob:"))&&(r=!0)}if(r){var o={};Object.assign(o,this.wb_info);var n=new v(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},v.prototype.initTimeoutIntervalOverrides=function(){var t=this.rewriteSetTimeoutInterval;if(this.$wbwindow.setTimeout&&!this.$wbwindow.setTimeout.__$wbpatched$__){var e=this.$wbwindow.setTimeout;this.$wbwindow.setTimeout=function(){return t(this,e,arguments)},this.$wbwindow.setTimeout.__$wbpatched$__=!0}if(this.$wbwindow.setInterval&&!this.$wbwindow.setInterval.__$wbpatched$__){var r=this.$wbwindow.setInterval;this.$wbwindow.setInterval=function(){return t(this,r,arguments)},this.$wbwindow.setInterval.__$wbpatched$__=!0}},v.prototype.initWorkerOverrides=function(){var t,e,r=this;if(this.$wbwindow.Worker&&!this.$wbwindow.Worker._wb_worker_overridden){var i=this.$wbwindow.Worker;this.$wbwindow.Worker=(t=i,function(e,i){return r.domConstructorErrorChecker(this,"Worker",arguments),new t(r.rewriteWorker(e,i),i)}),this.$wbwindow.Worker.prototype=i.prototype,Object.defineProperty(this.$wbwindow.Worker.prototype,"constructor",{value:this.$wbwindow.Worker}),this.$wbwindow.Worker._wb_worker_overridden=!0}if(this.$wbwindow.SharedWorker&&!this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden){var o=this.$wbwindow.SharedWorker;this.$wbwindow.SharedWorker=(e=o,function(t,i){return r.domConstructorErrorChecker(this,"SharedWorker",arguments),new e(r.rewriteWorker(t,i),i)}),this.$wbwindow.SharedWorker.prototype=o.prototype,Object.defineProperty(this.$wbwindow.SharedWorker.prototype,"constructor",{value:this.$wbwindow.SharedWorker}),this.$wbwindow.SharedWorker.__wb_sharedWorker_overridden=!0}if(this.$wbwindow.ServiceWorkerContainer&&this.$wbwindow.ServiceWorkerContainer.prototype&&this.$wbwindow.ServiceWorkerContainer.prototype.register){var n=this.$wbwindow.ServiceWorkerContainer.prototype.register;this.$wbwindow.ServiceWorkerContainer.prototype.register=function(t,e){var i=new r.URL(t,r.$wbwindow.document.baseURI).href,o=r.getPageUnderModifier();return e&&e.scope?e.scope=r.rewriteUrl(e.scope,!1,o):e={scope:r.rewriteUrl("/",!1,o)},n.call(this,r.rewriteUrl(i,!1,"sw_"),e)}}if(this.$wbwindow.Worklet&&this.$wbwindow.Worklet.prototype&&this.$wbwindow.Worklet.prototype.addModule&&!this.$wbwindow.Worklet.__wb_workerlet_overridden){var s=this.$wbwindow.Worklet.prototype.addModule;this.$wbwindow.Worklet.prototype.addModule=function(t,e){var i=r.rewriteUrl(t,!1,"js_");return s.call(this,i,e)},this.$wbwindow.Worklet.__wb_workerlet_overridden=!0}},v.prototype.initLocOverride=function(t,e,r){var i;if(Object.defineProperty)for(var o=0;o<this.URL_PROPS.length;o++)i=this.URL_PROPS[o],this.defProp(t,i,this.makeSetLocProp(i,e,r),this.makeGetLocProp(i,r),!0);i="maybeHref",this.defProp(t,i,this.makeSetLocProp(i,e,r),this.makeGetLocProp(i,r),!1)},v.prototype.initWombatLoc=function(t){if(!(!t||t.WB_wombat_location&&t.document.WB_wombat_location)){var e=new h(t.location,this),r=this;if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_location",function(e){var i=this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location;i&&(i.href=e),t.location=r.rewriteUrl(e)},function(){return this._WB_wombat_location||this.defaultView&&this.defaultView._WB_wombat_location||this.location}),this.initProtoPmOrigin(t),t._WB_wombat_location=e}else t.WB_wombat_location=e,setTimeout(this.checkAllLocations,500),setInterval(this.checkAllLocations,500)}},v.prototype.initProtoPmOrigin=function(t){if(!t.Object.prototype.__WB_pmw){var e=function(t){return this.__WB_source=t,this};try{t.Object.defineProperty(t.Object.prototype,"__WB_pmw",{get:function(){return e},set:function(){},configurable:!0,enumerable:!1})}catch(t){}t.__WB_check_loc=function(t,e){if(t instanceof Location||t instanceof h){if(e)for(var r=0;r<e.length;r++)if(t===e[r])return{};return this.WB_wombat_location}return{}}}},v.prototype.initCheckThisFunc=function(t){try{t.Object.prototype[this.WB_CHECK_THIS_FUNC]||t.Object.defineProperty(t.Object.prototype,this.WB_CHECK_THIS_FUNC,{configutable:!1,enumerable:!1,value:function(t){try{return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}catch(e){return t}}})}catch(t){}},v.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return r&&t?(t=>{for(const e of document.querySelectorAll(\'script[type="importmap"]\'))try{const r=JSON.parse(e.textContent);if(r.imports&&r.imports[t])return!0;if(r.scopes)for(const e of Object.keys(r.scopes))if(t.startsWith(e))return!0}catch(t){}return!1})(r)||(r=new e.URL(r,t).href):t&&void 0===r&&(r=t),import(e.rewriteUrl(r,!1,"esm_"))}},v.prototype.overrideGetOwnPropertyNames=function(t){var e=t.Object.getOwnPropertyNames,r=[this.WB_CHECK_THIS_FUNC,"WB_wombat_location","__WB_pmw","WB_wombat_top","WB_wombat_eval","WB_wombat_runEval"];try{t.Object.defineProperty(t.Object,"getOwnPropertyNames",{value:function(t){for(var i=e(t),o=0;o<r.length;o++){var n=i.indexOf(r[o]);n>=0&&i.splice(n,1)}return i}})}catch(t){console.log(t)}},v.prototype.initHashChange=function(){if(this.$wbwindow.__WB_top_frame){var t=this;this.$wbwindow.addEventListener("message",function(e){if(e.data&&e.data.from_top){var r=e.data.message;r.wb_type&&"outer_hashchange"===r.wb_type&&t.$wbwindow.location.hash!=r.hash&&(t.$wbwindow.location.hash=r.hash)}}),this.$wbwindow.addEventListener("hashchange",function(){var e={wb_type:"hashchange",hash:t.$wbwindow.location.hash};t.sendTopMessage(e)})}},v.prototype.initPostMessageOverride=function(t){if(t.postMessage&&!t.__orig_postMessage){var e=t.postMessage,r=this;t.__orig_postMessage=e;var i=function(i,o,n,s){var a,h,w,c=r.proxyToObj(this);if(c||((c=t).__WB_source=t),c.__WB_source&&c.__WB_source.WB_wombat_location){var p=c.__WB_source;if(a=p.WB_wombat_location.origin,c.__WB_win_id||(c.__WB_win_id={},c.__WB_counter=0),!p.__WB_id){var l=c.__WB_counter;p.__WB_id=l+p.WB_wombat_location.href,c.__WB_counter+=1}c.__WB_win_id[p.__WB_id]=p,h=p.__WB_id,c.__WB_source=void 0}else a=window.WB_wombat_location.origin;"object"==typeof o?(w=o.targetOrigin,n=o.transfer):w=o;var _=w;_===c.location.origin&&(_=a);var u={from:a,to_origin:_,src_id:h,message:i,from_top:s};if("*"!==w){if("null"===c.location.origin||""===c.location.origin)return;w=c.location.origin}return e.call(c,u,w,n)};t.postMessage=i,t.Window.prototype.postMessage=i;var o=null,n=(o=t.EventTarget&&t.EventTarget.prototype?t.EventTarget.prototype:t).addEventListener;o.addEventListener=function(t,e,i){var o,s=r.proxyToObj(this);if("message"===t?o=r.message_listeners.add_or_get(e,function(){return l(e,s,r)}):"storage"===t?r.storage_listeners.add_or_get(e,function(){return p(e,s)}):"online"===t||"offline"===t||(o=e),o)return n.call(s,t,o,i)};var s=o.removeEventListener;o.removeEventListener=function(t,e,i){var o,n=r.proxyToObj(this);if("message"===t?o=r.message_listeners.remove(e):"storage"===t?r.storage_listeners.remove(e):o=e,o)return s.call(n,t,o,i)};var a=function(e,i){var o=r.getOrigSetter(t,e);r.defProp(t,e,function(t){this["__orig_"+e]=t;var n=r.proxyToObj(this),s=t?i(t,n,r):t;return o.call(n,s)},function(){return this["__orig_"+e]})};a("onmessage",l),a("onstorage",p)}},v.prototype.initMessageEventOverride=function(t){t.MessageEvent&&!t.MessageEvent.prototype.__extended&&(this.addEventOverride("target"),this.addEventOverride("srcElement"),this.addEventOverride("currentTarget"),this.addEventOverride("eventPhase"),this.addEventOverride("path"),this.overridePropToProxy(t.MessageEvent.prototype,"source"),t.MessageEvent.prototype.__extended=!0)},v.prototype.initUIEventsOverrides=function(){this.overrideAnUIEvent("UIEvent"),this.overrideAnUIEvent("MouseEvent"),this.overrideAnUIEvent("TouchEvent"),this.overrideAnUIEvent("FocusEvent"),this.overrideAnUIEvent("KeyboardEvent"),this.overrideAnUIEvent("WheelEvent"),this.overrideAnUIEvent("InputEvent"),this.overrideAnUIEvent("CompositionEvent")},v.prototype.initOpenOverride=function(){var t=this.$wbwindow.open;this.$wbwindow.Window.prototype.open&&(t=this.$wbwindow.Window.prototype.open);var e=this,r=function(r,i,o){i=e.rewriteAttrTarget(i);var n=e.rewriteUrl(r,!1),s=t.call(e.proxyToObj(this),n,i,o);return e.initNewWindowWombat(s,r),e.objToProxy(s)};this.$wbwindow.open=r,this.$wbwindow.Window.prototype.open&&(this.$wbwindow.Window.prototype.open=r);for(var i=0;i<this.$wbwindow.frames.length;i++)try{this.$wbwindow.frames[i].open=r}catch(t){console.log(t)}},v.prototype.rewriteAttrTarget=function(t){return this.wb_info.target_frame?t&&"_blank"!==t&&"_parent"!==t&&"_top"!==t?t&&this.$wbwindow===this.$wbwindow.__WB_replay_top?this.wb_info.target_frame:t:this.wb_info.target_frame:t},v.prototype.initCookiesOverride=function(){var t=this.getOrigGetter(this.$wbwindow.document,"cookie"),e=this.getOrigSetter(this.$wbwindow.document,"cookie");t||(t=this.getOrigGetter(this.$wbwindow.Document.prototype,"cookie")),e||(e=this.getOrigSetter(this.$wbwindow.Document.prototype,"cookie"));var r=function(t,e){var r=new Date(e);return isNaN(r.getTime())?"Expires=Thu,| 01 Jan 1970 00:00:00 GMT":"Expires="+new Date(r.getTime()+Date.__WB_timediff).toUTCString().replace(",",",|")},i=this;this.defProp(this.$wbwindow.document,"cookie",function(t){if(t){for(var o=t.replace(i.cookie_expires_regex,r).split(i.SetCookieRe),n=0;n<o.length;n++)o[n]=i.rewriteCookie(o[n]);return e.call(i.proxyToObj(this),o.join(","))}},function(){return t.call(i.proxyToObj(this))})},v.prototype.initRegisterUnRegPHOverride=function(){var t=this,e=this.$wbwindow.navigator;if(e.registerProtocolHandler){var r=e.registerProtocolHandler;e.registerProtocolHandler=function(e,i,o){return r.call(this,e,t.rewriteUrl(i),o)}}if(e.unregisterProtocolHandler){var i=e.unregisterProtocolHandler;e.unregisterProtocolHandler=function(e,r){return i.call(this,e,t.rewriteUrl(r))}}},v.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.sendBeacon&&(this.$wbwindow.navigator.sendBeacon=function(){return!0}),Object.defineProperty(navigator,"onLine",{value:!0}),this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){}),this.$wbwindow.navigator.getInstalledRelatedApps&&(this.$wbwindow.navigator.getInstalledRelatedApps=function(){return Promise.resolve([])})},v.prototype.initPresentationRequestOverride=function(){if(this.$wbwindow.PresentationRequest&&this.$wbwindow.PresentationRequest.prototype){var t=this,e=this.$wbwindow.PresentationRequest;this.$wbwindow.PresentationRequest=(r=this.$wbwindow.PresentationRequest,function(e){t.domConstructorErrorChecker(this,"PresentationRequest",arguments);var i=e;if(null!=e)if(Array.isArray(i))for(var o=0;o<i.length;o++)i[o]=t.rewriteUrl(i[o],!0,"mp_");else i=t.rewriteUrl(e,!0,"mp_");return new r(i)}),this.$wbwindow.PresentationRequest.prototype=e.prototype,Object.defineProperty(this.$wbwindow.PresentationRequest.prototype,"constructor",{value:this.$wbwindow.PresentationRequest})}var r},v.prototype.initDisableNotificationsGeoLocation=function(){window.Notification&&(window.Notification.requestPermission=function(t){return t&&t("denied"),Promise.resolve("denied")});var t=function(t){t&&(t.getCurrentPosition&&(t.getCurrentPosition=function(t,e,r){e&&e({code:2,message:"not available"})}),t.watchPosition&&(t.watchPosition=function(t,e,r){e&&e({code:2,message:"not available"})}))};window.geolocation&&t(window.geolocation),window.navigator.geolocation&&t(window.navigator.geolocation)},v.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(this.wb_info.storage)}catch(t){console.warn("Error parsing storage, storages not loaded")}this.__sessionStorage=this.$wbwindow.sessionStorage,this.__localStorage=this.$wbwindow.localStorage,a(this,"localStorage",t.local),a(this,"sessionStorage",t.session),this.$wbwindow.Storage=s,i.yes=!0},v.prototype.initIndexedDBOverride=function(){if(this.$wbwindow.IDBFactory){var t=this.$wbwindow.IDBFactory.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t,i){return r.call(this,e+t,i)};var i=t.deleteDatabase;t.delete=function(t){return i.call(this,e+t,options)};var o=t.databases;t.databases=function(){var t=this;return new Promise(function(r,i){o.call(t).then(function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].name.indexOf(e)&&i.push({name:t[o].name.substring(e.length),version:t[o].version});r(i)}).catch(function(t){i(t)})})}}},v.prototype.initCachesOverride=function(){if(this.$wbwindow.Cache){var t=this.$wbwindow.Cache.prototype;t.match=function(){return Promise.resolve(void 0)},t.matchAll=function(){return Promise.resolve([])},t.add=function(){return Promise.resolve(void 0)},t.put=function(){return Promise.resolve(void 0)},t.delete=function(){return Promise.resolve(!1)},t.keys=function(){return Promise.resolve([])}}},v.prototype.initCacheStorageOverride=function(){if(this.$wbwindow.CacheStorage){this.$wbwindow.chrome&&(this.$wbwindow.chrome={});var t=this.$wbwindow.CacheStorage.prototype,e="wb-"+this.wb_orig_origin+"-",r=t.open;t.open=function(t){return r.call(this,e+t)};var i=t.has;t.has=function(t){return i.call(this,e+t)};var o=t.delete;t.delete=function(t){return o.call(this,e+t)};var n=t.keys;t.keys=function(){var t=this;return new Promise(function(r,i){n.call(t).then(function(t){for(var i=[],o=0;o<t.length;o++)0===t[o].indexOf(e)&&i.push(t[o].substring(e.length));r(i)}).catch(function(t){i(t)})})};t.match;t.match=function(t,e){var r=this;return this.keys().then(function(i){var o;return i.reduce(function(i,n){return i.then(function(){return o||r.open(n).then(function(r){return r.match(t,e)}).then(function(t){return o=t})})},Promise.resolve())})}}},v.prototype.initWindowObjProxy=function(t){if(t.Proxy){var e=this.getAllOwnProps(t),r={},i=this,o=new t.Proxy({},{get:function(o,n){switch(n){case"top":return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;case"parent":if(i.$wbwindow===i.$wbwindow.WB_wombat_top)return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy;try{var s=i.$wbwindow.parent._WB_wombat_obj_proxy;if(s)return s}catch(t){}return i.$wbwindow.WB_wombat_top._WB_wombat_obj_proxy}return i.defaultProxyGet(t,n,e,r)},set:function(e,r,i){switch(r){case"location":return t.WB_wombat_location=i,!0;case"postMessage":case"document":return!0}try{if(!Reflect.set(e,r,i))return!1}catch(t){}return Reflect.set(t,r,i)},has:function(e,r){return r in t},ownKeys:function(e){return Object.getOwnPropertyNames(t).concat(Object.getOwnPropertySymbols(t))},getOwnPropertyDescriptor:function(e,r){var i=Object.getOwnPropertyDescriptor(e,r);return i||(i=Object.getOwnPropertyDescriptor(t,r))&&(i.configurable=!0),i},getPrototypeOf:function(e){return Object.getPrototypeOf(t)},setPrototypeOf:function(t,e){return!1},isExtensible:function(e){return Object.isExtensible(t)},preventExtensions:function(e){return Object.preventExtensions(t),!0},deleteProperty:function(e,r){var i=Object.getOwnPropertyDescriptor(t,r);return void 0===i||!1!==i.configurable&&(delete e[r],delete t[r],!0)},defineProperty:function(e,r,i){var o=i||{};return o.hasOwnProperty("value")||o.hasOwnProperty("get")||o.hasOwnProperty("set")||(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},v.prototype.initDocumentObjProxy=function(t){if(this.initDocOverrides(t),this.$wbwindow.Proxy){var e={},r=this.getAllOwnProps(t),i=this,o=new this.$wbwindow.Proxy(t,{get:function(o,n){return i.defaultProxyGet(t,n,r,e)},set:function(e,r,i){return"location"===r?(t.WB_wombat_location=i,!0):Reflect.set(e,r,i)}});return t._WB_wombat_obj_proxy=o,o}},v.prototype.initAutoFetchWorker=function(){if(this.wbUseAFWorker){var t=new w(this,{isTop:this.$wbwindow===this.$wbwindow.__WB_replay_top,workerURL:(this.wb_info.auto_fetch_worker_prefix||this.wb_info.static_prefix)+"autoFetchWorker.js?init="+encodeURIComponent(JSON.stringify({mod:this.wb_info.mod,prefix:this.wb_abs_prefix,rwRe:this.wb_unrewrite_rx.source}))});this.WBAutoFetchWorker=t,this.$wbwindow.$WBAutoFetchWorker$=t;var e=this;this.utilFns.wbSheetMediaQChecker=function(){e._removeEventListener(this,"load",e.utilFns.wbSheetMediaQChecker),null!=this.sheet&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.deferredSheetExtraction(this.sheet)}}},v.prototype.initTopFrameNotify=function(t){var e=this,r=function(r){if(e.$wbwindow.__WB_top_frame){if(e.$wbwindow.WB_wombat_location){var i=e.$wbwindow.WB_wombat_location.href;if("string"==typeof i&&"about:blank"!==i&&0!==i.indexOf("javascript:")&&("complete"===e.$wbwindow.document.readyState&&e.wbUseAFWorker&&e.WBAutoFetchWorker&&e.WBAutoFetchWorker.extractFromLocalDoc(),e.$wbwindow===e.$wbwindow.__WB_replay_top)){for(var o=[],n=e.$wbwindow.document.querySelectorAll("link[rel*=\'icon\']"),s=0;s<n.length;s++){var a=n[s];o.push({rel:a.rel,href:e.wb_getAttribute.call(a,"href")})}o.push({rel:"icon",href:e.rewriteUrl("/favicon.ico")});var h={icons:o,url:e.$wbwindow.WB_wombat_location.href,ts:e.wb_info.timestamp,request_ts:e.wb_info.request_ts,is_live:e.wb_info.is_live,title:e.$wbwindow.document?e.$wbwindow.document.title:"",readyState:e.$wbwindow.document.readyState,wb_type:"load"};e.sendTopMessage(h)}}}else{var w=e.$wbwindow.location.hash;e.$wbwindow.location.replace(t.top_url+w)}};"complete"===this.$wbwindow.document.readyState?r():this.$wbwindow.addEventListener?this.$wbwindow.document.addEventListener("readystatechange",r):this.$wbwindow.attachEvent&&this.$wbwindow.document.attachEvent("onreadystatechange",r)},v.prototype.initTopFrame=function(t){if(this.wb_is_proxy)return t.__WB_replay_top=t.top,t.__WB_top_frame=void 0,this.replayTopHost=r.location.host,void(this.replayTopProtocol=r.location.protocol);for(var e=function(t){try{return!!t&&(t.wbinfo?t.wbinfo.is_framed:null!=t._wb_wombat)}catch(t){return!1}},r=t;r.parent!=r&&e(r.parent);)r=r.parent;t.__WB_replay_top=r,this.replayTopHost=r.location.host,this.replayTopProtocol=r.location.protocol;var i=r.parent;if(i!=t&&this.wb_info.is_framed||(i=void 0),i?(t.__WB_top_frame=i,this.initFrameElementOverride(t)):t.__WB_top_frame=void 0,!this.wb_opts.embedded&&r==t&&this.wbUseAFWorker){var o=this;this.$wbwindow.addEventListener("message",function(t){t.data&&"aaworker"===t.data.wb_type&&o.WBAutoFetchWorker&&o.WBAutoFetchWorker.postMessage(t.data.msg)},!1)}},v.prototype.initFrameElementOverride=function(t){if(Object.defineProperty&&this.proxyToObj(t.__WB_replay_top)==this.proxyToObj(t))try{Object.defineProperty(t,"frameElement",{value:null,configurable:!1})}catch(t){}},v.prototype.initWombatTop=function(t){if(Object.defineProperty){this.defProp(t.Object.prototype,"WB_wombat_top",function(t){this.top=t},function(){return this.__WB_replay_top?this.__WB_replay_top:(t=this,(void 0===window.constructor?t instanceof window.constructor:t.window==t)?this:this.top);var t})}},v.prototype.initEvalOverride=function(){var t=this.rewriteEvalArg,e=function(){};this.wrappedEval=function(e){return function(r){return t(e,r)}};var r=this,i=function(e){var r=this;return r&&r.eval&&r.eval!==eval?{eval:function(){return r.eval.__WB_orig_apply(r,arguments)}}:{eval:function(r){return t(e,r)}}},o=function(e){var i=this;return i&&i.eval&&i.eval!==eval?{eval:function(){return i.eval.__WB_orig_apply(i,[].slice.call(arguments,2))}}:{eval:function(i,o,n){var s=i===r.proxyToObj(r.$wbwindow);try{s=s&&!o.callee.caller}catch(t){s=!1}return t(e,n,s)}}};this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval",e,function(){return i}),this.defProp(this.$wbwindow.Object.prototype,"WB_wombat_runEval2",e,function(){return o})},v.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(this.$wbwindow),this.overrideFunctionCall(this.$wbwindow),this.overrideFunctionBind(this.$wbwindow),this.initDocTitleOverride(),this.initHashChange(),this.wb_opts.skip_postmessage||(this.initPostMessageOverride(this.$wbwindow),this.initMessageEventOverride(this.$wbwindow)),this.initCheckThisFunc(this.$wbwindow),this.initImportWrapperFunc(this.$wbwindow),this.overrideGetOwnPropertyNames(this.$wbwindow),this.initUIEventsOverrides(),this.initDocWriteOpenCloseOverride(),this.initEvalOverride(),this.initHTTPOverrides(),this.initAudioOverride(),this.initFontFaceOverride(this.$wbwindow),this.initWorkerOverrides(),this.initTextNodeOverrides(),this.initCSSOMOverrides(),this.overrideHtmlAssign(this.$wbwindow.Element,"innerHTML",!0),this.overrideHtmlAssign(this.$wbwindow.Element,"outerHTML",!0),this.overrideHtmlAssignSrcDoc(this.$wbwindow.HTMLIFrameElement,"srcdoc",!0),this.overrideHtmlAssign(this.$wbwindow.HTMLStyleElement,"textContent"),this.overrideShadowDom(),this.overridePropExtract(this.$wbwindow.Document.prototype,"URL"),this.overridePropExtract(this.$wbwindow.Document.prototype,"documentURI"),this.overridePropExtract(this.$wbwindow.Node.prototype,"baseURI"),this.overrideAttrProps(),this.overrideDataSet(),this.initInsertAdjacentElementHTMLOverrides(),this.overrideIframeContentAccess("contentWindow"),this.overrideIframeContentAccess("contentDocument"),this.initIntersectionObsOverride(),this.overrideFuncArgProxyToObj(this.$wbwindow.MutationObserver,"observe"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"compareDocumentPosition"),this.overrideFuncArgProxyToObj(this.$wbwindow.Node,"contains"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"createTreeWalker"),this.overrideFuncArgProxyToObj(this.$wbwindow.Document,"evaluate",1),this.overrideFuncArgProxyToObj(this.$wbwindow.XSLTProcessor,"transformToFragment",1),this.overrideFuncThisProxyToObj(this.$wbwindow,"getComputedStyle",this.$wbwindow),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearTimeout"),this.overrideFuncThisProxyToObj(this.$wbwindow,"clearInterval"),this.overrideFuncThisProxyToObj(this.$wbwindow.EventTarget.prototype,"dispatchEvent"),this.overrideDeProxyPropAssign(this.$wbwindow.TreeWalker.prototype,"currentNode"),this.initTimeoutIntervalOverrides(),this.initQuerySelectorOverride(),this.overrideSWAccess(this.$wbwindow),this.initElementGetSetAttributeOverride(),this.initSvgImageOverrides(),this.initAttrOverrides(),this.initCookiesOverride(),this.initCreateElementNSFix(),this.wb_opts.skip_dom||this.initDomOverride(),this.initRegisterUnRegPHOverride(),this.initPresentationRequestOverride(),this.initMiscNavigatorOverrides(),this.initSeededRandom(this.wb_info.wombat_sec),this.initCryptoRandom(),this.initFixedRatio(this.wb_info.pixel_ratio||1),this.initDateOverride(this.wb_info.wombat_sec),this.initBlobOverride(),this.initWSOverride(),this.initOpenOverride(),this.initDisableNotificationsGeoLocation(),this.initStorageOverride(),this.initCacheStorageOverride(),this.initCachesOverride(),this.initIndexedDBOverride(),this.initWindowObjProxy(this.$wbwindow),this.initDocumentObjProxy(this.$wbwindow.document);var t=this;return{extract_orig:this.extractOriginalURL,rewrite_url:this.rewriteUrl,watch_elem:this.watchElem,init_new_window_wombat:this.initNewWindowWombat,init_paths:this.initPaths,local_init:function(e){var r=t.$wbwindow._WB_wombat_obj_proxy[e];return"document"===e&&r&&!r._WB_wombat_obj_proxy&&t.initDocumentObjProxy(r)||r},showCSPViolations:function(e){t._addRemoveCSPViolationListener(e)}}};const m=v;window._WBWombat=m,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new m(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:'(()=>{function e(t){if(!(this instanceof e))return new e(t);this.info=t,this.prefixMod=this.info.prefix+this.info.mod+"/",this.initImportScriptsRewrite(),this.initHTTPOverrides(),this.initClientApisOverride(),this.initCacheApisOverride(),this.initSelfOverrides()}e.prototype.noRewrite=function(e){return!e||0===e.indexOf("blob:")||0===e.indexOf("javascript:")||0===e.indexOf("data:")||0===e.indexOf(this.info.prefix)},e.prototype.isRelURL=function(e){return 0===e.indexOf("/")||!e.startsWith("http:")&&!e.startsWith("https:")},e.prototype.maybeResolveURL=function(e,t){if(!t)return e;try{return new URL(e,t).href}catch(e){}return e},e.prototype.ensureURL=function(e,t){if(!e)return e;var r;switch(typeof e){case"string":r=e;break;case"object":r=e.toString();break;default:return null}return this.noRewrite(r)?null:this.isRelURL(r)?this.maybeResolveURL(r,t):0===r.indexOf(self.location.origin)?this.maybeResolveURL(r.slice(self.location.origin.length),t):r},e.prototype.rewriteURL=function(e){var t=this.ensureURL(e,this.info.originalURL);return t?this.prefixMod?this.prefixMod+t:t:e},e.prototype.extractOriginalURL=function(e){return e&&e.startsWith(this.prefixMod)?e.slice(this.prefixMod.length):e},e.prototype.rewriteClientWindowURL=function(e,t){var r=this.ensureURL(e,t?t.url:this.info.originalURL);return r?this.info.prefix?this.info.prefix+"mp_/"+r:r:e},e.prototype.rewriteWSURL=function(e){if(!e)return e;var t=typeof e,r=e;if("object"===t)r=e.toString();else if("string"!==t)return e;if(!r)return r;var i="https://",o=0===this.info.prefix.indexOf(i);return this.info.prefix.replace(o?i:"http://",o?"wss://":"ws://")+"ws_/"+r},e.prototype.rewriteArgs=function(e){for(var t=new Array(e.length),r=0;r<t.length;r++)t[r]=this.rewriteURL(e[r]);return t},e.prototype.rewriteFetchApi=function(e){var t=e;switch(typeof e){case"string":t=this.rewriteURL(e);break;case"object":if(e.url){var r=this.rewriteURL(e.url);r!==e.url&&(t=new Request(r,e))}else e.href&&(t=this.rewriteURL(e.href))}return t},e.prototype.rewriteCacheApi=function(e){var t=e;return"string"==typeof e&&(t=this.rewriteURL(e)),t},e.prototype.initImportScriptsRewrite=function(){if(self.importScripts){var e=this,t=self.importScripts;self.importScripts=function(){var r=e.rewriteArgs(arguments);return t.apply(this,r)}}},e.prototype.initSelfOverrides=function(){var e=this;self._WB_wombat_location=new Proxy(self.location,{get:(t,r,i)=>"href"===r?e.extractOriginalURL(t[r]):t[r]}),self.____wb_rewrite_import__=function(t,r){return r&&t?r=new URL(r,t).href:t&&void 0===r&&(r=t),import(e.rewriteURL(r))};var t=function(e){return this.__WB_source=e,this};try{self.Object.defineProperty(self.Object.prototype,"__WB_pmw",{get:function(){return t},set:function(){},configurable:!0,enumerable:!1})}catch(e){}self.Object.defineProperty(self.Object.prototype,"_____WB$wombat$check$this$function_____",{configutable:!1,enumerable:!1,value:function(e){try{return e&&e._WB_wombat_obj_proxy?e._WB_wombat_obj_proxy:e}catch(t){return e}}})},e.prototype.initHTTPOverrides=function(){var e,t,r,i=this;if(self.XMLHttpRequest&&self.XMLHttpRequest.prototype&&self.XMLHttpRequest.prototype.open){var o=self.XMLHttpRequest.prototype.open;self.XMLHttpRequest.prototype.open=function(e,t,r,n,s){var p=i.rewriteURL(t),f=!0;null==r||r||(f=!1),o.call(this,e,p,f,n,s),-1===p.indexOf("data:")&&this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(null!=self.fetch){var n=self.fetch;self.fetch=function(e,t){var r=i.rewriteFetchApi(e),o=t||{};return o.credentials="include",n.call(this,r,o)}}if(self.Request&&self.Request.prototype){var s=self.Request;self.Request=(e=self.Request,function(t,r){var o=r||{},n=i.rewriteFetchApi(t);return o.credentials="include",new e(n,o)}),self.Request.prototype=s.prototype}if(self.Response&&self.Response.prototype){var p=self.Response.prototype.redirect;self.Response.prototype.redirect=function(e,t){var r=i.rewriteURL(e);return p.call(this,r,t)}}if(self.EventSource&&self.EventSource.prototype){var f=self.EventSource;self.EventSource=(t=self.EventSource,function(e,r){var o=e;return null!=e&&(o=i.rewriteURL(e)),new t(o,r)}),self.EventSource.prototype=f.prototype,Object.defineProperty(self.EventSource.prototype,"constructor",{value:self.EventSource})}if(self.WebSocket&&self.WebSocket.prototype){var l=self.WebSocket;self.WebSocket=(r=self.WebSocket,function(e,t){var o=e;return null!=e&&(o=i.rewriteWSURL(e)),new r(o,t)}),self.WebSocket.prototype=l.prototype,Object.defineProperty(self.WebSocket.prototype,"constructor",{value:self.WebSocket})}},e.prototype.initClientApisOverride=function(){var e=this;if(self.Clients&&self.Clients.prototype&&self.Clients.prototype.openWindow){var t=self.Clients.prototype.openWindow;self.Clients.prototype.openWindow=function(r){var i=e.rewriteClientWindowURL(r);return t.call(this,i)}}if(self.WindowClient&&self.WindowClient.prototype&&self.WindowClient.prototype.navigate){var r=self.WindowClient.prototype.navigate;self.WindowClient.prototype.navigate=function(t){var i=e.rewriteClientWindowURL(t,this);return r.call(this,i)}}},e.prototype.initCacheApisOverride=function(){var e=this;if(self.CacheStorage&&self.CacheStorage.prototype&&self.CacheStorage.prototype.match){var t=self.CacheStorage.prototype.match;self.CacheStorage.prototype.match=function(r,i){var o=e.rewriteCacheApi(r);return t.call(this,o,i)}}if(self.Cache&&self.Cache.prototype){if(self.Cache.prototype.match){var r=self.Cache.prototype.match;self.Cache.prototype.match=function(t,i){var o=e.rewriteCacheApi(t);return r.call(this,o,i)}}if(self.Cache.prototype.matchAll){var i=self.Cache.prototype.matchAll;self.Cache.prototype.matchAll=function(t,r){var o=e.rewriteCacheApi(t);return i.call(this,o,r)}}if(self.Cache.prototype.add){var o=self.Cache.prototype.add;self.Cache.prototype.add=function(t,r){var i=e.rewriteCacheApi(t);return o.call(this,i,r)}}if(self.Cache.prototype.addAll){var n=self.Cache.prototype.addAll;self.Cache.prototype.addAll=function(t){var r=t;if(Array.isArray(t)){r=new Array(t.length);for(var i=0;i<t.length;i++)r[i]=e.rewriteCacheApi(t[i])}return n.call(this,r)}}if(self.Cache.prototype.put){var s=self.Cache.prototype.put;self.Cache.prototype.put=function(t,r){var i=e.rewriteCacheApi(t);return s.call(this,i,r)}}if(self.Cache.prototype.delete){var p=self.Cache.prototype.delete;self.Cache.prototype.delete=function(t,r){var i=e.rewriteCacheApi(t);return p.call(this,i,r)}}if(self.Cache.prototype.keys){var f=self.Cache.prototype.keys;self.Cache.prototype.keys=function(t,r){var i=e.rewriteCacheApi(t);return f.call(this,i,r)}}}},self.WBWombat=e})();'}),this.staticData.set(this.staticPrefix+"wombatProxy.js",{type:"application/javascript",content:'(()=>{"use strict";new class{proxyOrigin;localOrigin;proxyTLD;localTLD;localScheme;proxyScheme;httpToHttpsNeeded;prefix;relPrefix="";schemeRelPrefix="";constructor(){this.openOverride(),this.domOverride(),this.overrideInsertAdjacentHTML();const t=self.__wbinfo;if(this.initDateOverride(t.seconds),this.initAnchorElemOverride(),this.overrideSWAccess(),this.proxyOrigin=t.proxyOrigin,this.localOrigin=t.localOrigin,this.proxyTLD=t.proxyTLD,this.localTLD=t.localTLD,this.localScheme=new URL(this.localOrigin).protocol,this.proxyScheme=new URL(this.proxyOrigin).protocol,this.httpToHttpsNeeded="http:"===this.proxyScheme&&"https:"===this.localScheme,this.prefix=t.prefix||"",this.prefix){const t=new URL(this.prefix);this.relPrefix=t.pathname,this.schemeRelPrefix=this.prefix.slice(t.protocol.length)}t.presetCookie&&this.initPresetCookie(t.presetCookie)}initPresetCookie(t){const e=t.split(";");for(const t of e)document.cookie=t.trim()}recurseRewriteElem(t){if(!t.hasChildNodes())return;const e=[t.childNodes];for(;e.length>0;){const r=e.shift();for(const i of r||[])if(i.nodeType===Node.ELEMENT_NODE){const r=i;this.rewriteElem(r),t.hasChildNodes()&&e.push(r.childNodes)}}}rewriteElem(t){switch(t.tagName){case"IFRAME":{const e=t.getAttribute("src");if(e){const r=this.fullRewriteUrl(e);e!==r&&t.setAttribute("src",r)}}break;case"A":{const e=t.getAttribute("href");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("href",r)}}break;case"SCRIPT":if(this.httpToHttpsNeeded){const e=t.getAttribute("src");if(e){const r=this.rewriteUrl(e);e!==r&&t.setAttribute("src",r)}}}}domOverride(){const t=t=>{switch(t.nodeType){case Node.ELEMENT_NODE:this.rewriteElem(t);break;case Node.DOCUMENT_FRAGMENT_NODE:this.recurseRewriteElem(t)}},e=(e,r,i,o)=>(t(i),r.call(e,i,o)),r=(e,r,i)=>{for(const e of i)t(e);return r.call(e,...i)},i=Node.prototype.appendChild;Node.prototype.appendChild=function(t){return e(this,i,t)};const o=Node.prototype.insertBefore;Node.prototype.insertBefore=function(t,r){return e(this,o,t,r)};const n=Node.prototype.replaceChild;Node.prototype.replaceChild=function(t,r){return e(this,n,t,r)};const s=DocumentFragment.prototype.append;DocumentFragment.prototype.append=function(...t){return r(this,s,t)};const c=DocumentFragment.prototype.prepend;DocumentFragment.prototype.prepend=function(...t){return r(this,c,t)}}openOverride(){let t=window.open;Window.prototype.open&&(t=Window.prototype.open);const e=this;function r(r,i,o){const n=r?e.rewriteUrl(r.toString()):"";return t.call(this,n,i,o)}window.open=r,Window.prototype.open&&(Window.prototype.open=r);for(let t=0;t<window.frames.length;t++)try{window.frames[t].open=r}catch(t){console.log(t)}}overrideInsertAdjacentHTML(){const t=HTMLElement.prototype.insertAdjacentHTML,e=this;HTMLElement.prototype.insertAdjacentHTML=function(r,i){return i=e.rewriteRxHtml(i),t.call(this,r,i)}}rewriteRxHtml(t){return t.replace(/<\\s*(a|iframe)\\s+(?:src|href)[=][\'"](.*?)[\'"]/gi,(t,e,r)=>{let i="";switch(e){case"a":i=this.rewriteUrl(r);break;case"iframe":i=this.fullRewriteUrl(r)}return i&&i!==t?t.replace(r,i):t})}convUrl(t,e,r,i,o,n,s,c,l=!1){if(e&&t.startsWith(e))return r+t.slice(e.length);if(i&&o&&t.indexOf(i)>0){const e=new URL(t);if(e.host.endsWith(i)){let t=e.host.slice(0,-i.length);n&&s&&(t=t.replace(n,s));return c+"//"+t+o+e.href.slice(e.origin.length)}}return l?t.replace("http:","https:"):t}rewriteUrl(t){return this.convUrl(t,this.proxyOrigin,this.localOrigin,this.proxyTLD,this.localTLD,".","-",this.localScheme,this.httpToHttpsNeeded)}unrewriteUrl(t){return this.convUrl(t,this.localOrigin,this.proxyOrigin,this.localTLD,this.proxyTLD,"-",".",this.proxyScheme)}fullRewriteUrl(t,e="if_"){const r=t;return this.proxyOrigin&&t.startsWith(this.proxyOrigin)?this.localOrigin+t.slice(this.proxyOrigin.length):!(t=t.trim())||!this.isRewritableUrl(t)||t.startsWith(this.prefix)||t.startsWith(this.relPrefix)?r:t.startsWith("http:")||t.startsWith("https:")||t.startsWith("https\\\\3a/")?this.prefix+e+"/"+t:t.startsWith("//")||t.startsWith("\\\\/\\\\/")?this.schemeRelPrefix+e+"/"+t:r}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(const r of e)if(t.startsWith(r))return!1;return!0}initAnchorElemOverride(){const t=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,"href");if(!t?.get)return;const e=this,r=t.get,i=t=>{const i=Object.getOwnPropertyDescriptor(HTMLAnchorElement.prototype,t);if(!i?.set)return;const o=i.set;Object.defineProperty(HTMLAnchorElement.prototype,t,{set(r){const i=new URL(e.rewriteUrl(r));return o.call(this,i[t])},get(){return new URL(e.unrewriteUrl(r.call(this)))[t]}})};i("href"),i("hostname"),i("host"),i("protocol"),i("origin")}initDateOverride(t){if(self.__wb_Date_now)return;const e=1e3*parseInt(t),r=Date.now()-(e-0),i=Date,o=Date.UTC,n=Date.parse,s=Date.now;var c;self.__wb_Date_now=s,window.Date=(c=Date,function(t,e,i,o,n,l,p){return void 0===t?new c(s()-r):void 0===e?new c(t):void 0===i?new c(t,e):void 0===o?new c(t,e,i):void 0===n?new c(t,e,i,o):void 0===l?new c(t,e,i,o,n):void 0===p?new c(t,e,i,o,n,l):new c(t,e,i,o,n,l,p)}),Date.prototype=i.prototype,Date.now=function(){return s()-r},Date.UTC=o,Date.parse=n,Date.__WB_timediff=r,Date.prototype.getTimezoneOffset=function(){return 0};const l=Date.prototype.toString;Date.prototype.toString=function(){return l.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"};const p=Date.prototype.toTimeString;Date.prototype.toTimeString=function(){return p.call(this).split(" GMT")[0]+" GMT+0000 (GMT)"},Object.defineProperty(Date.prototype,"constructor",{value:Date})}overrideSWAccess(){self.__WB_wombat_sw=window.navigator.serviceWorker;const t={controller:null,ready:Promise.resolve({unregister:function(){}}),register:async()=>Promise.reject(),addEventListener:function(){},removeEventListener:function(){},onmessage:null,oncontrollerchange:null,getRegistrations:async()=>Promise.resolve([]),getRegistration:async()=>Promise.resolve(void 0),startMessages:function(){}};Object.defineProperty(window.navigator,"serviceWorker",{get:()=>t})}}})();'}),n.has("serveIndex")){const t={type:"text/html",content:this.getIndexHtml(n)};this.staticData.set(this.prefix,t),this.staticData.set(this.prefix+"index.html",t)}if(n.has("injectScripts")){const t=n.get("injectScripts").split(",");r.injectScripts=r.injectScripts?[...t,...r.injectScripts]:t}r.injectScripts&&P(r.injectScripts),n.has("allowProxyPaths")&&P(n.get("allowProxyPaths").split(",")),n.has("adblockUrl")&&(r.adblockUrl=n.get("adblockUrl")||""),"1"===n.get("useHashCheck")&&(Ra=!0);const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix,proxy:this.proxyPrefix,api:this.apiPrefix};this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.api=new e(this.collections),this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new Xb:null,self.addEventListener("install",()=>{self.skipWaiting()}),self.addEventListener("activate",t=>{t.waitUntil(self.clients.claim()),console.log("Activate!")}),self.addEventListener("fetch",t=>{t.respondWith(this.handleFetch(t))}),self.addEventListener("message",t=>{"reload_all"===t.data.msg_type&&t.waitUntil(this.collections.loadAll())})}getIndexHtml(t){const e=t.get("indexScript")||"./ui.js",r=t.get("indexAppTag")||"replay-app-main";return`\n <!doctype html>\n <html>\n <head><script src="${e}"><\/script></head>\n <body>\n <${r}></${r}>\n </body></html>`}isFromReplay(t){return t.url.startsWith(this.replayPrefix)||t.referrer.startsWith(this.replayPrefix)}async handleFetch(t){const e=t.request,r=e.url;if(this.proxyOriginMode){if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}else{if(!r.startsWith(this.prefix))return"chrome-extension://invalid/"===r?hs(e,"Invalid URL"):this.isFromReplay(e)?hs(e):this.defaultFetch(e);if(this.collections.root&&r.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(e);if(r.startsWith(this.proxyPrefix))return this.staticPathProxy(r,e);if(r.startsWith(this.replayPrefix)&&!r.startsWith(this.staticPrefix))return this.getResponseFor(e,t)}const i=new URL(r);i.search="",i.hash="";const n=i.href;for(const t of this.staticData.keys())if(t===n){const{content:r,type:i}=this.staticData.get(t),n=new Headers({"Content-Type":i});return this.isFromReplay(e)&&n.set("Content-Security-Policy",u()),new Response(r,{headers:n})}if(!this.topFramePassthrough&&!r.startsWith(this.staticPrefix)&&e.referrer.startsWith(this.replayPrefix)){const t=function(t,e){const r=e.indexOf("/http");if(r<0)return null;const i=new URL(t).origin,n=t.slice(i.length),s=e.slice(r+1),o=new URL(n,s);return e.slice(0,r+1)+o.href}(r,e.referrer);return t?Response.redirect(t):hs(e)}return("http:"==i.protocol||"https:"==i.protocol)&&i.pathname.indexOf("/",1)<0?this.wrapCSPForFrame(await this.handleOffline(e),e):this.wrapCSPForFrame(await this.defaultFetch(e),e)}async staticPathProxy(t,e){t=t.slice(this.proxyPrefix.length);t=new URL(t,self.location.href).href;let r=!1;for(const e of D)if(t.startsWith(e)){r=!0;break}if(!r)return hs(e);const{method:i}=e,n="GET"!==i?await e.arrayBuffer():null,s={cache:"no-store",headers:e.headers,method:i,..."GET"!==i&&{body:n}},o=await this.defaultFetch(t,s);return this.wrapCSPForFrame(o,e)}async wrapCSPForFrame(t,e){if(!e.destination.endsWith("frame"))return t;const{status:r,statusText:i}=t,n=new Headers(t.headers);return n.set("Content-Security-Policy",u()),new Response(t.body,{status:r,statusText:i,headers:n})}async defaultFetch(t,e={}){return e.cache||"string"==typeof t||t instanceof URL||"only-if-cached"!==t.cache||"same-origin"===t.mode||(e.cache="default"),self.fetch(t,e)}async ensureCached(t){const e=await caches.open("wabac-offline");for(let r of t){r=new URL(r,self.location.href).href;let t=await e.match(r,{ignoreSearch:!0});if(!t)try{t=await this.defaultFetch(new Request(r)),await e.put(r,t)}catch(t){console.warn(`Failed to Auto Cache: ${r}`,t)}}}async handleOffline(t){let e=null;const r=await caches.open("wabac-offline");try{e=await this.defaultFetch(t)}catch(i){return e=await r.match(t,{ignoreSearch:!0}),e||(e=hs(t,"Sorry, this url was not cached for offline use")),e}if(t.url.startsWith(this.prefix+"?"))return e;if(200===e.status){const i=e.clone();await r.put(t,i)}else console.warn(`Not Cacheing ${t.url} - Status ${e.status}`);return e}async getResponseFor(t,e){if(t.url.startsWith(this.apiPrefix))return this.stats&&t.url.startsWith(this.apiPrefix+"stats.json")?await this.stats.getStats(e):await this.api.apiResponse(t.url.slice(this.apiPrefix.length),t,e);await this.collections.inited;const r=I(t),i=t.headers.get("range");try{if(this.allowRewrittenCache&&!i){const e=await self.caches.match(t);if(e&&!!e.headers.get(bv)===r)return e}}catch(t){}let n=this.collections.root;n||(n=t.url.slice(this.replayPrefix.length).split("/",1)[0]);const s=await this.collections.getColl(n);if(!s&&(this.proxyOriginMode||this.topFramePassthrough))return this.defaultFetch(t);if(!s)return hs(t);if(!this.collections.root&&!this.proxyOriginMode&&!t.url.startsWith(s.prefix))return hs(t);let o,a=!1;t.url.startsWith(s.prefix)||!this.proxyOriginMode?(o=t.url.substring(s.prefix.length),a=!0):o=t.url;const c={isRoot:!!this.collections.root,defaultReplayMode:a};this.proxyOriginMode&&!a&&(c.mod="id_",c.proxyOrigin=s.config.extraConfig?.proxyOrigin,c.proxyTLD=s.config.extraConfig?.proxyTLD,c.localTLD=s.config.extraConfig?.localTLD,c.ts=s.config.extraConfig?.proxyTs||"",c.localOrigin=self.location.origin);const l=new wv(o,t,c);if(this.topFramePassthrough&&(!l.url||!l.mod))return this.defaultFetch(t);if(!l.url)return hs(t,`Replay URL ${o} not found`);const h=await s.handleRequest(l,e);if(h){if(this.stats&&this.stats.updateStats(h,h.status,t,e),this.allowRewrittenCache&&200===h.status)try{const e=await self.caches.open("wabac-"+s.name);r&&h.headers.set(bv,"true");const i=h.clone();await e.put(t,i)}catch(t){console.warn(t)}return h}return i&&console.log("Not Found Range!: "+i),hs(t)}}self.registration?(self.sw=new Ev,console.log("sw init")):self.postMessage&&(new qb(self),console.log("ww init"));
proxy/src/client-metadata.json proxy/public/client-metadata.json
proxy/src/index.html proxy/public/index.html
proxy/src/loadwabac.js proxy/public/loadwabac.js
+13 -13
proxy/src/main.ts
··· 10 10 // Note: Use 127.0.0.1 for local dev (RFC 8252 requires loopback IP for OAuth) 11 11 function getShellOrigin(): string { 12 12 try { 13 - // Try to get the parent origin - this works if we're same-origin or have access 13 + // Content iframe is same-origin with shell via wabac.js service worker, 14 + // so we can directly access parent.location.origin 14 15 if (window.parent !== window) { 15 - // We can't directly access parent.location.origin cross-origin, 16 - // but we can use document.referrer as a hint 17 - if (document.referrer) { 18 - const referrerOrigin = new URL(document.referrer).origin; 19 - // Validate it's an allowed origin using shared constants 20 - if (isAllowedOrigin(referrerOrigin)) { 21 - return referrerOrigin; 22 - } 23 - } 16 + return window.parent.location.origin; 24 17 } 25 18 } catch { 26 - // Ignore errors from cross-origin access 19 + // Fallback for cross-origin scenarios (shouldn't happen with wabac.js) 20 + // Use document.referrer as a hint 21 + if (document.referrer) { 22 + const referrerOrigin = new URL(document.referrer).origin; 23 + if (isAllowedOrigin(referrerOrigin)) { 24 + return referrerOrigin; 25 + } 26 + } 27 27 } 28 - // Default to production origin 29 - return 'https://sure.seams.so'; 28 + // Last resort: use own origin (same-origin iframe scenario) 29 + return window.location.origin; 30 30 } 31 31 32 32 const shellOrigin = getShellOrigin();
proxy/src/styles.css proxy/public/styles.css
-53
scripts/postbuild-proxy.sh
··· 1 - #!/bin/bash 2 - # Post-build script for proxy 3 - # 1. Flattens nested HTML output from vite 4 - # 2. Copies source files (index.html, loadwabac.js, client-metadata.json) 5 - 6 - set -e # Exit on any error 7 - 8 - OUT_DIR="proxy/dist" 9 - SRC_DIR="proxy/src" 10 - NESTED_DIR="$OUT_DIR/proxy/html" 11 - 12 - # Verify output directory exists 13 - if [ ! -d "$OUT_DIR" ]; then 14 - echo "ERROR: Output directory $OUT_DIR does not exist" 15 - exit 1 16 - fi 17 - 18 - # Move HTML files from nested vite output to root 19 - if [ -d "$NESTED_DIR" ]; then 20 - mv "$NESTED_DIR"/*.html "$OUT_DIR/" || { echo "ERROR: Failed to move HTML files"; exit 1; } 21 - rm -rf "$OUT_DIR/proxy" 22 - echo "Flattened HTML files" 23 - fi 24 - 25 - # Verify source files exist before copying 26 - for file in index.html loadwabac.js client-metadata.json styles.css; do 27 - if [ ! -f "$SRC_DIR/$file" ]; then 28 - echo "ERROR: Required source file $SRC_DIR/$file not found" 29 - exit 1 30 - fi 31 - done 32 - 33 - # Copy source files with error checking 34 - cp "$SRC_DIR/index.html" "$OUT_DIR/" || { echo "ERROR: Failed to copy index.html"; exit 1; } 35 - cp "$SRC_DIR/loadwabac.js" "$OUT_DIR/" || { echo "ERROR: Failed to copy loadwabac.js"; exit 1; } 36 - cp "$SRC_DIR/client-metadata.json" "$OUT_DIR/" || { echo "ERROR: Failed to copy client-metadata.json"; exit 1; } 37 - cp "$SRC_DIR/styles.css" "$OUT_DIR/" || { echo "ERROR: Failed to copy styles.css"; exit 1; } 38 - echo "Copied source files from $SRC_DIR" 39 - 40 - # Copy wabac.js service worker 41 - WABAC_SW="proxy/node_modules/@webrecorder/wabac/dist/sw.js" 42 - if [ -f "$WABAC_SW" ]; then 43 - cp "$WABAC_SW" "$OUT_DIR/" || { echo "ERROR: Failed to copy wabac.js service worker"; exit 1; } 44 - echo "Copied wabac.js service worker" 45 - else 46 - echo "ERROR: wabac.js sw.js not found at $WABAC_SW" 47 - echo "Run 'cd proxy && npm install' to install dependencies" 48 - exit 1 49 - fi 50 - 51 - echo "" 52 - echo "Build complete. Files in $OUT_DIR/:" 53 - ls -la "$OUT_DIR"/*.html "$OUT_DIR"/*.js "$OUT_DIR"/*.json "$OUT_DIR"/*.css 2>/dev/null
test-results/.playwright-artifacts-1/42bd34798ad454c5903650393115c1d7.png

This is a binary file and will not be displayed.

test-results/.playwright-artifacts-1/9ff48b845a725a99b6e80a18e07b8c41.png

This is a binary file and will not be displayed.

test-results/extension-create-Extension-3d172-notation-via-text-selection-chrome-extension/test-failed-1.png

This is a binary file and will not be displayed.

test-results/extension-create-Extension-3d172-notation-via-text-selection-chrome-extension/test-failed-2.png

This is a binary file and will not be displayed.

test-results/extension-create-Extension-3d172-notation-via-text-selection-chrome-extension/test-failed-3.png

This is a binary file and will not be displayed.

+58 -15
tests/e2e/proxy/highlights.spec.ts
··· 9 9 * 3. Start the proxy servers 10 10 */ 11 11 12 - import { test, expect } from '@playwright/test'; 12 + import { test, expect, type Page } from '@playwright/test'; 13 13 import { 14 14 PROXY_BASE_URL, 15 15 navigateToProxiedUrl, 16 16 getProxiedContent, 17 17 waitForProxyHighlights, 18 + createProxyContext, 18 19 } from '../../helpers/proxy'; 19 20 20 21 test.describe('Proxy Client Highlights', () => { ··· 23 24 'Set RUN_PROXY_TESTS=1 to run proxy client tests' 24 25 ); 25 26 26 - // Servers are started by playwright.config.ts webServer config 27 + // Use a fresh browser context for each test to avoid service worker state pollution 28 + let page: Page; 29 + 30 + test.beforeEach(async ({ browser }) => { 31 + const context = await createProxyContext(browser); 32 + page = await context.newPage(); 33 + }); 34 + 35 + test.afterEach(async () => { 36 + await page.context().close(); 37 + }); 27 38 28 - test('renders highlights in proxied content iframe', async ({ page }) => { 39 + test('renders highlights in proxied content iframe', async () => { 29 40 // Navigate to page with annotations 30 41 await navigateToProxiedUrl(page, 'https://example.com/'); 31 42 ··· 49 60 } 50 61 }); 51 62 52 - test('highlights have correct styling', async ({ page }) => { 63 + test('highlights have correct styling', async () => { 53 64 await navigateToProxiedUrl(page, 'https://example.com/'); 54 65 55 66 try { ··· 71 82 } 72 83 }); 73 84 74 - test('clicking highlight scrolls annotation into view in sidebar', async ({ 75 - page, 76 - }) => { 85 + test('clicking highlight scrolls annotation into view in sidebar', async () => { 77 86 await navigateToProxiedUrl(page, 'https://example.com/'); 78 87 79 88 try { ··· 96 105 } 97 106 }); 98 107 99 - test('highlights persist after sidebar toggle', async ({ page }) => { 108 + test('highlights persist after sidebar toggle', async () => { 100 109 await navigateToProxiedUrl(page, 'https://example.com/'); 101 110 102 111 try { ··· 125 134 } 126 135 }); 127 136 128 - test('highlights update when navigating to different URL', async ({ 129 - page, 130 - }) => { 137 + test('highlights should not continuously re-render (anti-flicker)', async () => { 138 + // Navigate to page with annotations 139 + await navigateToProxiedUrl(page, 'https://example.com/'); 140 + 141 + await waitForProxyHighlights(page, 1, 10000); 142 + 143 + const content = getProxiedContent(page); 144 + 145 + // Get initial highlight count 146 + const initialCount = await content.locator('.seams-highlight').count(); 147 + expect(initialCount).toBeGreaterThan(0); 148 + 149 + // Track render calls by counting "[seams] Clearing X highlights" log messages 150 + // We'll collect console messages over a period of time 151 + const renderLogs: string[] = []; 152 + 153 + page.on('console', (msg) => { 154 + const text = msg.text(); 155 + if (text.includes('[seams] Clearing') || text.includes('[seams] Applying')) { 156 + renderLogs.push(text); 157 + } 158 + }); 159 + 160 + // Wait 3 seconds and count how many render cycles happen 161 + // If highlights are stable, there should be 0 new renders after initial load 162 + await page.waitForTimeout(3000); 163 + 164 + // There should be no additional render cycles after initial load 165 + // (allowing for 1-2 as settling, but not continuous) 166 + expect(renderLogs.length).toBeLessThanOrEqual(2); 167 + 168 + // Verify highlights are still present and count is stable 169 + const finalCount = await content.locator('.seams-highlight').count(); 170 + expect(finalCount).toBe(initialCount); 171 + }); 172 + 173 + test('highlights update when navigating to different URL', async () => { 131 174 // Navigate to first page 132 175 await navigateToProxiedUrl(page, 'https://example.com/'); 133 176 await page.waitForTimeout(2000); ··· 143 186 } 144 187 145 188 // Navigate to a different page (likely no annotations) 146 - await navigateToProxiedUrl( 147 - page, 148 - 'https://example.com/different-page-no-annotations' 149 - ); 189 + // Use hash change since we're already on the proxy 190 + await page.evaluate(() => { 191 + window.location.hash = 'https://example.com/different-page-no-annotations'; 192 + }); 150 193 await page.waitForTimeout(2000); 151 194 152 195 // Check highlights count - should be different or zero
+305
tests/e2e/proxy/messages.spec.ts
··· 1 + /** 2 + * Proxy communication integration tests 3 + * 4 + * Tests the end-user-visible behavior that depends on the postMessage protocol 5 + * between the content iframe and shell. 6 + * 7 + * See proxy/COMMUNICATION_PROTOCOL.md for protocol documentation. 8 + * 9 + * Prerequisites: 10 + * 1. Build the proxy client: pnpm build:proxy 11 + * 2. Start the proxy servers (handled by playwright.config.ts webServer) 12 + */ 13 + 14 + import { test, expect, type Page } from '@playwright/test'; 15 + import { 16 + PROXY_BASE_URL, 17 + navigateToProxiedUrl, 18 + getSidebar, 19 + getProxiedContent, 20 + waitForShellReady, 21 + waitForProxyHighlights, 22 + createProxyContext, 23 + } from '../../helpers/proxy'; 24 + 25 + test.describe('Proxy Communication', () => { 26 + test.skip( 27 + !process.env.RUN_PROXY_TESTS, 28 + 'Set RUN_PROXY_TESTS=1 to run proxy client tests' 29 + ); 30 + 31 + // Use a fresh browser context for each test to avoid service worker state pollution 32 + let page: Page; 33 + 34 + test.beforeEach(async ({ browser }) => { 35 + const context = await createProxyContext(browser); 36 + page = await context.newPage(); 37 + }); 38 + 39 + test.afterEach(async () => { 40 + await page.context().close(); 41 + }); 42 + 43 + /** 44 + * Helper to select text in the proxied content iframe using real mouse events. 45 + * This simulates actual user behavior which properly triggers native selectionchange events. 46 + * Uses triple-click to select a paragraph, which reliably selects text. 47 + */ 48 + async function selectTextInProxy( 49 + testPage: Page, 50 + selector: string 51 + ): Promise<string> { 52 + const content = getProxiedContent(testPage); 53 + const element = content.locator(selector).first(); 54 + 55 + // Wait for element to be visible 56 + await element.waitFor({ state: 'visible', timeout: 5000 }); 57 + 58 + // Triple-click to select the paragraph 59 + await element.click({ clickCount: 3 }); 60 + 61 + // Wait for selection to settle and selectionchange to fire 62 + await testPage.waitForTimeout(300); 63 + 64 + // Get the selected text from within the iframe 65 + const selectedText = await element.evaluate(() => { 66 + const sel = window.getSelection(); 67 + return sel?.toString().trim() || ''; 68 + }); 69 + 70 + console.log(`[selectTextInProxy] Selected text: "${selectedText}"`); 71 + 72 + return selectedText; 73 + } 74 + 75 + test.describe('Integration Tests', () => { 76 + /** 77 + * Integration test for Bug #1: Selection not showing in sidebar 78 + * 79 + * When a user selects text in the proxied page, the sidebar should display 80 + * the annotation form with the selected text. 81 + */ 82 + test('selecting text in proxied page shows annotation form in sidebar', async () => { 83 + await navigateToProxiedUrl(page, 'https://example.com/'); 84 + await waitForShellReady(page); 85 + 86 + // Wait for content script to fully initialize 87 + // See known_issues/SELECTION_TIMING.md for details on this race condition 88 + await page.waitForTimeout(4000); 89 + 90 + // Select text in the content iframe using triple-click 91 + const selectedText = await selectTextInProxy(page, 'p'); 92 + expect(selectedText.length).toBeGreaterThan(0); 93 + 94 + // Wait for the annotation form to become visible 95 + // This accounts for: debounce (150ms) + message propagation + UI update 96 + const sidebar = getSidebar(page); 97 + const annotationForm = sidebar.locator('#annotation-form'); 98 + await expect(annotationForm).toBeVisible({ timeout: 5000 }); 99 + 100 + // The selected text should be displayed in the form 101 + const selectedTextDisplay = sidebar.locator('#selected-text blockquote'); 102 + await expect(selectedTextDisplay).toContainText(selectedText.substring(0, 10)); 103 + }); 104 + 105 + /** 106 + * Integration test for Bug #2: Annotations not highlighted on page 107 + * 108 + * When a page has existing annotations, they should be rendered as 109 + * highlights in the proxied content. 110 + * 111 + * Note: This test requires the backend to have annotations for example.com. 112 + * The test database should be seeded with test data. 113 + */ 114 + test('existing annotations are highlighted in proxied page', async () => { 115 + // Navigate to a page that has annotations in the test database 116 + await navigateToProxiedUrl(page, 'https://example.com/'); 117 + await waitForShellReady(page); 118 + 119 + // Wait for annotations to load and render 120 + // This gives time for: 121 + // 1. SEAMS_PAGE_URL message to reach shell 122 + // 2. BackgroundWorker to fetch annotations 123 + // 3. ANNOTATIONS_UPDATED to reach content iframe 124 + // 4. Highlights to be rendered 125 + await waitForProxyHighlights(page, 1, 10000); 126 + 127 + // Verify highlights exist in the content iframe 128 + const content = getProxiedContent(page); 129 + const highlights = content.locator('.seams-highlight'); 130 + const count = await highlights.count(); 131 + expect(count).toBeGreaterThan(0); 132 + 133 + // Verify at least one highlight is visible 134 + const firstHighlight = highlights.first(); 135 + await expect(firstHighlight).toBeVisible(); 136 + }); 137 + }); 138 + 139 + test.describe('Browser Capability Tests', () => { 140 + /** 141 + * Verifies that the content iframe CAN access window.parent.location.origin. 142 + * 143 + * This is a prerequisite for the postMessage protocol to work correctly. 144 + * The content iframe is served same-origin via the wabac.js service worker, 145 + * so it should have access to the parent frame's origin. 146 + * 147 + * Note: This tests browser capability, not application behavior. 148 + * The application may still have bugs even if this test passes. 149 + */ 150 + test('content iframe can access parent frame origin (same-origin via service worker)', async () => { 151 + await navigateToProxiedUrl(page, 'https://example.com/'); 152 + await waitForShellReady(page); 153 + await page.waitForTimeout(2000); 154 + 155 + const content = getProxiedContent(page); 156 + 157 + const originInfo = await content.locator('body').evaluate(() => { 158 + return { 159 + canAccessParent: window.parent !== window, 160 + parentOrigin: (() => { 161 + try { 162 + return window.parent.location.origin; 163 + } catch { 164 + return 'cross-origin-blocked'; 165 + } 166 + })(), 167 + ownOrigin: window.location.origin, 168 + }; 169 + }); 170 + 171 + // Content iframe should be able to access parent origin 172 + expect(originInfo.canAccessParent).toBe(true); 173 + expect(originInfo.parentOrigin).not.toBe('cross-origin-blocked'); 174 + 175 + // Both should be the proxy origin (same-origin via service worker) 176 + expect(originInfo.parentOrigin).toBe(PROXY_BASE_URL.replace(/\/$/, '')); 177 + expect(originInfo.ownOrigin).toBe(PROXY_BASE_URL.replace(/\/$/, '')); 178 + }); 179 + }); 180 + 181 + test.describe('Message Protocol Tests', () => { 182 + /** 183 + * Tests that the shell receives SEAMS_PAGE_URL when content loads. 184 + * This is essential for the shell to know which URL to fetch annotations for. 185 + */ 186 + test('shell receives SEAMS_PAGE_URL from content iframe', async () => { 187 + // First navigate to a proxied page to initialize everything 188 + await navigateToProxiedUrl(page, 'https://example.com/'); 189 + await waitForShellReady(page); 190 + await page.waitForTimeout(2000); 191 + 192 + // Set up message listener AFTER initial navigation 193 + await page.evaluate(() => { 194 + (window as any)._testMessages = []; 195 + window.addEventListener('message', (event) => { 196 + if (event.data?.type) { 197 + (window as any)._testMessages.push({ 198 + type: event.data.type, 199 + url: event.data.url, 200 + origin: event.origin, 201 + }); 202 + } 203 + }); 204 + }); 205 + 206 + // Navigate to a different URL via hash change (no full page reload) 207 + await page.evaluate(() => { 208 + window.location.hash = 'https://www.iana.org/'; 209 + }); 210 + await page.waitForTimeout(3000); 211 + 212 + // Check that SEAMS_PAGE_URL was received for the new URL 213 + const messages = await page.evaluate(() => (window as any)._testMessages || []); 214 + const pageUrlMessages = messages.filter((m: any) => m.type === 'SEAMS_PAGE_URL'); 215 + 216 + expect(pageUrlMessages.length).toBeGreaterThan(0); 217 + 218 + // The URL should be the actual proxied URL, not the wabac.js internal URL 219 + const lastMsg = pageUrlMessages[pageUrlMessages.length - 1]; 220 + expect(lastMsg.url).toContain('iana.org'); 221 + expect(lastMsg.url).not.toContain('/w/liveproxy/'); 222 + }); 223 + 224 + /** 225 + * Tests that the shell receives SELECTION_CHANGED when text is selected. 226 + * This is essential for the sidebar to display the annotation form. 227 + */ 228 + test('shell receives SELECTION_CHANGED from content iframe', async () => { 229 + // Navigate first, then set up listener (navigateToProxiedUrl uses page.goto which reloads the page) 230 + await navigateToProxiedUrl(page, 'https://example.com/'); 231 + await waitForShellReady(page); 232 + await page.waitForTimeout(2000); 233 + 234 + // Set up message listener AFTER navigation to avoid it being destroyed by page reload 235 + await page.evaluate(() => { 236 + (window as any)._testMessages = []; 237 + window.addEventListener('message', (event) => { 238 + if (event.data?.type) { 239 + (window as any)._testMessages.push({ 240 + type: event.data.type, 241 + payload: event.data.payload, 242 + origin: event.origin, 243 + }); 244 + } 245 + }); 246 + }); 247 + 248 + // Select text using real mouse drag 249 + const selectedText = await selectTextInProxy(page, 'p'); 250 + expect(selectedText.length).toBeGreaterThan(0); 251 + 252 + // Wait for debounce + propagation 253 + await page.waitForTimeout(500); 254 + 255 + // Check that SELECTION_CHANGED was received 256 + const messages = await page.evaluate(() => (window as any)._testMessages || []); 257 + const selectionMessages = messages.filter((m: any) => m.type === 'SELECTION_CHANGED'); 258 + 259 + expect(selectionMessages.length).toBeGreaterThan(0); 260 + 261 + // Verify payload structure 262 + const lastMsg = selectionMessages[selectionMessages.length - 1]; 263 + expect(lastMsg.payload).toBeDefined(); 264 + expect(lastMsg.payload.text).toContain(selectedText.substring(0, 10)); // Partial match since selection might differ slightly 265 + expect(lastMsg.payload.selectors).toBeDefined(); 266 + }); 267 + 268 + /** 269 + * Tests that the shell correctly rejects messages not from the content iframe. 270 + * This is a security measure to prevent malicious scripts from injecting messages. 271 + */ 272 + test('shell rejects messages from non-content-iframe sources', async () => { 273 + await page.goto(PROXY_BASE_URL); 274 + await waitForShellReady(page); 275 + 276 + // Track if any unauthorized message was processed 277 + await page.evaluate(() => { 278 + (window as any)._unauthorizedProcessed = false; 279 + const originalSetUrl = (window as any).SeamsShell?.setUrl; 280 + if (originalSetUrl) { 281 + (window as any).SeamsShell.setUrl = function (url: string) { 282 + if (url === 'https://malicious.com/') { 283 + (window as any)._unauthorizedProcessed = true; 284 + } 285 + return originalSetUrl.call(this, url); 286 + }; 287 + } 288 + }); 289 + 290 + // Attempt to send a message from the page context (not from content iframe) 291 + await page.evaluate(() => { 292 + window.postMessage( 293 + { type: 'SEAMS_PAGE_URL', url: 'https://malicious.com/' }, 294 + window.location.origin 295 + ); 296 + }); 297 + 298 + await page.waitForTimeout(500); 299 + 300 + // The message should have been rejected (source !== contentFrame.contentWindow) 301 + const wasProcessed = await page.evaluate(() => (window as any)._unauthorizedProcessed); 302 + expect(wasProcessed).toBe(false); 303 + }); 304 + }); 305 + });
+94 -11
tests/helpers/proxy.ts
··· 6 6 * no-ops when servers are already running. 7 7 */ 8 8 9 - import { type Page } from '@playwright/test'; 9 + import { type Page, type BrowserContext, type Browser } from '@playwright/test'; 10 10 11 11 export const PROXY_BASE_URL = 'http://127.0.0.1:8081'; 12 12 13 13 /** 14 + * Creates a fresh browser context for proxy tests. 15 + * This ensures service worker state doesn't leak between tests. 16 + */ 17 + export async function createProxyContext(browser: Browser): Promise<BrowserContext> { 18 + const context = await browser.newContext({ 19 + // Ensure we have a fresh service worker state 20 + serviceWorkers: 'allow', 21 + }); 22 + return context; 23 + } 24 + 25 + /** 26 + * Waits for the wabac.js service worker to be fully initialized. 27 + * This includes: 28 + * 1. Service worker registration 29 + * 2. Service worker controller activation 30 + * 3. Collection added (proxy ready) 31 + */ 32 + export async function waitForServiceWorkerReady( 33 + page: Page, 34 + timeout: number = 15000 35 + ): Promise<void> { 36 + await page.waitForFunction( 37 + () => { 38 + // Check if service worker controller exists 39 + if (!navigator.serviceWorker.controller) { 40 + return false; 41 + } 42 + // Check if SeamsLiveProxy is initialized (it sets up after collAdded) 43 + const proxy = (window as any).proxy; 44 + if (proxy && typeof proxy.url !== 'undefined') { 45 + return true; 46 + } 47 + // Fallback: check if the shell is ready (loaded after proxy init) 48 + return typeof (window as any).SeamsShell !== 'undefined'; 49 + }, 50 + { timeout } 51 + ); 52 + } 53 + 54 + /** 14 55 * Checks if proxy servers are already running (started by playwright webServer config) 15 56 */ 16 57 export async function isProxyRunning(): Promise<boolean> { ··· 45 86 } 46 87 47 88 /** 48 - * Navigates to a proxied URL 89 + * Navigates to a proxied URL with proper service worker initialization. 90 + * 91 + * This function ensures the service worker is fully ready before proceeding, 92 + * which prevents race conditions that can cause page crashes. 49 93 */ 50 94 export async function navigateToProxiedUrl( 51 95 page: Page, 52 96 targetUrl: string 53 97 ): Promise<void> { 54 - // The proxy uses hash-based routing 55 - await page.goto(`${PROXY_BASE_URL}/#${targetUrl}`); 56 - 57 - // Wait for the page to load in the iframe 58 - await page.waitForLoadState('networkidle'); 59 - 60 - // Wait for wabac.js service worker to be active 61 - await page.waitForTimeout(2000); 98 + // First, go to the base URL without a hash to initialize the service worker 99 + const currentUrl = page.url(); 100 + const isAlreadyOnProxy = currentUrl.startsWith(PROXY_BASE_URL); 101 + 102 + if (!isAlreadyOnProxy) { 103 + // Navigate to base URL first to initialize service worker 104 + await page.goto(PROXY_BASE_URL); 105 + await page.waitForLoadState('domcontentloaded'); 106 + 107 + // Wait for service worker to be fully initialized 108 + await waitForServiceWorkerReady(page); 109 + } 110 + 111 + // Now navigate to the target URL via hash change 112 + // This avoids a full page reload and uses the already-initialized service worker 113 + await page.evaluate((url) => { 114 + window.location.hash = url; 115 + }, targetUrl); 116 + 117 + // Wait for the iframe to load the proxied content 118 + await page.waitForFunction( 119 + (expectedUrl) => { 120 + const iframe = document.querySelector('#content') as HTMLIFrameElement; 121 + if (!iframe) return false; 122 + 123 + // Check if iframe has loaded (src is set and contains the URL pattern) 124 + const src = iframe.src || ''; 125 + return src.includes('/w/') && src.includes('mp_/'); 126 + }, 127 + targetUrl, 128 + { timeout: 15000 } 129 + ); 130 + 131 + // Wait for the content iframe to be accessible 132 + await page.frameLocator('iframe').first().locator('body').waitFor({ 133 + state: 'attached', 134 + timeout: 15000 135 + }); 62 136 } 63 137 64 138 /** ··· 154 228 155 229 /** 156 230 * Waits for the shell to be initialized (SeamsShell global available) 231 + * and the sidebar component to be rendered. 157 232 */ 158 233 export async function waitForShellReady( 159 234 page: Page, 160 235 timeout: number = 10000 161 236 ): Promise<void> { 162 237 await page.waitForFunction( 163 - () => typeof (window as any).SeamsShell !== 'undefined', 238 + () => { 239 + // Check shell is available 240 + if (typeof (window as any).SeamsShell === 'undefined') { 241 + return false; 242 + } 243 + // Check sidebar component is rendered 244 + const sidebar = document.querySelector('seams-sidebar'); 245 + return sidebar !== null; 246 + }, 164 247 { timeout } 165 248 ); 166 249 }
+1 -1
tests/playwright.config.ts
··· 6 6 const ROOT_DIR = path.join(__dirname, '..'); 7 7 const EXTENSION_PATH = path.join(ROOT_DIR, '.output/chrome-mv3'); 8 8 const SERVER_DIR = path.join(ROOT_DIR, 'server'); 9 - const PROXY_DIR = path.join(ROOT_DIR, 'sure-client-proxy'); 9 + const PROXY_DIR = path.join(ROOT_DIR, 'proxy'); 10 10 11 11 // Detect system chromium for NixOS compatibility 12 12 function getSystemChromium(): string | undefined {
+7 -4
vite.proxy.config.ts
··· 6 6 // Builds the shell (with embedded sidebar) and oauth HTML pages (ES modules) 7 7 // The seams-client.js is built separately as IIFE (see vite.proxy-inject.config.ts) 8 8 export default defineConfig({ 9 + // Set root to proxy/ so HTML outputs aren't nested 10 + root: path.resolve(__dirname, 'proxy'), 9 11 // Base path - files served from root of static server 10 12 base: '/', 11 - publicDir: false, // Don't copy public/ to output 13 + // Copy static files from proxy/public to dist (includes sw.js, index.html, etc.) 14 + publicDir: 'public', 12 15 build: { 13 - outDir: 'proxy/dist', 16 + outDir: 'dist', 14 17 emptyOutDir: true, 15 18 sourcemap: true, 16 19 rollupOptions: { 17 20 input: { 18 21 // Shell - manages BackgroundWorker, storage, and renders Sidebar directly 19 - 'seams-shell': path.resolve(__dirname, 'proxy/html/seams-shell.html'), 22 + 'seams-shell': path.resolve(__dirname, 'proxy/seams-shell.html'), 20 23 // OAuth callback page (still needed for popup OAuth flow) 21 - 'oauth-callback': path.resolve(__dirname, 'proxy/html/oauth-callback.html'), 24 + 'oauth-callback': path.resolve(__dirname, 'proxy/oauth-callback.html'), 22 25 }, 23 26 output: { 24 27 entryFileNames: '[name].js',