feat: add researched fixed companion builds #1
feature/fixed-companion-builds/companions/1 into develop91e3df9f9e81..gitignore +1 -0 | @@ -35,6 +35,7 @@ yarn-error.log* | ||
| 35 | 35 | |
| 36 | 36 | # typescript |
| 37 | 37 | next-env.d.ts |
| 38 | +/tsconfig.tsbuildinfo | |
| 38 | 39 | /dist/ |
| 39 | 40 | /.wrangler/ |
| 40 | 41 | /.sites-runtime/ |
| @@ -35,6 +35,7 @@ yarn-error.log* | |||
| 35 | 35 | ||
| 36 | # typescript | 36 | # typescript |
| 37 | next-env.d.ts | 37 | next-env.d.ts |
| 38 | +/tsconfig.tsbuildinfo | ||
| 38 | /dist/ | 39 | /dist/ |
| 39 | /.wrangler/ | 40 | /.wrangler/ |
| 40 | /.sites-runtime/ | 41 | /.sites-runtime/ |
.rickub/workflows/deploy-bunny.yml +25 -1 | similarity index 70% | ||
| rename from .github/workflows/deploy-bunny.yml | ||
| rename to .rickub/workflows/deploy-bunny.yml | ||
| @@ -43,9 +43,33 @@ jobs: | ||
| 43 | 43 | name: Build and deploy static site |
| 44 | 44 | needs: test |
| 45 | 45 | runs-on: ubuntu-latest |
| 46 | - environment: production | |
Resolved Resolved The Resolved The | ||
| 47 | 46 | |
| 48 | 47 | steps: |
| 48 | + - name: Check Bunny settings are configured | |
| 49 | + env: | |
| 50 | + BUNNY_STORAGE_ENDPOINT: ${{ vars.BUNNY_STORAGE_ENDPOINT }} | |
| 51 | + BUNNY_STORAGE_PASSWORD: ${{ secrets.BUNNY_STORAGE_PASSWORD }} | |
| 52 | + BUNNY_PULL_ZONE_ID: ${{ vars.BUNNY_PULL_ZONE_ID }} | |
| 53 | + BUNNY_API_KEY: ${{ secrets.BUNNY_API_KEY }} | |
| 54 | + run: | | |
| 55 | + set -euo pipefail | |
| 56 | + | |
| 57 | + missing=0 | |
| 58 | + for name in BUNNY_STORAGE_ENDPOINT BUNNY_STORAGE_PASSWORD BUNNY_PULL_ZONE_ID BUNNY_API_KEY; do | |
| 59 | + if [ -z "${!name:-}" ]; then | |
| 60 | + echo "Missing Rickub setting: ${name}" | |
| 61 | + missing=1 | |
| 62 | + fi | |
| 63 | + done | |
| 64 | + | |
| 65 | + if [ "$missing" -ne 0 ]; then | |
| 66 | + echo "Configure under Rickub → Settings → Variables:" | |
| 67 | + echo " BUNNY_STORAGE_ENDPOINT, BUNNY_PULL_ZONE_ID" | |
| 68 | + echo "Configure under Rickub → Settings → Secrets:" | |
| 69 | + echo " BUNNY_STORAGE_PASSWORD, BUNNY_API_KEY" | |
| 70 | + exit 1 | |
| 71 | + fi | |
| 72 | + | |
| 49 | 73 | - name: Check out repository |
| 50 | 74 | uses: actions/checkout@v4 |
| 51 | 75 | |
| similarity index 70% | |||
| rename from .github/workflows/deploy-bunny.yml | |||
| rename to .rickub/workflows/deploy-bunny.yml | |||
| @@ -43,9 +43,33 @@ jobs: | |||
| 43 | name: Build and deploy static site | 43 | name: Build and deploy static site |
| 44 | needs: test | 44 | needs: test |
| 45 | runs-on: ubuntu-latest | 45 | runs-on: ubuntu-latest |
| 46 | - environment: production | ||
| 47 | 46 | ||
| 48 | steps: | 47 | steps: |
| 48 | + - name: Check Bunny settings are configured | ||
| 49 | + env: | ||
| 50 | + BUNNY_STORAGE_ENDPOINT: ${{ vars.BUNNY_STORAGE_ENDPOINT }} | ||
| 51 | + BUNNY_STORAGE_PASSWORD: ${{ secrets.BUNNY_STORAGE_PASSWORD }} | ||
| 52 | + BUNNY_PULL_ZONE_ID: ${{ vars.BUNNY_PULL_ZONE_ID }} | ||
| 53 | + BUNNY_API_KEY: ${{ secrets.BUNNY_API_KEY }} | ||
| 54 | + run: | | ||
| 55 | + set -euo pipefail | ||
| 56 | + | ||
| 57 | + missing=0 | ||
| 58 | + for name in BUNNY_STORAGE_ENDPOINT BUNNY_STORAGE_PASSWORD BUNNY_PULL_ZONE_ID BUNNY_API_KEY; do | ||
| 59 | + if [ -z "${!name:-}" ]; then | ||
| 60 | + echo "Missing Rickub setting: ${name}" | ||
| 61 | + missing=1 | ||
| 62 | + fi | ||
| 63 | + done | ||
| 64 | + | ||
| 65 | + if [ "$missing" -ne 0 ]; then | ||
| 66 | + echo "Configure under Rickub → Settings → Variables:" | ||
| 67 | + echo " BUNNY_STORAGE_ENDPOINT, BUNNY_PULL_ZONE_ID" | ||
| 68 | + echo "Configure under Rickub → Settings → Secrets:" | ||
| 69 | + echo " BUNNY_STORAGE_PASSWORD, BUNNY_API_KEY" | ||
| 70 | + exit 1 | ||
| 71 | + fi | ||
| 72 | + | ||
| 49 | - name: Check out repository | 73 | - name: Check out repository |
| 50 | uses: actions/checkout@v4 | 74 | uses: actions/checkout@v4 |
| 51 | 75 | ||
README.md +39 -1 | @@ -26,7 +26,14 @@ your browser. | ||
| 26 | 26 | tier-4 classes add their weapon types and compatible regular Arts. |
| 27 | 27 | - **Companion-specific kits** — all 22 Definitive Edition companions, including |
| 28 | 28 | Mia, use their own weapons, Arts, Skills, ranks and slot limits rather than a |
| 29 | - generic Cross-class profile. | |
| 29 | + generic Cross-class profile. Each runs one fixed, researched build | |
| 30 | + (`src/data/companionBuilds.ts`): at most two TP-consuming Arts — Cross keeps | |
| 31 | + its own three-Art budget — deterministic personal-rank substitutes, and | |
| 32 | + character-specific, sourced weapon/armor advice. A companion's loadout never | |
| 33 | + changes with Cross's class, weapons, teammates, team variant or combat mode. | |
| 34 | +- **Equipped-only companion scoring** — team scoring reads each companion's | |
| 35 | + equipped Arts and Skills, and Skell aptitude counts equipped pilot Skills | |
| 36 | + only; Skell mode never silently rewrites a companion's ground kit. | |
| 30 | 37 | - **Deterministic AUTO composition** — manual picks remain in their exact slots. |
| 31 | 38 | AUTO slots enumerate level-eligible, non-duplicate companions and optimize |
| 32 | 39 | tank/support/damage specialist coverage before a tie-break informed by the |
| @@ -56,6 +63,37 @@ The tactical preference order lives in `src/data/builds.ts`. Factual unlock | ||
| 56 | 63 | tables live separately in `src/data/progression.ts` and |
| 57 | 64 | `src/data/companions.ts`; preference data cannot grant availability. |
| 58 | 65 | |
| 66 | +Companion builds are **fixed and curated, not contextual**. One canonical | |
| 67 | +Arts/Skills loadout per non-Cross character is kept in | |
| 68 | +`src/data/companionBuilds.ts`; unavailable abilities fall back to explicit, | |
| 69 | +ordered personal-rank substitutes, never a dynamic strategy re-ranking. Every | |
| 70 | +companion kit carries at most two TP-consuming Arts, strictly, including | |
| 71 | +substitutes — Cross's existing three-Art TP policy is unchanged. Unfilled | |
| 72 | +slots are legitimate: Irina deliberately equips three of her four Skill | |
| 73 | +slots because her remaining personal Skills depend on Sleep or Control that | |
| 74 | +the curated support bar never provides, and an inert fourth Skill is worse | |
| 75 | +than an empty slot. Character-specific | |
| 76 | +weapon and armor advice names verified manufacturer offerings, weight-category | |
| 77 | +trade-offs and availability gates; it is matchup guidance, not a universal | |
| 78 | +best-in-slot claim. | |
| 79 | + | |
| 80 | +These curated builds are sourced recommendations, not a universal-optimum or | |
| 81 | +community-consensus claim. Research preferred Definitive Edition evidence and | |
| 82 | +validated original sources (Xeno Series Wiki game data, Game8, Nintendo Life, | |
| 83 | +Reddit and GameFAQs discussions) against each character's actual weapon pair, | |
| 84 | +unlock ranks and TP data, counting only independent recurrence — lists that | |
| 85 | +share one authorship count as one cluster, not consensus. Verified guide | |
| 86 | +errors were rejected rather than absorbed: weapon-incompatible | |
| 87 | +recommendations, missing TP markers and invalid Art names were dropped in | |
| 88 | +favor of game data. Where evidence stays sparse — most non-flagship | |
| 89 | +companions have no independently recurring full build — the final bar is an | |
| 90 | +explicitly editorial choice. Per-character evidence, decisions and gaps are | |
| 91 | +recorded in four research matrices: | |
| 92 | +[core](docs/research/companion-builds-core.md), | |
| 93 | +[veterans](docs/research/companion-builds-veterans.md), | |
| 94 | +[specialists](docs/research/companion-builds-specialists.md), | |
| 95 | +[remaining](docs/research/companion-builds-remaining.md). | |
| 96 | + | |
| 59 | 97 | ## Run locally |
| 60 | 98 | |
| 61 | 99 | Requirements: Node.js 20.9 or newer. |
| @@ -26,7 +26,14 @@ your browser. | |||
| 26 | tier-4 classes add their weapon types and compatible regular Arts. | 26 | tier-4 classes add their weapon types and compatible regular Arts. |
| 27 | - **Companion-specific kits** — all 22 Definitive Edition companions, including | 27 | - **Companion-specific kits** — all 22 Definitive Edition companions, including |
| 28 | Mia, use their own weapons, Arts, Skills, ranks and slot limits rather than a | 28 | Mia, use their own weapons, Arts, Skills, ranks and slot limits rather than a |
| 29 | - generic Cross-class profile. | 29 | + generic Cross-class profile. Each runs one fixed, researched build |
| 30 | + (`src/data/companionBuilds.ts`): at most two TP-consuming Arts — Cross keeps | ||
| 31 | + its own three-Art budget — deterministic personal-rank substitutes, and | ||
| 32 | + character-specific, sourced weapon/armor advice. A companion's loadout never | ||
| 33 | + changes with Cross's class, weapons, teammates, team variant or combat mode. | ||
| 34 | +- **Equipped-only companion scoring** — team scoring reads each companion's | ||
| 35 | + equipped Arts and Skills, and Skell aptitude counts equipped pilot Skills | ||
| 36 | + only; Skell mode never silently rewrites a companion's ground kit. | ||
| 30 | - **Deterministic AUTO composition** — manual picks remain in their exact slots. | 37 | - **Deterministic AUTO composition** — manual picks remain in their exact slots. |
| 31 | AUTO slots enumerate level-eligible, non-duplicate companions and optimize | 38 | AUTO slots enumerate level-eligible, non-duplicate companions and optimize |
| 32 | tank/support/damage specialist coverage before a tie-break informed by the | 39 | tank/support/damage specialist coverage before a tie-break informed by the |
| @@ -56,6 +63,37 @@ The tactical preference order lives in `src/data/builds.ts`. Factual unlock | |||
| 56 | tables live separately in `src/data/progression.ts` and | 63 | tables live separately in `src/data/progression.ts` and |
| 57 | `src/data/companions.ts`; preference data cannot grant availability. | 64 | `src/data/companions.ts`; preference data cannot grant availability. |
| 58 | 65 | ||
| 66 | +Companion builds are **fixed and curated, not contextual**. One canonical | ||
| 67 | +Arts/Skills loadout per non-Cross character is kept in | ||
| 68 | +`src/data/companionBuilds.ts`; unavailable abilities fall back to explicit, | ||
| 69 | +ordered personal-rank substitutes, never a dynamic strategy re-ranking. Every | ||
| 70 | +companion kit carries at most two TP-consuming Arts, strictly, including | ||
| 71 | +substitutes — Cross's existing three-Art TP policy is unchanged. Unfilled | ||
| 72 | +slots are legitimate: Irina deliberately equips three of her four Skill | ||
| 73 | +slots because her remaining personal Skills depend on Sleep or Control that | ||
| 74 | +the curated support bar never provides, and an inert fourth Skill is worse | ||
| 75 | +than an empty slot. Character-specific | ||
| 76 | +weapon and armor advice names verified manufacturer offerings, weight-category | ||
| 77 | +trade-offs and availability gates; it is matchup guidance, not a universal | ||
| 78 | +best-in-slot claim. | ||
| 79 | + | ||
| 80 | +These curated builds are sourced recommendations, not a universal-optimum or | ||
| 81 | +community-consensus claim. Research preferred Definitive Edition evidence and | ||
| 82 | +validated original sources (Xeno Series Wiki game data, Game8, Nintendo Life, | ||
| 83 | +Reddit and GameFAQs discussions) against each character's actual weapon pair, | ||
| 84 | +unlock ranks and TP data, counting only independent recurrence — lists that | ||
| 85 | +share one authorship count as one cluster, not consensus. Verified guide | ||
| 86 | +errors were rejected rather than absorbed: weapon-incompatible | ||
| 87 | +recommendations, missing TP markers and invalid Art names were dropped in | ||
| 88 | +favor of game data. Where evidence stays sparse — most non-flagship | ||
| 89 | +companions have no independently recurring full build — the final bar is an | ||
| 90 | +explicitly editorial choice. Per-character evidence, decisions and gaps are | ||
| 91 | +recorded in four research matrices: | ||
| 92 | +[core](docs/research/companion-builds-core.md), | ||
| 93 | +[veterans](docs/research/companion-builds-veterans.md), | ||
| 94 | +[specialists](docs/research/companion-builds-specialists.md), | ||
| 95 | +[remaining](docs/research/companion-builds-remaining.md). | ||
| 96 | + | ||
| 59 | ## Run locally | 97 | ## Run locally |
| 60 | 98 | ||
| 61 | Requirements: Node.js 20.9 or newer. | 99 | Requirements: Node.js 20.9 or newer. |
app/globals.css +4 -0 | @@ -73,6 +73,10 @@ select:focus { border-color:var(--cyan);box-shadow:0 0 0 2px rgba(150,239,240,.0 | ||
| 73 | 73 | .skell-gear-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.skell-gear-list li{display:grid;gap:2px;border-left:2px solid rgba(150,239,240,.18);padding:4px 0 4px 10px}.skell-gear-list b{font-size:13px;color:#dbeae7;font-weight:500}.skell-gear-list small{font-size:11px;color:#5d8487;letter-spacing:.08em;text-transform:uppercase}.skell-gear-acquisition{font-size:11px;color:#537477;letter-spacing:.02em;line-height:1.35;text-transform:none} |
| 74 | 74 | .lvl-badge { display:inline-block;border:1px solid rgba(150,239,240,.35);color:var(--cyan);font-size:10px;font-style:normal;letter-spacing:.05em;padding:2px 5px;text-decoration:none;line-height:1.35 } |
| 75 | 75 | .lvl-badge:hover,.lvl-badge:focus-visible{border-color:var(--cyan);background:rgba(150,239,240,.08)} |
| 76 | +.equip-facts{display:grid;gap:0;margin:0}.equip-facts>div{border-top:1px solid rgba(150,239,240,.09);padding:9px 0}.equip-facts dt{font-size:11px;letter-spacing:.12em;color:#5f8183;text-transform:uppercase}.equip-facts dd{margin:4px 0 0;color:#9eb5b4;font-size:12px;line-height:1.5} | |
| 77 | +.curated-rationale{margin:0;color:#8fa9a7;font-size:12px;line-height:1.55} | |
| 78 | +.substitute-list{margin:0;padding-left:18px;color:#789698;font-size:12px;line-height:1.55;display:grid;gap:4px} | |
| 79 | +.source-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.source-list li{display:flex;align-items:baseline;gap:8px}.source-list a{color:var(--cyan);font-size:12px;text-decoration:none;border-bottom:1px solid rgba(150,239,240,.3)}.source-list a:hover,.source-list a:focus-visible{border-bottom-color:var(--cyan)}.source-list small{color:#4e7477;font-size:10px;letter-spacing:.08em} | |
| 76 | 80 | .method-note{display:grid;grid-template-columns:40px 1fr;gap:15px;margin-top:18px;border:1px solid var(--line);padding:20px;background:rgba(7,26,31,.7)}.method-note>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--orange);color:var(--orange)}.method-note h3{font-size:16px;margin:2px 0 7px}.method-note p{font-size:14px;line-height:1.65;color:#789698;margin:0;max-width:1200px} |
| 77 | 81 | .contextual-controls .combat-mode-field{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(150px,1fr);gap:12px}.contextual-controls .combat-mode-field select{padding-top:8px;padding-bottom:8px}.contextual-controls .special-unlock-field{grid-column:1/-1}.recommendation-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.recommendation-tabs button{display:grid;gap:5px;text-align:left;padding:14px 16px;border:1px solid var(--line);background:rgba(8,29,34,.58);color:#718f91;cursor:pointer}.recommendation-tabs button span{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.recommendation-tabs button b{font-size:14px;color:#a8bfbd;font-weight:500}.recommendation-tabs button small{font-size:11px;color:#55787c}.recommendation-tabs button:hover{border-color:rgba(150,239,240,.45)}.recommendation-tabs button.active{border-color:var(--cyan);background:linear-gradient(120deg,rgba(150,239,240,.11),rgba(110,243,197,.04));box-shadow:inset 3px 0 var(--cyan)}.recommendation-tabs button.active span,.recommendation-tabs button.active small{color:var(--cyan)}.recommendation-tabs button.active b{color:#e5f3ef}.recommendation-context{display:grid;grid-template-columns:1.4fr auto 1fr;gap:18px;align-items:start;border:1px solid var(--line);border-top:0;background:rgba(4,18,22,.58);padding:15px 18px;margin:-12px 0 12px}.recommendation-context small,.infeasible-panel small{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#63888a;margin-bottom:7px}.recommendation-context ul,.infeasible-panel ul{margin:0;padding-left:18px;color:#91aaa8;font-size:13px;line-height:1.5}.score-grid{display:flex;gap:7px;margin:0}.score-grid div{min-width:52px;padding:7px;border:1px solid rgba(150,239,240,.12);text-align:center}.score-grid dt{font-size:9px;color:#55787c;letter-spacing:.1em}.score-grid dd{margin:3px 0 0;color:var(--mint);font-size:13px}.recommendation-evidence{display:flex;flex-wrap:wrap;gap:6px}.recommendation-evidence small{width:100%}.recommendation-evidence a,.skell-evidence a{font-size:11px;color:#80a9aa;text-decoration:none;border:1px solid rgba(150,239,240,.15);padding:4px 6px}.recommendation-evidence a:hover,.skell-evidence a:hover{color:var(--cyan);border-color:var(--cyan)}.infeasible-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;border:1px solid rgba(255,113,79,.3);background:rgba(255,113,79,.05);padding:22px}.arts-block li.special-art{border-color:rgba(255,113,79,.3);background:rgba(255,113,79,.045)}.special-art-badge{display:inline-block;margin-left:7px;padding:2px 4px;border:1px solid rgba(255,113,79,.35);color:#ff9479;font-size:8px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.art-detail .art-fallback{display:grid;gap:2px;margin:7px 0 0;padding:6px 8px;border-left:2px solid var(--mint);background:rgba(110,243,197,.04)}.art-detail .art-fallback strong{font-size:10px;color:#98c8b8}.art-detail .art-fallback span{font-size:10px;color:#5f8180}.skell-evidence{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px} |
| 78 | 82 | .recommendation-context{grid-template-columns:1.4fr auto} |
| @@ -73,6 +73,10 @@ select:focus { border-color:var(--cyan);box-shadow:0 0 0 2px rgba(150,239,240,.0 | |||
| 73 | .skell-gear-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.skell-gear-list li{display:grid;gap:2px;border-left:2px solid rgba(150,239,240,.18);padding:4px 0 4px 10px}.skell-gear-list b{font-size:13px;color:#dbeae7;font-weight:500}.skell-gear-list small{font-size:11px;color:#5d8487;letter-spacing:.08em;text-transform:uppercase}.skell-gear-acquisition{font-size:11px;color:#537477;letter-spacing:.02em;line-height:1.35;text-transform:none} | 73 | .skell-gear-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.skell-gear-list li{display:grid;gap:2px;border-left:2px solid rgba(150,239,240,.18);padding:4px 0 4px 10px}.skell-gear-list b{font-size:13px;color:#dbeae7;font-weight:500}.skell-gear-list small{font-size:11px;color:#5d8487;letter-spacing:.08em;text-transform:uppercase}.skell-gear-acquisition{font-size:11px;color:#537477;letter-spacing:.02em;line-height:1.35;text-transform:none} |
| 74 | .lvl-badge { display:inline-block;border:1px solid rgba(150,239,240,.35);color:var(--cyan);font-size:10px;font-style:normal;letter-spacing:.05em;padding:2px 5px;text-decoration:none;line-height:1.35 } | 74 | .lvl-badge { display:inline-block;border:1px solid rgba(150,239,240,.35);color:var(--cyan);font-size:10px;font-style:normal;letter-spacing:.05em;padding:2px 5px;text-decoration:none;line-height:1.35 } |
| 75 | .lvl-badge:hover,.lvl-badge:focus-visible{border-color:var(--cyan);background:rgba(150,239,240,.08)} | 75 | .lvl-badge:hover,.lvl-badge:focus-visible{border-color:var(--cyan);background:rgba(150,239,240,.08)} |
| 76 | +.equip-facts{display:grid;gap:0;margin:0}.equip-facts>div{border-top:1px solid rgba(150,239,240,.09);padding:9px 0}.equip-facts dt{font-size:11px;letter-spacing:.12em;color:#5f8183;text-transform:uppercase}.equip-facts dd{margin:4px 0 0;color:#9eb5b4;font-size:12px;line-height:1.5} | ||
| 77 | +.curated-rationale{margin:0;color:#8fa9a7;font-size:12px;line-height:1.55} | ||
| 78 | +.substitute-list{margin:0;padding-left:18px;color:#789698;font-size:12px;line-height:1.55;display:grid;gap:4px} | ||
| 79 | +.source-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.source-list li{display:flex;align-items:baseline;gap:8px}.source-list a{color:var(--cyan);font-size:12px;text-decoration:none;border-bottom:1px solid rgba(150,239,240,.3)}.source-list a:hover,.source-list a:focus-visible{border-bottom-color:var(--cyan)}.source-list small{color:#4e7477;font-size:10px;letter-spacing:.08em} | ||
| 76 | .method-note{display:grid;grid-template-columns:40px 1fr;gap:15px;margin-top:18px;border:1px solid var(--line);padding:20px;background:rgba(7,26,31,.7)}.method-note>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--orange);color:var(--orange)}.method-note h3{font-size:16px;margin:2px 0 7px}.method-note p{font-size:14px;line-height:1.65;color:#789698;margin:0;max-width:1200px} | 80 | .method-note{display:grid;grid-template-columns:40px 1fr;gap:15px;margin-top:18px;border:1px solid var(--line);padding:20px;background:rgba(7,26,31,.7)}.method-note>span{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--orange);color:var(--orange)}.method-note h3{font-size:16px;margin:2px 0 7px}.method-note p{font-size:14px;line-height:1.65;color:#789698;margin:0;max-width:1200px} |
| 77 | .contextual-controls .combat-mode-field{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(150px,1fr);gap:12px}.contextual-controls .combat-mode-field select{padding-top:8px;padding-bottom:8px}.contextual-controls .special-unlock-field{grid-column:1/-1}.recommendation-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.recommendation-tabs button{display:grid;gap:5px;text-align:left;padding:14px 16px;border:1px solid var(--line);background:rgba(8,29,34,.58);color:#718f91;cursor:pointer}.recommendation-tabs button span{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.recommendation-tabs button b{font-size:14px;color:#a8bfbd;font-weight:500}.recommendation-tabs button small{font-size:11px;color:#55787c}.recommendation-tabs button:hover{border-color:rgba(150,239,240,.45)}.recommendation-tabs button.active{border-color:var(--cyan);background:linear-gradient(120deg,rgba(150,239,240,.11),rgba(110,243,197,.04));box-shadow:inset 3px 0 var(--cyan)}.recommendation-tabs button.active span,.recommendation-tabs button.active small{color:var(--cyan)}.recommendation-tabs button.active b{color:#e5f3ef}.recommendation-context{display:grid;grid-template-columns:1.4fr auto 1fr;gap:18px;align-items:start;border:1px solid var(--line);border-top:0;background:rgba(4,18,22,.58);padding:15px 18px;margin:-12px 0 12px}.recommendation-context small,.infeasible-panel small{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#63888a;margin-bottom:7px}.recommendation-context ul,.infeasible-panel ul{margin:0;padding-left:18px;color:#91aaa8;font-size:13px;line-height:1.5}.score-grid{display:flex;gap:7px;margin:0}.score-grid div{min-width:52px;padding:7px;border:1px solid rgba(150,239,240,.12);text-align:center}.score-grid dt{font-size:9px;color:#55787c;letter-spacing:.1em}.score-grid dd{margin:3px 0 0;color:var(--mint);font-size:13px}.recommendation-evidence{display:flex;flex-wrap:wrap;gap:6px}.recommendation-evidence small{width:100%}.recommendation-evidence a,.skell-evidence a{font-size:11px;color:#80a9aa;text-decoration:none;border:1px solid rgba(150,239,240,.15);padding:4px 6px}.recommendation-evidence a:hover,.skell-evidence a:hover{color:var(--cyan);border-color:var(--cyan)}.infeasible-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;border:1px solid rgba(255,113,79,.3);background:rgba(255,113,79,.05);padding:22px}.arts-block li.special-art{border-color:rgba(255,113,79,.3);background:rgba(255,113,79,.045)}.special-art-badge{display:inline-block;margin-left:7px;padding:2px 4px;border:1px solid rgba(255,113,79,.35);color:#ff9479;font-size:8px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.art-detail .art-fallback{display:grid;gap:2px;margin:7px 0 0;padding:6px 8px;border-left:2px solid var(--mint);background:rgba(110,243,197,.04)}.art-detail .art-fallback strong{font-size:10px;color:#98c8b8}.art-detail .art-fallback span{font-size:10px;color:#5f8180}.skell-evidence{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px} | 81 | .contextual-controls .combat-mode-field{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(150px,1fr);gap:12px}.contextual-controls .combat-mode-field select{padding-top:8px;padding-bottom:8px}.contextual-controls .special-unlock-field{grid-column:1/-1}.recommendation-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:12px}.recommendation-tabs button{display:grid;gap:5px;text-align:left;padding:14px 16px;border:1px solid var(--line);background:rgba(8,29,34,.58);color:#718f91;cursor:pointer}.recommendation-tabs button span{font-size:11px;letter-spacing:.15em;text-transform:uppercase}.recommendation-tabs button b{font-size:14px;color:#a8bfbd;font-weight:500}.recommendation-tabs button small{font-size:11px;color:#55787c}.recommendation-tabs button:hover{border-color:rgba(150,239,240,.45)}.recommendation-tabs button.active{border-color:var(--cyan);background:linear-gradient(120deg,rgba(150,239,240,.11),rgba(110,243,197,.04));box-shadow:inset 3px 0 var(--cyan)}.recommendation-tabs button.active span,.recommendation-tabs button.active small{color:var(--cyan)}.recommendation-tabs button.active b{color:#e5f3ef}.recommendation-context{display:grid;grid-template-columns:1.4fr auto 1fr;gap:18px;align-items:start;border:1px solid var(--line);border-top:0;background:rgba(4,18,22,.58);padding:15px 18px;margin:-12px 0 12px}.recommendation-context small,.infeasible-panel small{display:block;font-size:11px;letter-spacing:.15em;text-transform:uppercase;color:#63888a;margin-bottom:7px}.recommendation-context ul,.infeasible-panel ul{margin:0;padding-left:18px;color:#91aaa8;font-size:13px;line-height:1.5}.score-grid{display:flex;gap:7px;margin:0}.score-grid div{min-width:52px;padding:7px;border:1px solid rgba(150,239,240,.12);text-align:center}.score-grid dt{font-size:9px;color:#55787c;letter-spacing:.1em}.score-grid dd{margin:3px 0 0;color:var(--mint);font-size:13px}.recommendation-evidence{display:flex;flex-wrap:wrap;gap:6px}.recommendation-evidence small{width:100%}.recommendation-evidence a,.skell-evidence a{font-size:11px;color:#80a9aa;text-decoration:none;border:1px solid rgba(150,239,240,.15);padding:4px 6px}.recommendation-evidence a:hover,.skell-evidence a:hover{color:var(--cyan);border-color:var(--cyan)}.infeasible-panel{display:grid;grid-template-columns:1fr 1fr;gap:20px;border:1px solid rgba(255,113,79,.3);background:rgba(255,113,79,.05);padding:22px}.arts-block li.special-art{border-color:rgba(255,113,79,.3);background:rgba(255,113,79,.045)}.special-art-badge{display:inline-block;margin-left:7px;padding:2px 4px;border:1px solid rgba(255,113,79,.35);color:#ff9479;font-size:8px;font-style:normal;letter-spacing:.08em;text-transform:uppercase}.art-detail .art-fallback{display:grid;gap:2px;margin:7px 0 0;padding:6px 8px;border-left:2px solid var(--mint);background:rgba(110,243,197,.04)}.art-detail .art-fallback strong{font-size:10px;color:#98c8b8}.art-detail .art-fallback span{font-size:10px;color:#5f8180}.skell-evidence{display:flex;flex-wrap:wrap;gap:5px;margin-top:12px} |
| 78 | .recommendation-context{grid-template-columns:1.4fr auto} | 82 | .recommendation-context{grid-template-columns:1.4fr auto} |
src/components/BuildCard.tsx +68 -10 | @@ -31,9 +31,11 @@ export default function BuildCard({ | ||
| 31 | 31 | postgameFrames, |
| 32 | 32 | }: BuildCardProps) { |
| 33 | 33 | const strategy = buildStrategies[member.strategy]; |
| 34 | - const dominantAttribute = localizedGameUiText(member.dominantAttribute, lang) | |
| 35 | - .toLocaleUpperCase(lang === "fr" ? "fr-FR" : "en-US"); | |
| 36 | - const armsManufacturer = armsManufacturers[member.strategy]; | |
| 34 | + const curatedBuild = member.kind === "companion" ? member.curatedBuild : undefined; | |
| 35 | + const dominantAttribute = curatedBuild | |
| 36 | + ? "" | |
| 37 | + : localizedGameUiText(member.dominantAttribute, lang) | |
| 38 | + .toLocaleUpperCase(lang === "fr" ? "fr-FR" : "en-US"); | |
| 37 | 39 | const skell = recommendSkellFrame({ |
| 38 | 40 | strategy: member.strategy, |
| 39 | 41 | pilotLevel: member.effectiveLevel, |
| @@ -65,12 +67,20 @@ export default function BuildCard({ | ||
| 65 | 67 | <header className="build-card-head"> |
| 66 | 68 | <span className="member-number">{String(index + 1).padStart(2, "0")}</span> |
| 67 | 69 | <div><h3>{member.name}</h3><p>{member.className} · {t.levelShort} {member.effectiveLevel} · {t.personalRankShort} {member.rank}</p></div> |
| 68 | - <div className="role-tag"><small>{t.dominantAttribute} · {dominantAttribute} ({strategy.damage})</small><b>{localized(strategy.role, lang)}</b></div> | |
| 70 | + <div className="role-tag"><small>{curatedBuild ? t.researchedBuild : `${t.dominantAttribute} · ${dominantAttribute} (${strategy.damage})`}</small><b>{localized(curatedBuild ? curatedBuild.role : strategy.role, lang)}</b></div> | |
| 69 | 71 | </header> |
| 70 | 72 | <div className="build-columns"> |
| 71 | 73 | <section className="loadout-block arts-block"> |
| 72 | 74 | <h4><span>A</span>{t.artsLoadout} · {member.arts.length}/8</h4> |
| 73 | 75 | <p className="weapon-lock">{member.weapons.ranged} + {member.weapons.melee} · {localized(member.note, lang)}</p> |
| 76 | + {curatedBuild && ( | |
| 77 | + <details className="skell-detail curated-disclosure"> | |
| 78 | + <summary>{t.curatedRationale}</summary> | |
| 79 | + <div className="skell-detail-body"> | |
| 80 | + <p className="curated-rationale">{localized(curatedBuild.rationale, lang)}</p> | |
| 81 | + </div> | |
| 82 | + </details> | |
| 83 | + )} | |
| 74 | 84 | {member.arts.length > 0 ? <ol> |
| 75 | 85 | {member.arts.slice(0, 8).map((art, artIndex) => ( |
| 76 | 86 | <li className={art.specialUnlock ? "special-art" : undefined} key={`${art.name}-${artIndex}`}> |
| @@ -93,6 +103,16 @@ export default function BuildCard({ | ||
| 93 | 103 | </li> |
| 94 | 104 | ))} |
| 95 | 105 | </ol> : <p className="empty-loadout">{t.noLearnedArts}</p>} |
| 106 | + {curatedBuild && curatedBuild.artSubstitutes.length > 0 && ( | |
| 107 | + <details className="skell-detail curated-disclosure"> | |
| 108 | + <summary>{t.progressionSubstitutes}<small>{curatedBuild.artSubstitutes.length}</small></summary> | |
| 109 | + <div className="skell-detail-body"> | |
| 110 | + <ol className="substitute-list"> | |
| 111 | + {curatedBuild.artSubstitutes.map((name) => <li key={name}>{name}</li>)} | |
| 112 | + </ol> | |
| 113 | + </div> | |
| 114 | + </details> | |
| 115 | + )} | |
| 96 | 116 | </section> |
| 97 | 117 | |
| 98 | 118 | <section className="loadout-block skills-block"> |
| @@ -109,13 +129,51 @@ export default function BuildCard({ | ||
| 109 | 129 | ))} |
| 110 | 130 | </div> : <p className="empty-loadout">{t.noLearnedSkills}</p>} |
| 111 | 131 | |
| 112 | - <h5>{t.heuristicStatPriority}</h5> | |
| 113 | - <ol className="stat-priority-list"> | |
| 114 | - {strategy.statPriority.map((stat) => <li key={stat}>{localizedGameUiText(stat, lang)}</li>)} | |
| 115 | - </ol> | |
| 132 | + {curatedBuild ? ( | |
| 133 | + <> | |
| 134 | + <h5>{t.curatedEquipment}</h5> | |
| 135 | + <dl className="equip-facts"> | |
| 136 | + <div><dt>{t.equipmentWeapons}</dt><dd>{localized(curatedBuild.equipment.weapons, lang)}</dd></div> | |
| 137 | + <div><dt>{t.equipmentArmor}</dt><dd>{localized(curatedBuild.equipment.armor, lang)}</dd></div> | |
| 138 | + <div><dt>{t.equipmentAvailability}</dt><dd>{localized(curatedBuild.equipment.availability, lang)}</dd></div> | |
| 139 | + </dl> | |
| 140 | + {curatedBuild.skillSubstitutes.length > 0 && ( | |
| 141 | + <details className="skell-detail curated-disclosure"> | |
| 142 | + <summary>{t.progressionSubstitutes}<small>{curatedBuild.skillSubstitutes.length}</small></summary> | |
| 143 | + <div className="skell-detail-body"> | |
| 144 | + <ol className="substitute-list"> | |
| 145 | + {curatedBuild.skillSubstitutes.map((name) => <li key={name}>{name}</li>)} | |
| 146 | + </ol> | |
| 147 | + </div> | |
| 148 | + </details> | |
| 149 | + )} | |
| 150 | + {curatedBuild.sources.length > 0 && ( | |
| 151 | + <details className="skell-detail curated-disclosure"> | |
| 152 | + <summary>{t.curatedSources}<small>{curatedBuild.sources.length}</small></summary> | |
| 153 | + <div className="skell-detail-body"> | |
| 154 | + <ul className="source-list"> | |
| 155 | + {curatedBuild.sources.map((source) => ( | |
| 156 | + <li key={source.url}> | |
| 157 | + <a href={source.url} target="_blank" rel="noreferrer">{source.label}</a> | |
| 158 | + <small>{source.edition.toUpperCase()}</small> | |
| 159 | + </li> | |
| 160 | + ))} | |
| 161 | + </ul> | |
| 162 | + </div> | |
| 163 | + </details> | |
| 164 | + )} | |
| 165 | + </> | |
| 166 | + ) : ( | |
| 167 | + <> | |
| 168 | + <h5>{t.heuristicStatPriority}</h5> | |
| 169 | + <ol className="stat-priority-list"> | |
| 170 | + {strategy.statPriority.map((stat) => <li key={stat}>{localizedGameUiText(stat, lang)}</li>)} | |
| 171 | + </ol> | |
| 116 | 172 | |
| 117 | - <h5>{t.amRecommended}</h5> | |
| 118 | - <p className="am-note"><b>{armsManufacturer.name}</b><span>{localized(armsManufacturer.specialty, lang)}</span></p> | |
| 173 | + <h5>{t.amRecommended}</h5> | |
| 174 | + <p className="am-note"><b>{armsManufacturers[member.strategy].name}</b><span>{localized(armsManufacturers[member.strategy].specialty, lang)}</span></p> | |
| 175 | + </> | |
| 176 | + )} | |
| 119 | 177 | |
| 120 | 178 | <h5>{t.planReasons}</h5> |
| 121 | 179 | <ul className="plan-reasons"> |
| @@ -31,9 +31,11 @@ export default function BuildCard({ | |||
| 31 | postgameFrames, | 31 | postgameFrames, |
| 32 | }: BuildCardProps) { | 32 | }: BuildCardProps) { |
| 33 | const strategy = buildStrategies[member.strategy]; | 33 | const strategy = buildStrategies[member.strategy]; |
| 34 | - const dominantAttribute = localizedGameUiText(member.dominantAttribute, lang) | 34 | + const curatedBuild = member.kind === "companion" ? member.curatedBuild : undefined; |
| 35 | - .toLocaleUpperCase(lang === "fr" ? "fr-FR" : "en-US"); | 35 | + const dominantAttribute = curatedBuild |
| 36 | - const armsManufacturer = armsManufacturers[member.strategy]; | 36 | + ? "" |
| 37 | + : localizedGameUiText(member.dominantAttribute, lang) | ||
| 38 | + .toLocaleUpperCase(lang === "fr" ? "fr-FR" : "en-US"); | ||
| 37 | const skell = recommendSkellFrame({ | 39 | const skell = recommendSkellFrame({ |
| 38 | strategy: member.strategy, | 40 | strategy: member.strategy, |
| 39 | pilotLevel: member.effectiveLevel, | 41 | pilotLevel: member.effectiveLevel, |
| @@ -65,12 +67,20 @@ export default function BuildCard({ | |||
| 65 | <header className="build-card-head"> | 67 | <header className="build-card-head"> |
| 66 | <span className="member-number">{String(index + 1).padStart(2, "0")}</span> | 68 | <span className="member-number">{String(index + 1).padStart(2, "0")}</span> |
| 67 | <div><h3>{member.name}</h3><p>{member.className} · {t.levelShort} {member.effectiveLevel} · {t.personalRankShort} {member.rank}</p></div> | 69 | <div><h3>{member.name}</h3><p>{member.className} · {t.levelShort} {member.effectiveLevel} · {t.personalRankShort} {member.rank}</p></div> |
| 68 | - <div className="role-tag"><small>{t.dominantAttribute} · {dominantAttribute} ({strategy.damage})</small><b>{localized(strategy.role, lang)}</b></div> | 70 | + <div className="role-tag"><small>{curatedBuild ? t.researchedBuild : `${t.dominantAttribute} · ${dominantAttribute} (${strategy.damage})`}</small><b>{localized(curatedBuild ? curatedBuild.role : strategy.role, lang)}</b></div> |
| 69 | </header> | 71 | </header> |
| 70 | <div className="build-columns"> | 72 | <div className="build-columns"> |
| 71 | <section className="loadout-block arts-block"> | 73 | <section className="loadout-block arts-block"> |
| 72 | <h4><span>A</span>{t.artsLoadout} · {member.arts.length}/8</h4> | 74 | <h4><span>A</span>{t.artsLoadout} · {member.arts.length}/8</h4> |
| 73 | <p className="weapon-lock">{member.weapons.ranged} + {member.weapons.melee} · {localized(member.note, lang)}</p> | 75 | <p className="weapon-lock">{member.weapons.ranged} + {member.weapons.melee} · {localized(member.note, lang)}</p> |
| 76 | + {curatedBuild && ( | ||
| 77 | + <details className="skell-detail curated-disclosure"> | ||
| 78 | + <summary>{t.curatedRationale}</summary> | ||
| 79 | + <div className="skell-detail-body"> | ||
| 80 | + <p className="curated-rationale">{localized(curatedBuild.rationale, lang)}</p> | ||
| 81 | + </div> | ||
| 82 | + </details> | ||
| 83 | + )} | ||
| 74 | {member.arts.length > 0 ? <ol> | 84 | {member.arts.length > 0 ? <ol> |
| 75 | {member.arts.slice(0, 8).map((art, artIndex) => ( | 85 | {member.arts.slice(0, 8).map((art, artIndex) => ( |
| 76 | <li className={art.specialUnlock ? "special-art" : undefined} key={`${art.name}-${artIndex}`}> | 86 | <li className={art.specialUnlock ? "special-art" : undefined} key={`${art.name}-${artIndex}`}> |
| @@ -93,6 +103,16 @@ export default function BuildCard({ | |||
| 93 | </li> | 103 | </li> |
| 94 | ))} | 104 | ))} |
| 95 | </ol> : <p className="empty-loadout">{t.noLearnedArts}</p>} | 105 | </ol> : <p className="empty-loadout">{t.noLearnedArts}</p>} |
| 106 | + {curatedBuild && curatedBuild.artSubstitutes.length > 0 && ( | ||
| 107 | + <details className="skell-detail curated-disclosure"> | ||
| 108 | + <summary>{t.progressionSubstitutes}<small>{curatedBuild.artSubstitutes.length}</small></summary> | ||
| 109 | + <div className="skell-detail-body"> | ||
| 110 | + <ol className="substitute-list"> | ||
| 111 | + {curatedBuild.artSubstitutes.map((name) => <li key={name}>{name}</li>)} | ||
| 112 | + </ol> | ||
| 113 | + </div> | ||
| 114 | + </details> | ||
| 115 | + )} | ||
| 96 | </section> | 116 | </section> |
| 97 | 117 | ||
| 98 | <section className="loadout-block skills-block"> | 118 | <section className="loadout-block skills-block"> |
| @@ -109,13 +129,51 @@ export default function BuildCard({ | |||
| 109 | ))} | 129 | ))} |
| 110 | </div> : <p className="empty-loadout">{t.noLearnedSkills}</p>} | 130 | </div> : <p className="empty-loadout">{t.noLearnedSkills}</p>} |
| 111 | 131 | ||
| 112 | - <h5>{t.heuristicStatPriority}</h5> | 132 | + {curatedBuild ? ( |
| 113 | - <ol className="stat-priority-list"> | 133 | + <> |
| 114 | - {strategy.statPriority.map((stat) => <li key={stat}>{localizedGameUiText(stat, lang)}</li>)} | 134 | + <h5>{t.curatedEquipment}</h5> |
| 115 | - </ol> | 135 | + <dl className="equip-facts"> |
| 136 | + <div><dt>{t.equipmentWeapons}</dt><dd>{localized(curatedBuild.equipment.weapons, lang)}</dd></div> | ||
| 137 | + <div><dt>{t.equipmentArmor}</dt><dd>{localized(curatedBuild.equipment.armor, lang)}</dd></div> | ||
| 138 | + <div><dt>{t.equipmentAvailability}</dt><dd>{localized(curatedBuild.equipment.availability, lang)}</dd></div> | ||
| 139 | + </dl> | ||
| 140 | + {curatedBuild.skillSubstitutes.length > 0 && ( | ||
| 141 | + <details className="skell-detail curated-disclosure"> | ||
| 142 | + <summary>{t.progressionSubstitutes}<small>{curatedBuild.skillSubstitutes.length}</small></summary> | ||
| 143 | + <div className="skell-detail-body"> | ||
| 144 | + <ol className="substitute-list"> | ||
| 145 | + {curatedBuild.skillSubstitutes.map((name) => <li key={name}>{name}</li>)} | ||
| 146 | + </ol> | ||
| 147 | + </div> | ||
| 148 | + </details> | ||
| 149 | + )} | ||
| 150 | + {curatedBuild.sources.length > 0 && ( | ||
| 151 | + <details className="skell-detail curated-disclosure"> | ||
| 152 | + <summary>{t.curatedSources}<small>{curatedBuild.sources.length}</small></summary> | ||
| 153 | + <div className="skell-detail-body"> | ||
| 154 | + <ul className="source-list"> | ||
| 155 | + {curatedBuild.sources.map((source) => ( | ||
| 156 | + <li key={source.url}> | ||
| 157 | + <a href={source.url} target="_blank" rel="noreferrer">{source.label}</a> | ||
| 158 | + <small>{source.edition.toUpperCase()}</small> | ||
| 159 | + </li> | ||
| 160 | + ))} | ||
| 161 | + </ul> | ||
| 162 | + </div> | ||
| 163 | + </details> | ||
| 164 | + )} | ||
| 165 | + </> | ||
| 166 | + ) : ( | ||
| 167 | + <> | ||
| 168 | + <h5>{t.heuristicStatPriority}</h5> | ||
| 169 | + <ol className="stat-priority-list"> | ||
| 170 | + {strategy.statPriority.map((stat) => <li key={stat}>{localizedGameUiText(stat, lang)}</li>)} | ||
| 171 | + </ol> | ||
| 116 | 172 | ||
| 117 | - <h5>{t.amRecommended}</h5> | 173 | + <h5>{t.amRecommended}</h5> |
| 118 | - <p className="am-note"><b>{armsManufacturer.name}</b><span>{localized(armsManufacturer.specialty, lang)}</span></p> | 174 | + <p className="am-note"><b>{armsManufacturers[member.strategy].name}</b><span>{localized(armsManufacturers[member.strategy].specialty, lang)}</span></p> |
| 175 | + </> | ||
| 176 | + )} | ||
| 119 | 177 | ||
| 120 | <h5>{t.planReasons}</h5> | 178 | <h5>{t.planReasons}</h5> |
| 121 | <ul className="plan-reasons"> | 179 | <ul className="plan-reasons"> |
src/data/art-effects.json +0 -0 | similarity index 100% | ||
| rename from research/art-effects.json | ||
| rename to src/data/art-effects.json |
| similarity index 100% | |||
| rename from research/art-effects.json | |||
| rename to src/data/art-effects.json |
src/data/artDescriptions.ts +1 -1 | @@ -3,7 +3,7 @@ import type { LocalizedText } from "@/src/lib/types"; | ||
| 3 | 3 | /** Official in-game Art descriptions (English captions) from the Xeno Series |
| 4 | 4 | * Wiki; French text is a project translation of the canonical English — the |
| 5 | 5 | * wiki only publishes French Art names, not French descriptions. |
| 6 | - * Generated from research/art-effects.json — see that file for provenance. */ | |
| 6 | + * Generated from src/data/art-effects.json — see that file for provenance. */ | |
| 7 | 7 | export const artDescriptions: Readonly<Record<string, LocalizedText>> = { |
| 8 | 8 | "Absorber Skin": ["Grants Barrier", "Octroie Barrière"], |
| 9 | 9 | "Afterburner": ["(TP) Deals weapon damage + Boosts damage in ranged combos", "(TP) Inflige des dégâts de l'arme + Augmente les dégâts en combos à distance"], |
| @@ -3,7 +3,7 @@ import type { LocalizedText } from "@/src/lib/types"; | |||
| 3 | /** Official in-game Art descriptions (English captions) from the Xeno Series | 3 | /** Official in-game Art descriptions (English captions) from the Xeno Series |
| 4 | * Wiki; French text is a project translation of the canonical English — the | 4 | * Wiki; French text is a project translation of the canonical English — the |
| 5 | * wiki only publishes French Art names, not French descriptions. | 5 | * wiki only publishes French Art names, not French descriptions. |
| 6 | - * Generated from research/art-effects.json — see that file for provenance. */ | 6 | + * Generated from src/data/art-effects.json — see that file for provenance. */ |
| 7 | export const artDescriptions: Readonly<Record<string, LocalizedText>> = { | 7 | export const artDescriptions: Readonly<Record<string, LocalizedText>> = { |
| 8 | "Absorber Skin": ["Grants Barrier", "Octroie Barrière"], | 8 | "Absorber Skin": ["Grants Barrier", "Octroie Barrière"], |
| 9 | "Afterburner": ["(TP) Deals weapon damage + Boosts damage in ranged combos", "(TP) Inflige des dégâts de l'arme + Augmente les dégâts en combos à distance"], | 9 | "Afterburner": ["(TP) Deals weapon damage + Boosts damage in ranged combos", "(TP) Inflige des dégâts de l'arme + Augmente les dégâts en combos à distance"], |
src/data/companionBuilds.ts +2225 -0 src/data/i18n.ts +26 -2 | @@ -68,6 +68,14 @@ export interface Copy { | ||
| 68 | 68 | amRecommended: string; |
| 69 | 69 | recommendedUpgrade: string; |
| 70 | 70 | planReasons: string; |
| 71 | + researchedBuild: string; | |
| 72 | + curatedRationale: string; | |
| 73 | + curatedEquipment: string; | |
| 74 | + equipmentWeapons: string; | |
| 75 | + equipmentArmor: string; | |
| 76 | + equipmentAvailability: string; | |
| 77 | + progressionSubstitutes: string; | |
| 78 | + curatedSources: string; | |
| 71 | 79 | skellSection: string; |
| 72 | 80 | skellFrame: string; |
| 73 | 81 | skellAlternatives: string; |
| @@ -155,6 +163,14 @@ export const copy: Record<Lang, Copy> = { | ||
| 155 | 163 | amRecommended: "RECOMMENDED AM", |
| 156 | 164 | recommendedUpgrade: "Recommended BP upgrade level (canonical max: 5) — heuristic from selection priority and squad level", |
| 157 | 165 | planReasons: "PLAN REASONS", |
| 166 | + researchedBuild: "RESEARCHED BUILD", | |
| 167 | + curatedRationale: "Build rationale", | |
| 168 | + curatedEquipment: "Researched equipment advice", | |
| 169 | + equipmentWeapons: "Arms manufacturers", | |
| 170 | + equipmentArmor: "Armor", | |
| 171 | + equipmentAvailability: "Availability & alternatives", | |
| 172 | + progressionSubstitutes: "Progression substitutes", | |
| 173 | + curatedSources: "Sources", | |
| 158 | 174 | skellSection: "SKELL", |
| 159 | 175 | skellFrame: "FRAME", |
| 160 | 176 | skellAlternatives: "Alternatives", |
| @@ -167,7 +183,7 @@ export const copy: Record<Lang, Copy> = { | ||
| 167 | 183 | skellNoLicense: "No frame is recommended without the Skell License.", |
| 168 | 184 | skellLowLevel: "No frame is recommended before pilot level 20.", |
| 169 | 185 | methodTitle: "Scope and method", |
| 170 | - methodBody: "Contextual scores enforce level, rank, weapon, and slot constraints before comparing role balance, offense, safety, progression, Skell aptitude, and a moderate community prior. Results are explainable progression-safe recommendations—not universal clear guarantees. Signature Arts appear only when enabled and always show a regular-Art fallback; equipment advice names AMs, stats, traits, and augment families without inventing owned gear.", | |
| 186 | + methodBody: "Contextual scores enforce level, rank, weapon, and slot constraints before comparing teams. Companion scores use their equipped, fixed builds, with ordered progression substitutes and at most two TP-consuming Arts. Cross's Signature Arts require the unlock option and show a regular-Art fallback. Equipment advice includes sources and availability limits; editorial choices are not universal best builds.", | |
| 171 | 187 | footerTagline: "© 2026 BLADE Team Architect. Unofficial fan project, not affiliated with, endorsed by, or sponsored by Nintendo or MONOLITHSOFT. Xenoblade Chronicles and related names, characters, and assets belong to their respective rights holders.", |
| 172 | 188 | rankDown: "Decrease rank", |
| 173 | 189 | rankUp: "Increase rank", |
| @@ -240,6 +256,14 @@ export const copy: Record<Lang, Copy> = { | ||
| 240 | 256 | amRecommended: "AM RECOMMANDÉ", |
| 241 | 257 | recommendedUpgrade: "Niveau d'amélioration BP recommandé (maximum canonique : 5) — heuristique selon la priorité du plan et le niveau d'escouade", |
| 242 | 258 | planReasons: "RAISONS DU PLAN", |
| 259 | + researchedBuild: "BUILD DOCUMENTÉ", | |
| 260 | + curatedRationale: "Justification du build", | |
| 261 | + curatedEquipment: "Conseils d'équipement documentés", | |
| 262 | + equipmentWeapons: "Fabricants d'armes", | |
| 263 | + equipmentArmor: "Armure", | |
| 264 | + equipmentAvailability: "Disponibilité et alternatives", | |
| 265 | + progressionSubstitutes: "Substituts de progression", | |
| 266 | + curatedSources: "Sources", | |
| 243 | 267 | skellSection: "SKELL", |
| 244 | 268 | skellFrame: "CHÂSSIS", |
| 245 | 269 | skellAlternatives: "Alternatives", |
| @@ -252,7 +276,7 @@ export const copy: Record<Lang, Copy> = { | ||
| 252 | 276 | skellNoLicense: "Aucun châssis n’est recommandé sans la Licence Skell.", |
| 253 | 277 | skellLowLevel: "Aucun châssis n’est recommandé avant le niveau de pilote 20.", |
| 254 | 278 | methodTitle: "Portée et méthode", |
| 255 | - methodBody: "Les scores contextuels appliquent d'abord les contraintes de niveau, rang, armes et slots, puis comparent équilibre des rôles, offense, sécurité, progression, aptitude Skell et un a priori communautaire modéré. Ce sont des recommandations explicables et sûres pour la progression, pas des garanties universelles. Les Arts signature n'apparaissent que si activés et affichent toujours un Art régulier de remplacement ; les conseils d'équipement nomment AM, stats, traits et familles d'augments sans inventer l'inventaire possédé.", | |
| 279 | + methodBody: "Les scores contextuels respectent les contraintes de niveau, rang, armes et emplacements avant de comparer les équipes. Les compagnons sont évalués sur leur build fixe équipé, avec des remplacements de progression ordonnés et au plus deux Arts consommant des PT. Les Arts signature de Cross nécessitent l'option de déblocage et indiquent un Art régulier de remplacement. Les conseils d'équipement précisent leurs sources et leurs limites de disponibilité ; les choix éditoriaux ne sont pas des builds universellement optimaux.", | |
| 256 | 280 | footerTagline: "© 2026 BLADE Team Architect. Projet de fans non officiel, sans affiliation, approbation ni parrainage de Nintendo ou MONOLITHSOFT. Xenoblade Chronicles ainsi que les noms, personnages et éléments associés appartiennent à leurs ayants droit respectifs.", |
| 257 | 281 | rankDown: "Diminuer le rang", |
| 258 | 282 | rankUp: "Augmenter le rang", |
| @@ -68,6 +68,14 @@ export interface Copy { | |||
| 68 | amRecommended: string; | 68 | amRecommended: string; |
| 69 | recommendedUpgrade: string; | 69 | recommendedUpgrade: string; |
| 70 | planReasons: string; | 70 | planReasons: string; |
| 71 | + researchedBuild: string; | ||
| 72 | + curatedRationale: string; | ||
| 73 | + curatedEquipment: string; | ||
| 74 | + equipmentWeapons: string; | ||
| 75 | + equipmentArmor: string; | ||
| 76 | + equipmentAvailability: string; | ||
| 77 | + progressionSubstitutes: string; | ||
| 78 | + curatedSources: string; | ||
| 71 | skellSection: string; | 79 | skellSection: string; |
| 72 | skellFrame: string; | 80 | skellFrame: string; |
| 73 | skellAlternatives: string; | 81 | skellAlternatives: string; |
| @@ -155,6 +163,14 @@ export const copy: Record<Lang, Copy> = { | |||
| 155 | amRecommended: "RECOMMENDED AM", | 163 | amRecommended: "RECOMMENDED AM", |
| 156 | recommendedUpgrade: "Recommended BP upgrade level (canonical max: 5) — heuristic from selection priority and squad level", | 164 | recommendedUpgrade: "Recommended BP upgrade level (canonical max: 5) — heuristic from selection priority and squad level", |
| 157 | planReasons: "PLAN REASONS", | 165 | planReasons: "PLAN REASONS", |
| 166 | + researchedBuild: "RESEARCHED BUILD", | ||
| 167 | + curatedRationale: "Build rationale", | ||
| 168 | + curatedEquipment: "Researched equipment advice", | ||
| 169 | + equipmentWeapons: "Arms manufacturers", | ||
| 170 | + equipmentArmor: "Armor", | ||
| 171 | + equipmentAvailability: "Availability & alternatives", | ||
| 172 | + progressionSubstitutes: "Progression substitutes", | ||
| 173 | + curatedSources: "Sources", | ||
| 158 | skellSection: "SKELL", | 174 | skellSection: "SKELL", |
| 159 | skellFrame: "FRAME", | 175 | skellFrame: "FRAME", |
| 160 | skellAlternatives: "Alternatives", | 176 | skellAlternatives: "Alternatives", |
| @@ -167,7 +183,7 @@ export const copy: Record<Lang, Copy> = { | |||
| 167 | skellNoLicense: "No frame is recommended without the Skell License.", | 183 | skellNoLicense: "No frame is recommended without the Skell License.", |
| 168 | skellLowLevel: "No frame is recommended before pilot level 20.", | 184 | skellLowLevel: "No frame is recommended before pilot level 20.", |
| 169 | methodTitle: "Scope and method", | 185 | methodTitle: "Scope and method", |
| 170 | - methodBody: "Contextual scores enforce level, rank, weapon, and slot constraints before comparing role balance, offense, safety, progression, Skell aptitude, and a moderate community prior. Results are explainable progression-safe recommendations—not universal clear guarantees. Signature Arts appear only when enabled and always show a regular-Art fallback; equipment advice names AMs, stats, traits, and augment families without inventing owned gear.", | 186 | + methodBody: "Contextual scores enforce level, rank, weapon, and slot constraints before comparing teams. Companion scores use their equipped, fixed builds, with ordered progression substitutes and at most two TP-consuming Arts. Cross's Signature Arts require the unlock option and show a regular-Art fallback. Equipment advice includes sources and availability limits; editorial choices are not universal best builds.", |
| 171 | footerTagline: "© 2026 BLADE Team Architect. Unofficial fan project, not affiliated with, endorsed by, or sponsored by Nintendo or MONOLITHSOFT. Xenoblade Chronicles and related names, characters, and assets belong to their respective rights holders.", | 187 | footerTagline: "© 2026 BLADE Team Architect. Unofficial fan project, not affiliated with, endorsed by, or sponsored by Nintendo or MONOLITHSOFT. Xenoblade Chronicles and related names, characters, and assets belong to their respective rights holders.", |
| 172 | rankDown: "Decrease rank", | 188 | rankDown: "Decrease rank", |
| 173 | rankUp: "Increase rank", | 189 | rankUp: "Increase rank", |
| @@ -240,6 +256,14 @@ export const copy: Record<Lang, Copy> = { | |||
| 240 | amRecommended: "AM RECOMMANDÉ", | 256 | amRecommended: "AM RECOMMANDÉ", |
| 241 | recommendedUpgrade: "Niveau d'amélioration BP recommandé (maximum canonique : 5) — heuristique selon la priorité du plan et le niveau d'escouade", | 257 | recommendedUpgrade: "Niveau d'amélioration BP recommandé (maximum canonique : 5) — heuristique selon la priorité du plan et le niveau d'escouade", |
| 242 | planReasons: "RAISONS DU PLAN", | 258 | planReasons: "RAISONS DU PLAN", |
| 259 | + researchedBuild: "BUILD DOCUMENTÉ", | ||
| 260 | + curatedRationale: "Justification du build", | ||
| 261 | + curatedEquipment: "Conseils d'équipement documentés", | ||
| 262 | + equipmentWeapons: "Fabricants d'armes", | ||
| 263 | + equipmentArmor: "Armure", | ||
| 264 | + equipmentAvailability: "Disponibilité et alternatives", | ||
| 265 | + progressionSubstitutes: "Substituts de progression", | ||
| 266 | + curatedSources: "Sources", | ||
| 243 | skellSection: "SKELL", | 267 | skellSection: "SKELL", |
| 244 | skellFrame: "CHÂSSIS", | 268 | skellFrame: "CHÂSSIS", |
| 245 | skellAlternatives: "Alternatives", | 269 | skellAlternatives: "Alternatives", |
| @@ -252,7 +276,7 @@ export const copy: Record<Lang, Copy> = { | |||
| 252 | skellNoLicense: "Aucun châssis n’est recommandé sans la Licence Skell.", | 276 | skellNoLicense: "Aucun châssis n’est recommandé sans la Licence Skell.", |
| 253 | skellLowLevel: "Aucun châssis n’est recommandé avant le niveau de pilote 20.", | 277 | skellLowLevel: "Aucun châssis n’est recommandé avant le niveau de pilote 20.", |
| 254 | methodTitle: "Portée et méthode", | 278 | methodTitle: "Portée et méthode", |
| 255 | - methodBody: "Les scores contextuels appliquent d'abord les contraintes de niveau, rang, armes et slots, puis comparent équilibre des rôles, offense, sécurité, progression, aptitude Skell et un a priori communautaire modéré. Ce sont des recommandations explicables et sûres pour la progression, pas des garanties universelles. Les Arts signature n'apparaissent que si activés et affichent toujours un Art régulier de remplacement ; les conseils d'équipement nomment AM, stats, traits et familles d'augments sans inventer l'inventaire possédé.", | 279 | + methodBody: "Les scores contextuels respectent les contraintes de niveau, rang, armes et emplacements avant de comparer les équipes. Les compagnons sont évalués sur leur build fixe équipé, avec des remplacements de progression ordonnés et au plus deux Arts consommant des PT. Les Arts signature de Cross nécessitent l'option de déblocage et indiquent un Art régulier de remplacement. Les conseils d'équipement précisent leurs sources et leurs limites de disponibilité ; les choix éditoriaux ne sont pas des builds universellement optimaux.", |
| 256 | footerTagline: "© 2026 BLADE Team Architect. Projet de fans non officiel, sans affiliation, approbation ni parrainage de Nintendo ou MONOLITHSOFT. Xenoblade Chronicles ainsi que les noms, personnages et éléments associés appartiennent à leurs ayants droit respectifs.", | 280 | footerTagline: "© 2026 BLADE Team Architect. Projet de fans non officiel, sans affiliation, approbation ni parrainage de Nintendo ou MONOLITHSOFT. Xenoblade Chronicles ainsi que les noms, personnages et éléments associés appartiennent à leurs ayants droit respectifs.", |
| 257 | rankDown: "Diminuer le rang", | 281 | rankDown: "Diminuer le rang", |
| 258 | rankUp: "Augmenter le rang", | 282 | rankUp: "Augmenter le rang", |
src/lib/contextualEngine.test.ts +16 -85 | @@ -1,6 +1,6 @@ | ||
| 1 | 1 | import assert from "node:assert/strict"; |
| 2 | 2 | import test from "node:test"; |
| 3 | -import artEffectsData from "@/research/art-effects.json"; | |
| 3 | +import artEffectsData from "@/src/data/art-effects.json"; | |
| 4 | 4 | import { companionByName, companions } from "@/src/data/companions"; |
| 5 | 5 | import { |
| 6 | 6 | evaluateCompanionContext, |
| @@ -8,7 +8,7 @@ import { | ||
| 8 | 8 | recommendContextualSkellLoadout, |
| 9 | 9 | recommendContextualTeams, |
| 10 | 10 | } from "@/src/lib/contextualEngine"; |
| 11 | -import { classRanksForActiveClass, editClassRank } from "@/src/lib/engine"; | |
| 11 | +import { classRanksForActiveClass, editClassRank, planCompanion } from "@/src/lib/engine"; | |
| 12 | 12 | import type { |
| 13 | 13 | ClassRanks, |
| 14 | 14 | CombatMode, |
| @@ -58,13 +58,11 @@ function essentialRoleCoverage( | ||
| 58 | 58 | selectedName, |
| 59 | 59 | effectiveLevel, |
| 60 | 60 | 20, |
| 61 | - combatMode, | |
| 62 | 61 | ).roles; |
| 63 | 62 | const replacement = evaluateCompanionContext( |
| 64 | 63 | replacementName, |
| 65 | 64 | effectiveLevel, |
| 66 | 65 | 20, |
| 67 | - combatMode, | |
| 68 | 66 | ).roles; |
| 69 | 67 | const keys = combatMode === "skell" |
| 70 | 68 | ? [...REPLACEMENT_ROLE_KEYS, "skell" as const] |
| @@ -224,39 +222,7 @@ test("a primary slot alternative maximizes the mono-substitution team score", () | ||
| 224 | 222 | assert.equal(primary.team.slots[slotIndex].alternativeName, scored[0]?.name); |
| 225 | 223 | }); |
| 226 | 224 | |
| 227 | -test("guide consensus softly breaks a mechanically near-tied primary team", () => { | |
| 228 | - const activeClassId = "galactic-knight"; | |
| 229 | - const result = recommendContextualTeams(request({ | |
| 230 | - activeClassId, | |
| 231 | - avatarLevel: 30, | |
| 232 | - classRanks: ranksFor(activeClassId), | |
| 233 | - })); | |
| 234 | - | |
| 235 | - assert.equal(result.kind, "success"); | |
| 236 | - if (result.kind !== "success") return; | |
| 237 | - assert.ok(result.recommendations[0].team.names.includes("Irina")); | |
| 238 | - assert.ok(result.recommendations[0].team.names.includes("H.B.")); | |
| 239 | - assert.ok(result.recommendations[0].score.community >= 9); | |
| 240 | -}); | |
| 241 | 225 | |
| 242 | -test("Skell specialists omit alternatives when no credible pilot remains", () => { | |
| 243 | - const activeClassId = "mastermind"; | |
| 244 | - const result = recommendContextualTeams(request({ | |
| 245 | - activeClassId, | |
| 246 | - avatarLevel: 30, | |
| 247 | - classRanks: ranksFor(activeClassId), | |
| 248 | - combatMode: "skell", | |
| 249 | - })); | |
| 250 | - | |
| 251 | - assert.equal(result.kind, "success"); | |
| 252 | - if (result.kind !== "success") return; | |
| 253 | - const primary = result.recommendations[0]; | |
| 254 | - for (const name of ["Alexa", "Yelv"]) { | |
| 255 | - const slotIndex = primary.team.names.indexOf(name); | |
| 256 | - assert.notEqual(slotIndex, -1); | |
| 257 | - assert.equal(primary.team.slots[slotIndex].alternativeName, undefined); | |
| 258 | - } | |
| 259 | -}); | |
| 260 | 226 | |
| 261 | 227 | test("visible contextual scores retain spread below the ten-point ceiling", () => { |
| 262 | 228 | const result = recommendContextualTeams(request()); |
| @@ -350,8 +316,8 @@ test("manual companions remain fixed in every contextual alternative", () => { | ||
| 350 | 316 | }); |
| 351 | 317 | |
| 352 | 318 | test("slot rank changes the companion's contextual progression and role profile", () => { |
| 353 | - const lowRank = evaluateCompanionContext("Irina", 50, 3, "general"); | |
| 354 | - const maxRank = evaluateCompanionContext("Irina", 50, 20, "general"); | |
| 319 | + const lowRank = evaluateCompanionContext("Irina", 50, 3); | |
| 320 | + const maxRank = evaluateCompanionContext("Irina", 50, 20); | |
| 355 | 321 | |
| 356 | 322 | assert.ok(lowRank.progression < maxRank.progression); |
| 357 | 323 | assert.ok(lowRank.roles.support < maxRank.roles.support); |
| @@ -468,25 +434,11 @@ test("independent weapon overrides rebuild Cross and contextual recommendations" | ||
| 468 | 434 | assert.deepEqual(result.recommendations[0].roster[0].weapons, mixed.weapons); |
| 469 | 435 | }); |
| 470 | 436 | |
| 471 | -test("General exposes Skell aptitude and Skell mode equips relevant Skills", () => { | |
| 472 | - const generalYelv = evaluateCompanionContext("Yelv", 50, 20, "general"); | |
| 473 | - const skellYelv = evaluateCompanionContext("Yelv", 50, 20, "skell"); | |
| 474 | - assert.ok(generalYelv.roles.skell > 0); | |
| 475 | - assert.equal(generalYelv.roles.skell, skellYelv.roles.skell); | |
| 476 | - | |
| 477 | - const result = recommendContextualTeams(request({ combatMode: "skell" })); | |
| 478 | - assert.equal(result.kind, "success"); | |
| 479 | - if (result.kind !== "success") return; | |
| 480 | - | |
| 481 | - const primary = result.recommendations[0]; | |
| 482 | - assert.ok( | |
| 483 | - primary.team.names.some((name) => name === "Alexa" || name === "Yelv"), | |
| 484 | - ); | |
| 485 | - assert.ok(primary.score.skell > 0); | |
| 486 | - const skellPilots = primary.roster.filter((member) => | |
| 487 | - member.skills.some((skill) => skill.name === "Synchrony" || skill.name === "Stellar Entry"), | |
| 488 | - ); | |
| 489 | - assert.ok(skellPilots.length > 0); | |
| 437 | +test("Skell aptitude only reflects equipped pilot Skills, not unlocked reserves", () => { | |
| 438 | + const yelv = planCompanion("Yelv", 50, 20); | |
| 439 | + assert.ok(!yelv.skills.some((skill) => skill.name === "Synchrony")); | |
| 440 | + const profile = evaluateCompanionContext("Yelv", 50, 20); | |
| 441 | + assert.equal(profile.roles.skell, 0); | |
| 490 | 442 | }); |
| 491 | 443 | |
| 492 | 444 | test("General mode keeps Skell aptitude as a minor tie-breaker", () => { |
| @@ -532,36 +484,15 @@ test("licensed General teams retain baseline Skell utility without pilot Skills" | ||
| 532 | 484 | assert.equal(withoutLicense.recommendations[0].score.skell, 0); |
| 533 | 485 | }); |
| 534 | 486 | |
| 535 | -test("General Skell score has no aptitude dead zone above the licensed baseline", () => { | |
| 536 | - const baseline = recommendContextualTeams(request({ | |
| 537 | - slots: ["H.B.", "Irina", "Lin"], | |
| 538 | - hasSkellLicense: true, | |
| 539 | - })); | |
| 540 | - const stellarEntry = recommendContextualTeams(request({ | |
| 541 | - slots: ["H.B.", "Irina", "Doug"], | |
| 542 | - hasSkellLicense: true, | |
| 543 | - })); | |
| 544 | - const synchrony = recommendContextualTeams(request({ | |
| 545 | - slots: ["H.B.", "Irina", "Alexa"], | |
| 487 | +test("Skell teams without equipped pilot Skills retain only licensed baseline", () => { | |
| 488 | + const result = recommendContextualTeams(request({ | |
| 489 | + slots: ["Yelv", "Lin", "Irina"], | |
| 490 | + combatMode: "skell", | |
| 546 | 491 | hasSkellLicense: true, |
| 547 | 492 | })); |
| 548 | - | |
| 549 | - assert.equal(baseline.kind, "success"); | |
| 550 | - assert.equal(stellarEntry.kind, "success"); | |
| 551 | - assert.equal(synchrony.kind, "success"); | |
| 552 | - if ( | |
| 553 | - baseline.kind !== "success" | |
| 554 | - || stellarEntry.kind !== "success" | |
| 555 | - || synchrony.kind !== "success" | |
| 556 | - ) return; | |
| 557 | - | |
| 558 | - const baselineScore = baseline.recommendations[0].score.skell; | |
| 559 | - const stellarEntryScore = stellarEntry.recommendations[0].score.skell; | |
| 560 | - const synchronyScore = synchrony.recommendations[0].score.skell; | |
| 561 | - assert.equal(baselineScore, 1); | |
| 562 | - assert.ok(stellarEntryScore > baselineScore); | |
| 563 | - assert.ok(synchronyScore > stellarEntryScore); | |
| 564 | - assert.ok(synchronyScore > 5); | |
| 493 | + assert.equal(result.kind, "success"); | |
| 494 | + if (result.kind !== "success") return; | |
| 495 | + assert.equal(result.recommendations[0].score.skell, 1); | |
| 565 | 496 | }); |
| 566 | 497 | |
| 567 | 498 | test("contextual Skill upgrade recommendations never exceed level 5", () => { |
| @@ -1,6 +1,6 @@ | |||
| 1 | import assert from "node:assert/strict"; | 1 | import assert from "node:assert/strict"; |
| 2 | import test from "node:test"; | 2 | import test from "node:test"; |
| 3 | -import artEffectsData from "@/research/art-effects.json"; | 3 | +import artEffectsData from "@/src/data/art-effects.json"; |
| 4 | import { companionByName, companions } from "@/src/data/companions"; | 4 | import { companionByName, companions } from "@/src/data/companions"; |
| 5 | import { | 5 | import { |
| 6 | evaluateCompanionContext, | 6 | evaluateCompanionContext, |
| @@ -8,7 +8,7 @@ import { | |||
| 8 | recommendContextualSkellLoadout, | 8 | recommendContextualSkellLoadout, |
| 9 | recommendContextualTeams, | 9 | recommendContextualTeams, |
| 10 | } from "@/src/lib/contextualEngine"; | 10 | } from "@/src/lib/contextualEngine"; |
| 11 | -import { classRanksForActiveClass, editClassRank } from "@/src/lib/engine"; | 11 | +import { classRanksForActiveClass, editClassRank, planCompanion } from "@/src/lib/engine"; |
| 12 | import type { | 12 | import type { |
| 13 | ClassRanks, | 13 | ClassRanks, |
| 14 | CombatMode, | 14 | CombatMode, |
| @@ -58,13 +58,11 @@ function essentialRoleCoverage( | |||
| 58 | selectedName, | 58 | selectedName, |
| 59 | effectiveLevel, | 59 | effectiveLevel, |
| 60 | 20, | 60 | 20, |
| 61 | - combatMode, | ||
| 62 | ).roles; | 61 | ).roles; |
| 63 | const replacement = evaluateCompanionContext( | 62 | const replacement = evaluateCompanionContext( |
| 64 | replacementName, | 63 | replacementName, |
| 65 | effectiveLevel, | 64 | effectiveLevel, |
| 66 | 20, | 65 | 20, |
| 67 | - combatMode, | ||
| 68 | ).roles; | 66 | ).roles; |
| 69 | const keys = combatMode === "skell" | 67 | const keys = combatMode === "skell" |
| 70 | ? [...REPLACEMENT_ROLE_KEYS, "skell" as const] | 68 | ? [...REPLACEMENT_ROLE_KEYS, "skell" as const] |
| @@ -224,39 +222,7 @@ test("a primary slot alternative maximizes the mono-substitution team score", () | |||
| 224 | assert.equal(primary.team.slots[slotIndex].alternativeName, scored[0]?.name); | 222 | assert.equal(primary.team.slots[slotIndex].alternativeName, scored[0]?.name); |
| 225 | }); | 223 | }); |
| 226 | 224 | ||
| 227 | -test("guide consensus softly breaks a mechanically near-tied primary team", () => { | ||
| 228 | - const activeClassId = "galactic-knight"; | ||
| 229 | - const result = recommendContextualTeams(request({ | ||
| 230 | - activeClassId, | ||
| 231 | - avatarLevel: 30, | ||
| 232 | - classRanks: ranksFor(activeClassId), | ||
| 233 | - })); | ||
| 234 | - | ||
| 235 | - assert.equal(result.kind, "success"); | ||
| 236 | - if (result.kind !== "success") return; | ||
| 237 | - assert.ok(result.recommendations[0].team.names.includes("Irina")); | ||
| 238 | - assert.ok(result.recommendations[0].team.names.includes("H.B.")); | ||
| 239 | - assert.ok(result.recommendations[0].score.community >= 9); | ||
| 240 | -}); | ||
| 241 | 225 | ||
| 242 | -test("Skell specialists omit alternatives when no credible pilot remains", () => { | ||
| 243 | - const activeClassId = "mastermind"; | ||
| 244 | - const result = recommendContextualTeams(request({ | ||
| 245 | - activeClassId, | ||
| 246 | - avatarLevel: 30, | ||
| 247 | - classRanks: ranksFor(activeClassId), | ||
| 248 | - combatMode: "skell", | ||
| 249 | - })); | ||
| 250 | - | ||
| 251 | - assert.equal(result.kind, "success"); | ||
| 252 | - if (result.kind !== "success") return; | ||
| 253 | - const primary = result.recommendations[0]; | ||
| 254 | - for (const name of ["Alexa", "Yelv"]) { | ||
| 255 | - const slotIndex = primary.team.names.indexOf(name); | ||
| 256 | - assert.notEqual(slotIndex, -1); | ||
| 257 | - assert.equal(primary.team.slots[slotIndex].alternativeName, undefined); | ||
| 258 | - } | ||
| 259 | -}); | ||
| 260 | 226 | ||
| 261 | test("visible contextual scores retain spread below the ten-point ceiling", () => { | 227 | test("visible contextual scores retain spread below the ten-point ceiling", () => { |
| 262 | const result = recommendContextualTeams(request()); | 228 | const result = recommendContextualTeams(request()); |
| @@ -350,8 +316,8 @@ test("manual companions remain fixed in every contextual alternative", () => { | |||
| 350 | }); | 316 | }); |
| 351 | 317 | ||
| 352 | test("slot rank changes the companion's contextual progression and role profile", () => { | 318 | test("slot rank changes the companion's contextual progression and role profile", () => { |
| 353 | - const lowRank = evaluateCompanionContext("Irina", 50, 3, "general"); | 319 | + const lowRank = evaluateCompanionContext("Irina", 50, 3); |
| 354 | - const maxRank = evaluateCompanionContext("Irina", 50, 20, "general"); | 320 | + const maxRank = evaluateCompanionContext("Irina", 50, 20); |
| 355 | 321 | ||
| 356 | assert.ok(lowRank.progression < maxRank.progression); | 322 | assert.ok(lowRank.progression < maxRank.progression); |
| 357 | assert.ok(lowRank.roles.support < maxRank.roles.support); | 323 | assert.ok(lowRank.roles.support < maxRank.roles.support); |
| @@ -468,25 +434,11 @@ test("independent weapon overrides rebuild Cross and contextual recommendations" | |||
| 468 | assert.deepEqual(result.recommendations[0].roster[0].weapons, mixed.weapons); | 434 | assert.deepEqual(result.recommendations[0].roster[0].weapons, mixed.weapons); |
| 469 | }); | 435 | }); |
| 470 | 436 | ||
| 471 | -test("General exposes Skell aptitude and Skell mode equips relevant Skills", () => { | 437 | +test("Skell aptitude only reflects equipped pilot Skills, not unlocked reserves", () => { |
| 472 | - const generalYelv = evaluateCompanionContext("Yelv", 50, 20, "general"); | 438 | + const yelv = planCompanion("Yelv", 50, 20); |
| 473 | - const skellYelv = evaluateCompanionContext("Yelv", 50, 20, "skell"); | 439 | + assert.ok(!yelv.skills.some((skill) => skill.name === "Synchrony")); |
| 474 | - assert.ok(generalYelv.roles.skell > 0); | 440 | + const profile = evaluateCompanionContext("Yelv", 50, 20); |
| 475 | - assert.equal(generalYelv.roles.skell, skellYelv.roles.skell); | 441 | + assert.equal(profile.roles.skell, 0); |
| 476 | - | ||
| 477 | - const result = recommendContextualTeams(request({ combatMode: "skell" })); | ||
| 478 | - assert.equal(result.kind, "success"); | ||
| 479 | - if (result.kind !== "success") return; | ||
| 480 | - | ||
| 481 | - const primary = result.recommendations[0]; | ||
| 482 | - assert.ok( | ||
| 483 | - primary.team.names.some((name) => name === "Alexa" || name === "Yelv"), | ||
| 484 | - ); | ||
| 485 | - assert.ok(primary.score.skell > 0); | ||
| 486 | - const skellPilots = primary.roster.filter((member) => | ||
| 487 | - member.skills.some((skill) => skill.name === "Synchrony" || skill.name === "Stellar Entry"), | ||
| 488 | - ); | ||
| 489 | - assert.ok(skellPilots.length > 0); | ||
| 490 | }); | 442 | }); |
| 491 | 443 | ||
| 492 | test("General mode keeps Skell aptitude as a minor tie-breaker", () => { | 444 | test("General mode keeps Skell aptitude as a minor tie-breaker", () => { |
| @@ -532,36 +484,15 @@ test("licensed General teams retain baseline Skell utility without pilot Skills" | |||
| 532 | assert.equal(withoutLicense.recommendations[0].score.skell, 0); | 484 | assert.equal(withoutLicense.recommendations[0].score.skell, 0); |
| 533 | }); | 485 | }); |
| 534 | 486 | ||
| 535 | -test("General Skell score has no aptitude dead zone above the licensed baseline", () => { | 487 | +test("Skell teams without equipped pilot Skills retain only licensed baseline", () => { |
| 536 | - const baseline = recommendContextualTeams(request({ | 488 | + const result = recommendContextualTeams(request({ |
| 537 | - slots: ["H.B.", "Irina", "Lin"], | 489 | + slots: ["Yelv", "Lin", "Irina"], |
| 538 | - hasSkellLicense: true, | 490 | + combatMode: "skell", |
| 539 | - })); | ||
| 540 | - const stellarEntry = recommendContextualTeams(request({ | ||
| 541 | - slots: ["H.B.", "Irina", "Doug"], | ||
| 542 | - hasSkellLicense: true, | ||
| 543 | - })); | ||
| 544 | - const synchrony = recommendContextualTeams(request({ | ||
| 545 | - slots: ["H.B.", "Irina", "Alexa"], | ||
| 546 | hasSkellLicense: true, | 491 | hasSkellLicense: true, |
| 547 | })); | 492 | })); |
| 548 | - | 493 | + assert.equal(result.kind, "success"); |
| 549 | - assert.equal(baseline.kind, "success"); | 494 | + if (result.kind !== "success") return; |
| 550 | - assert.equal(stellarEntry.kind, "success"); | 495 | + assert.equal(result.recommendations[0].score.skell, 1); |
| 551 | - assert.equal(synchrony.kind, "success"); | ||
| 552 | - if ( | ||
| 553 | - baseline.kind !== "success" | ||
| 554 | - || stellarEntry.kind !== "success" | ||
| 555 | - || synchrony.kind !== "success" | ||
| 556 | - ) return; | ||
| 557 | - | ||
| 558 | - const baselineScore = baseline.recommendations[0].score.skell; | ||
| 559 | - const stellarEntryScore = stellarEntry.recommendations[0].score.skell; | ||
| 560 | - const synchronyScore = synchrony.recommendations[0].score.skell; | ||
| 561 | - assert.equal(baselineScore, 1); | ||
| 562 | - assert.ok(stellarEntryScore > baselineScore); | ||
| 563 | - assert.ok(synchronyScore > stellarEntryScore); | ||
| 564 | - assert.ok(synchronyScore > 5); | ||
| 565 | }); | 496 | }); |
| 566 | 497 | ||
| 567 | test("contextual Skill upgrade recommendations never exceed level 5", () => { | 498 | test("contextual Skill upgrade recommendations never exceed level 5", () => { |
src/lib/contextualEngine.ts +5 -96 | @@ -1,4 +1,4 @@ | ||
| 1 | -import artEffectsData from "@/research/art-effects.json"; | |
| 1 | +import artEffectsData from "@/src/data/art-effects.json"; | |
| 2 | 2 | import { buildStrategies } from "@/src/data/builds"; |
| 3 | 3 | import { companions, companionByName } from "@/src/data/companions"; |
| 4 | 4 | import { |
| @@ -397,105 +397,20 @@ function companionProgression(plan: CompanionPlan): number { | ||
| 397 | 397 | return (artFill + skillFill) / 2; |
| 398 | 398 | } |
| 399 | 399 | |
| 400 | -function firstSourceUrl(citation: string): string { | |
| 401 | - const match = citation.match(/https?:\/\/[^\s)]+/); | |
| 402 | - return match?.[0] ?? citation; | |
| 403 | -} | |
| 404 | - | |
| 405 | -function planCompanionForMode( | |
| 406 | - name: string, | |
| 407 | - effectiveLevel: number, | |
| 408 | - personalRank: number, | |
| 409 | - combatMode: CombatMode, | |
| 410 | - lang: Lang, | |
| 411 | -): CompanionPlan { | |
| 412 | - const plan = planCompanion(name, effectiveLevel, personalRank, lang); | |
| 413 | - if (combatMode !== "skell") return plan; | |
| 414 | - const companion = companionByName.get(name); | |
| 415 | - if (!companion) return plan; | |
| 416 | - const selectedByName = new Map(plan.skills.map((skill) => [skill.name, skill])); | |
| 417 | - const skellSkills = companion.skills | |
| 418 | - .filter((skill) => | |
| 419 | - skill.rank <= plan.personalRank && (skillRoleSignals[skill.name]?.skell ?? 0) > 0, | |
| 420 | - ) | |
| 421 | - .sort((left, right) => | |
| 422 | - (skillRoleSignals[right.name]?.skell ?? 0) | |
| 423 | - - (skillRoleSignals[left.name]?.skell ?? 0) | |
| 424 | - || left.rank - right.rank, | |
| 425 | - ) | |
| 426 | - .map((skill): SkillSelection => | |
| 427 | - selectedByName.get(skill.name) ?? { | |
| 428 | - name: skill.name, | |
| 429 | - unlockRank: skill.rank, | |
| 430 | - recommendedLevel: 1, | |
| 431 | - source: { | |
| 432 | - kind: "companion", | |
| 433 | - id: companion.name, | |
| 434 | - url: firstSourceUrl(companion.source), | |
| 435 | - citation: companion.source, | |
| 436 | - }, | |
| 437 | - reason: translated( | |
| 438 | - lang, | |
| 439 | - "Equipped because this Skill is active in Skell combat", | |
| 440 | - "Équipé car ce Skill est actif en combat Skell", | |
| 441 | - ), | |
| 442 | - } | |
| 443 | - ); | |
| 444 | - if (skellSkills.length === 0) return plan; | |
| 445 | - const seen = new Set<string>(); | |
| 446 | - const skills = [...skellSkills, ...plan.skills] | |
| 447 | - .filter((skill) => { | |
| 448 | - if (seen.has(skill.name)) return false; | |
| 449 | - seen.add(skill.name); | |
| 450 | - return true; | |
| 451 | - }) | |
| 452 | - .slice(0, plan.skillSlots) | |
| 453 | - .map((skill, index) => ({ | |
| 454 | - ...skill, | |
| 455 | - recommendedLevel: preferredUpgradeLevel(index, effectiveLevel), | |
| 456 | - })); | |
| 457 | - return { | |
| 458 | - ...plan, | |
| 459 | - skills, | |
| 460 | - planReasons: [ | |
| 461 | - ...plan.planReasons, | |
| 462 | - translated( | |
| 463 | - lang, | |
| 464 | - "Skell-active Skills replace ground-only preferences in Skell mode", | |
| 465 | - "Les Skills actifs en Skell remplacent les préférences terrestres en mode Skell", | |
| 466 | - ), | |
| 467 | - ], | |
| 468 | - }; | |
| 469 | -} | |
| 470 | 400 | |
| 471 | 401 | export function evaluateCompanionContext( |
| 472 | 402 | name: string, |
| 473 | 403 | effectiveLevel: number, |
| 474 | 404 | personalRank: number, |
| 475 | - combatMode: CombatMode, | |
| 476 | 405 | ): CompanionContextEvaluation { |
planCompanionForMode and the skell-aptitude aggregation are fully removed, so request.combatMode no longer influences companion skill selection, planReasons, or roles.skell (the old | ||
| 477 | - const plan = planCompanionForMode( | |
| 478 | - name, | |
| 479 | - effectiveLevel, | |
| 480 | - personalRank, | |
| 481 | - combatMode, | |
| 482 | - "en", | |
| 483 | - ); | |
| 406 | + const plan = planCompanion(name, effectiveLevel, personalRank, "en"); | |
| 484 | 407 | const progression = companionProgression(plan); |
| 485 | 408 | const roles = rolesFromSelections( |
| 486 | 409 | plan.capabilities, |
| 487 | - plan.potentialArts, | |
| 410 | + plan.arts, | |
| 488 | 411 | plan.skills, |
| 489 | 412 | progression, |
| 490 | 413 | ); |
| 491 | - const companion = companionByName.get(name); | |
| 492 | - const availableSkellAptitude = (companion?.skills ?? []) | |
| 493 | - .filter((skill) => skill.rank <= plan.personalRank) | |
| 494 | - .reduce( | |
| 495 | - (total, skill) => total + (skillRoleSignals[skill.name]?.skell ?? 0), | |
| 496 | - 0, | |
| 497 | - ); | |
| 498 | - if (combatMode === "general") roles.skell = availableSkellAptitude; | |
| 499 | 414 | return { |
| 500 | 415 | name, |
| 501 | 416 | personalRank: plan.personalRank, |
| @@ -664,6 +579,7 @@ function buildRoster( | ||
| 664 | 579 | strategy: plan.strategy, |
| 665 | 580 | dominantAttribute: buildStrategies[plan.strategy].dominantAttribute, |
| 666 | 581 | note: plan.note, |
| 582 | + curatedBuild: plan.curatedBuild, | |
| 667 | 583 | planReasons: plan.planReasons, |
| 668 | 584 | source: plan.source, |
| 669 | 585 | }); |
| @@ -938,13 +854,7 @@ export function recommendContextualTeams( | ||
| 938 | 854 | const key = `${slotIndex}:${name}`; |
| 939 | 855 | let plan = planCache.get(key); |
| 940 | 856 | if (!plan) { |
| 941 | - plan = planCompanionForMode( | |
| 942 | - name, | |
| 943 | - level, | |
| 944 | - request.personalRanks[slotIndex], | |
| 945 | - request.combatMode, | |
| 946 | - lang, | |
| 947 | - ); | |
| 857 | + plan = planCompanion(name, level, request.personalRanks[slotIndex], lang); | |
| 948 | 858 | planCache.set(key, plan); |
| 949 | 859 | } |
| 950 | 860 | return plan; |
| @@ -960,7 +870,6 @@ export function recommendContextualTeams( | ||
| 960 | 870 | name, |
| 961 | 871 | level, |
| 962 | 872 | request.personalRanks[slotIndex], |
| 963 | - request.combatMode, | |
| 964 | 873 | ); |
| 965 | 874 | profileCache.set(key, profile); |
| 966 | 875 | } |
| @@ -1,4 +1,4 @@ | |||
| 1 | -import artEffectsData from "@/research/art-effects.json"; | 1 | +import artEffectsData from "@/src/data/art-effects.json"; |
| 2 | import { buildStrategies } from "@/src/data/builds"; | 2 | import { buildStrategies } from "@/src/data/builds"; |
| 3 | import { companions, companionByName } from "@/src/data/companions"; | 3 | import { companions, companionByName } from "@/src/data/companions"; |
| 4 | import { | 4 | import { |
| @@ -397,105 +397,20 @@ function companionProgression(plan: CompanionPlan): number { | |||
| 397 | return (artFill + skillFill) / 2; | 397 | return (artFill + skillFill) / 2; |
| 398 | } | 398 | } |
| 399 | 399 | ||
| 400 | -function firstSourceUrl(citation: string): string { | ||
| 401 | - const match = citation.match(/https?:\/\/[^\s)]+/); | ||
| 402 | - return match?.[0] ?? citation; | ||
| 403 | -} | ||
| 404 | - | ||
| 405 | -function planCompanionForMode( | ||
| 406 | - name: string, | ||
| 407 | - effectiveLevel: number, | ||
| 408 | - personalRank: number, | ||
| 409 | - combatMode: CombatMode, | ||
| 410 | - lang: Lang, | ||
| 411 | -): CompanionPlan { | ||
| 412 | - const plan = planCompanion(name, effectiveLevel, personalRank, lang); | ||
| 413 | - if (combatMode !== "skell") return plan; | ||
| 414 | - const companion = companionByName.get(name); | ||
| 415 | - if (!companion) return plan; | ||
| 416 | - const selectedByName = new Map(plan.skills.map((skill) => [skill.name, skill])); | ||
| 417 | - const skellSkills = companion.skills | ||
| 418 | - .filter((skill) => | ||
| 419 | - skill.rank <= plan.personalRank && (skillRoleSignals[skill.name]?.skell ?? 0) > 0, | ||
| 420 | - ) | ||
| 421 | - .sort((left, right) => | ||
| 422 | - (skillRoleSignals[right.name]?.skell ?? 0) | ||
| 423 | - - (skillRoleSignals[left.name]?.skell ?? 0) | ||
| 424 | - || left.rank - right.rank, | ||
| 425 | - ) | ||
| 426 | - .map((skill): SkillSelection => | ||
| 427 | - selectedByName.get(skill.name) ?? { | ||
| 428 | - name: skill.name, | ||
| 429 | - unlockRank: skill.rank, | ||
| 430 | - recommendedLevel: 1, | ||
| 431 | - source: { | ||
| 432 | - kind: "companion", | ||
| 433 | - id: companion.name, | ||
| 434 | - url: firstSourceUrl(companion.source), | ||
| 435 | - citation: companion.source, | ||
| 436 | - }, | ||
| 437 | - reason: translated( | ||
| 438 | - lang, | ||
| 439 | - "Equipped because this Skill is active in Skell combat", | ||
| 440 | - "Équipé car ce Skill est actif en combat Skell", | ||
| 441 | - ), | ||
| 442 | - } | ||
| 443 | - ); | ||
| 444 | - if (skellSkills.length === 0) return plan; | ||
| 445 | - const seen = new Set<string>(); | ||
| 446 | - const skills = [...skellSkills, ...plan.skills] | ||
| 447 | - .filter((skill) => { | ||
| 448 | - if (seen.has(skill.name)) return false; | ||
| 449 | - seen.add(skill.name); | ||
| 450 | - return true; | ||
| 451 | - }) | ||
| 452 | - .slice(0, plan.skillSlots) | ||
| 453 | - .map((skill, index) => ({ | ||
| 454 | - ...skill, | ||
| 455 | - recommendedLevel: preferredUpgradeLevel(index, effectiveLevel), | ||
| 456 | - })); | ||
| 457 | - return { | ||
| 458 | - ...plan, | ||
| 459 | - skills, | ||
| 460 | - planReasons: [ | ||
| 461 | - ...plan.planReasons, | ||
| 462 | - translated( | ||
| 463 | - lang, | ||
| 464 | - "Skell-active Skills replace ground-only preferences in Skell mode", | ||
| 465 | - "Les Skills actifs en Skell remplacent les préférences terrestres en mode Skell", | ||
| 466 | - ), | ||
| 467 | - ], | ||
| 468 | - }; | ||
| 469 | -} | ||
| 470 | 400 | ||
| 471 | export function evaluateCompanionContext( | 401 | export function evaluateCompanionContext( |
| 472 | name: string, | 402 | name: string, |
| 473 | effectiveLevel: number, | 403 | effectiveLevel: number, |
| 474 | personalRank: number, | 404 | personalRank: number, |
| 475 | - combatMode: CombatMode, | ||
| 476 | ): CompanionContextEvaluation { | 405 | ): CompanionContextEvaluation { |
| 477 | - const plan = planCompanionForMode( | 406 | + const plan = planCompanion(name, effectiveLevel, personalRank, "en"); |
| 478 | - name, | ||
| 479 | - effectiveLevel, | ||
| 480 | - personalRank, | ||
| 481 | - combatMode, | ||
| 482 | - "en", | ||
| 483 | - ); | ||
| 484 | const progression = companionProgression(plan); | 407 | const progression = companionProgression(plan); |
| 485 | const roles = rolesFromSelections( | 408 | const roles = rolesFromSelections( |
| 486 | plan.capabilities, | 409 | plan.capabilities, |
| 487 | - plan.potentialArts, | 410 | + plan.arts, |
| 488 | plan.skills, | 411 | plan.skills, |
| 489 | progression, | 412 | progression, |
| 490 | ); | 413 | ); |
| 491 | - const companion = companionByName.get(name); | ||
| 492 | - const availableSkellAptitude = (companion?.skills ?? []) | ||
| 493 | - .filter((skill) => skill.rank <= plan.personalRank) | ||
| 494 | - .reduce( | ||
| 495 | - (total, skill) => total + (skillRoleSignals[skill.name]?.skell ?? 0), | ||
| 496 | - 0, | ||
| 497 | - ); | ||
| 498 | - if (combatMode === "general") roles.skell = availableSkellAptitude; | ||
| 499 | return { | 414 | return { |
| 500 | name, | 415 | name, |
| 501 | personalRank: plan.personalRank, | 416 | personalRank: plan.personalRank, |
| @@ -664,6 +579,7 @@ function buildRoster( | |||
| 664 | strategy: plan.strategy, | 579 | strategy: plan.strategy, |
| 665 | dominantAttribute: buildStrategies[plan.strategy].dominantAttribute, | 580 | dominantAttribute: buildStrategies[plan.strategy].dominantAttribute, |
| 666 | note: plan.note, | 581 | note: plan.note, |
| 582 | + curatedBuild: plan.curatedBuild, | ||
| 667 | planReasons: plan.planReasons, | 583 | planReasons: plan.planReasons, |
| 668 | source: plan.source, | 584 | source: plan.source, |
| 669 | }); | 585 | }); |
| @@ -938,13 +854,7 @@ export function recommendContextualTeams( | |||
| 938 | const key = `${slotIndex}:${name}`; | 854 | const key = `${slotIndex}:${name}`; |
| 939 | let plan = planCache.get(key); | 855 | let plan = planCache.get(key); |
| 940 | if (!plan) { | 856 | if (!plan) { |
| 941 | - plan = planCompanionForMode( | 857 | + plan = planCompanion(name, level, request.personalRanks[slotIndex], lang); |
| 942 | - name, | ||
| 943 | - level, | ||
| 944 | - request.personalRanks[slotIndex], | ||
| 945 | - request.combatMode, | ||
| 946 | - lang, | ||
| 947 | - ); | ||
| 948 | planCache.set(key, plan); | 858 | planCache.set(key, plan); |
| 949 | } | 859 | } |
| 950 | return plan; | 860 | return plan; |
| @@ -960,7 +870,6 @@ export function recommendContextualTeams( | |||
| 960 | name, | 870 | name, |
| 961 | level, | 871 | level, |
| 962 | request.personalRanks[slotIndex], | 872 | request.personalRanks[slotIndex], |
| 963 | - request.combatMode, | ||
| 964 | ); | 873 | ); |
| 965 | profileCache.set(key, profile); | 874 | profileCache.set(key, profile); |
| 966 | } | 875 | } |
src/lib/engine.test.ts +10 -10 | @@ -15,7 +15,7 @@ import { | ||
| 15 | 15 | recommendSkellLoadout, |
| 16 | 16 | resolveTeam, |
| 17 | 17 | } from "@/src/lib/engine"; |
| 18 | -import artEffectsData from "@/research/art-effects.json"; | |
| 18 | +import artEffectsData from "@/src/data/art-effects.json"; | |
| 19 | 19 | |
| 20 | 20 | const tpCostingArtNames: Record<string, true> = {}; |
| 21 | 21 | for (const art of artEffectsData.arts as { name: string; effects: { tp: boolean } }[]) { |
| @@ -207,17 +207,17 @@ test("mixed team selection preserves manual slots and fills only AUTO slots", () | ||
| 207 | 207 | test("companion loadout follows personal rank and fixed slot cap", () => { |
| 208 | 208 | const lin = planCompanion("Lin", 20, 3); |
| 209 | 209 | |
| 210 | - assert.deepEqual(lin.arts.map((art) => art.name), [ | |
| 211 | - "Wild Down", | |
| 212 | - "Wild Smash", | |
| 213 | - "Flame Cloak", | |
| 214 | - "Fire Carnival", | |
| 215 | - ]); | |
| 210 | + const learned = companions.find((companion) => companion.name === "Lin")!.arts; | |
| 211 | + assert.ok(lin.arts.length > 0 && lin.arts.length <= 8); | |
| 212 | + assert.ok(lin.arts.every((art) => | |
| 213 | + learned.some((fact) => fact.name === art.name && fact.rank <= lin.personalRank) | |
| 214 | + && (art.weapon === lin.weapons.ranged || art.weapon === lin.weapons.melee))); | |
| 216 | 215 | assert.equal(lin.skills.length, 0); |
| 217 | 216 | assert.equal(lin.skillSlots, 3); |
| 217 | + assert.ok(planCompanion("Lin", 20, 20).skills.length > lin.skills.length); | |
| 218 | 218 | }); |
| 219 | 219 | |
| 220 | -test("avatar and companion loadouts respect the TP budget", () => { | |
| 220 | +test("Cross retains its three-TP policy while companions never exceed two", () => { | |
| 221 | 221 | const plan = planAvatar("galactic-knight", { "galactic-knight": 10 }, undefined, "en", 50); |
| 222 | 222 | const galacticTpArts = plan.arts.filter((art) => tpCostingArtNames[art.name]); |
| 223 | 223 | assert.ok( |
| @@ -230,8 +230,8 @@ test("avatar and companion loadouts respect the TP budget", () => { | ||
| 230 | 230 | const doug = planCompanion("Doug", 20, 50); |
| 231 | 231 | const dougTpArts = doug.arts.filter((art) => tpCostingArtNames[art.name]); |
| 232 | 232 | assert.ok( |
| 233 | - dougTpArts.length <= 3, | |
| 234 | - `expected <=3 TP-costing Arts, got ${dougTpArts.length}: ${dougTpArts.map((art) => art.name).join(", ")}`, | |
| 233 | + dougTpArts.length <= 2, | |
| 234 | + `expected <=2 TP-costing Arts, got ${dougTpArts.length}: ${dougTpArts.map((art) => art.name).join(", ")}`, | |
| 235 | 235 | ); |
| 236 | 236 | }); |
| 237 | 237 | |
| @@ -15,7 +15,7 @@ import { | |||
| 15 | recommendSkellLoadout, | 15 | recommendSkellLoadout, |
| 16 | resolveTeam, | 16 | resolveTeam, |
| 17 | } from "@/src/lib/engine"; | 17 | } from "@/src/lib/engine"; |
| 18 | -import artEffectsData from "@/research/art-effects.json"; | 18 | +import artEffectsData from "@/src/data/art-effects.json"; |
| 19 | 19 | ||
| 20 | const tpCostingArtNames: Record<string, true> = {}; | 20 | const tpCostingArtNames: Record<string, true> = {}; |
| 21 | for (const art of artEffectsData.arts as { name: string; effects: { tp: boolean } }[]) { | 21 | for (const art of artEffectsData.arts as { name: string; effects: { tp: boolean } }[]) { |
| @@ -207,17 +207,17 @@ test("mixed team selection preserves manual slots and fills only AUTO slots", () | |||
| 207 | test("companion loadout follows personal rank and fixed slot cap", () => { | 207 | test("companion loadout follows personal rank and fixed slot cap", () => { |
| 208 | const lin = planCompanion("Lin", 20, 3); | 208 | const lin = planCompanion("Lin", 20, 3); |
| 209 | 209 | ||
| 210 | - assert.deepEqual(lin.arts.map((art) => art.name), [ | 210 | + const learned = companions.find((companion) => companion.name === "Lin")!.arts; |
| 211 | - "Wild Down", | 211 | + assert.ok(lin.arts.length > 0 && lin.arts.length <= 8); |
| 212 | - "Wild Smash", | 212 | + assert.ok(lin.arts.every((art) => |
| 213 | - "Flame Cloak", | 213 | + learned.some((fact) => fact.name === art.name && fact.rank <= lin.personalRank) |
| 214 | - "Fire Carnival", | 214 | + && (art.weapon === lin.weapons.ranged || art.weapon === lin.weapons.melee))); |
| 215 | - ]); | ||
| 216 | assert.equal(lin.skills.length, 0); | 215 | assert.equal(lin.skills.length, 0); |
| 217 | assert.equal(lin.skillSlots, 3); | 216 | assert.equal(lin.skillSlots, 3); |
| 217 | + assert.ok(planCompanion("Lin", 20, 20).skills.length > lin.skills.length); | ||
| 218 | }); | 218 | }); |
| 219 | 219 | ||
| 220 | -test("avatar and companion loadouts respect the TP budget", () => { | 220 | +test("Cross retains its three-TP policy while companions never exceed two", () => { |
| 221 | const plan = planAvatar("galactic-knight", { "galactic-knight": 10 }, undefined, "en", 50); | 221 | const plan = planAvatar("galactic-knight", { "galactic-knight": 10 }, undefined, "en", 50); |
| 222 | const galacticTpArts = plan.arts.filter((art) => tpCostingArtNames[art.name]); | 222 | const galacticTpArts = plan.arts.filter((art) => tpCostingArtNames[art.name]); |
| 223 | assert.ok( | 223 | assert.ok( |
| @@ -230,8 +230,8 @@ test("avatar and companion loadouts respect the TP budget", () => { | |||
| 230 | const doug = planCompanion("Doug", 20, 50); | 230 | const doug = planCompanion("Doug", 20, 50); |
| 231 | const dougTpArts = doug.arts.filter((art) => tpCostingArtNames[art.name]); | 231 | const dougTpArts = doug.arts.filter((art) => tpCostingArtNames[art.name]); |
| 232 | assert.ok( | 232 | assert.ok( |
| 233 | - dougTpArts.length <= 3, | 233 | + dougTpArts.length <= 2, |
| 234 | - `expected <=3 TP-costing Arts, got ${dougTpArts.length}: ${dougTpArts.map((art) => art.name).join(", ")}`, | 234 | + `expected <=2 TP-costing Arts, got ${dougTpArts.length}: ${dougTpArts.map((art) => art.name).join(", ")}`, |
| 235 | ); | 235 | ); |
| 236 | }); | 236 | }); |
| 237 | 237 | ||
src/lib/engine.ts +148 -80 src/lib/fixedCompanionBuilds.test.ts +557 -0 src/lib/types.ts +25 -2 | @@ -3,6 +3,29 @@ export type Lang = "en" | "fr"; | ||
| 3 | 3 | /** Bilingual label: [English, French] — game terms in official English first. */ |
| 4 | 4 | export type LocalizedText = readonly [string, string]; |
| 5 | 5 | |
| 6 | +export interface CompanionBuildSource { | |
| 7 | + label: string; | |
| 8 | + url: string; | |
| 9 | + edition: "DE" | "XCX" | "both"; | |
| 10 | +} | |
| 11 | + | |
| 12 | +export interface CompanionEquipmentAdvice { | |
| 13 | + weapons: LocalizedText; | |
| 14 | + armor: LocalizedText; | |
| 15 | + availability: LocalizedText; | |
| 16 | +} | |
| 17 | + | |
| 18 | +export interface CuratedCompanionBuild { | |
| 19 | + role: LocalizedText; | |
| 20 | + rationale: LocalizedText; | |
| 21 | + arts: readonly string[]; | |
| 22 | + skills: readonly string[]; | |
| 23 | + artSubstitutes: readonly string[]; | |
| 24 | + skillSubstitutes: readonly string[]; | |
| 25 | + equipment: CompanionEquipmentAdvice; | |
| 26 | + sources: readonly CompanionBuildSource[]; | |
| 27 | +} | |
| 28 | + | |
| 6 | 29 | export interface ClassEntry { |
| 7 | 30 | id: string; |
| 8 | 31 | en: string; |
| @@ -162,8 +185,7 @@ export interface CompanionPlan { | ||
| 162 | 185 | strategy: StrategyKey; |
| 163 | 186 | capabilities: CapabilityVector; |
| 164 | 187 | arts: readonly ArtSelection[]; |
| 165 | - /** Unbudgeted top-Arts pool; role scoring uses potential while display respects the TP budget. */ | |
| 166 | - potentialArts: readonly ArtSelection[]; | |
| 188 | + curatedBuild: CuratedCompanionBuild; | |
| 167 | 189 | skills: readonly SkillSelection[]; |
| 168 | 190 | skillSlots: number; |
| 169 | 191 | note: LocalizedText; |
| @@ -212,6 +234,7 @@ export interface RosterMember { | ||
| 212 | 234 | skillSlots: number; |
| 213 | 235 | strategy: StrategyKey; |
| 214 | 236 | note: LocalizedText; |
| 237 | + curatedBuild?: CuratedCompanionBuild; | |
| 215 | 238 | planReasons: readonly string[]; |
| 216 | 239 | source?: string; |
| 217 | 240 | } |
| @@ -3,6 +3,29 @@ export type Lang = "en" | "fr"; | |||
| 3 | /** Bilingual label: [English, French] — game terms in official English first. */ | 3 | /** Bilingual label: [English, French] — game terms in official English first. */ |
| 4 | export type LocalizedText = readonly [string, string]; | 4 | export type LocalizedText = readonly [string, string]; |
| 5 | 5 | ||
| 6 | +export interface CompanionBuildSource { | ||
| 7 | + label: string; | ||
| 8 | + url: string; | ||
| 9 | + edition: "DE" | "XCX" | "both"; | ||
| 10 | +} | ||
| 11 | + | ||
| 12 | +export interface CompanionEquipmentAdvice { | ||
| 13 | + weapons: LocalizedText; | ||
| 14 | + armor: LocalizedText; | ||
| 15 | + availability: LocalizedText; | ||
| 16 | +} | ||
| 17 | + | ||
| 18 | +export interface CuratedCompanionBuild { | ||
| 19 | + role: LocalizedText; | ||
| 20 | + rationale: LocalizedText; | ||
| 21 | + arts: readonly string[]; | ||
| 22 | + skills: readonly string[]; | ||
| 23 | + artSubstitutes: readonly string[]; | ||
| 24 | + skillSubstitutes: readonly string[]; | ||
| 25 | + equipment: CompanionEquipmentAdvice; | ||
| 26 | + sources: readonly CompanionBuildSource[]; | ||
| 27 | +} | ||
| 28 | + | ||
| 6 | export interface ClassEntry { | 29 | export interface ClassEntry { |
| 7 | id: string; | 30 | id: string; |
| 8 | en: string; | 31 | en: string; |
| @@ -162,8 +185,7 @@ export interface CompanionPlan { | |||
| 162 | strategy: StrategyKey; | 185 | strategy: StrategyKey; |
| 163 | capabilities: CapabilityVector; | 186 | capabilities: CapabilityVector; |
| 164 | arts: readonly ArtSelection[]; | 187 | arts: readonly ArtSelection[]; |
| 165 | - /** Unbudgeted top-Arts pool; role scoring uses potential while display respects the TP budget. */ | 188 | + curatedBuild: CuratedCompanionBuild; |
| 166 | - potentialArts: readonly ArtSelection[]; | ||
| 167 | skills: readonly SkillSelection[]; | 189 | skills: readonly SkillSelection[]; |
| 168 | skillSlots: number; | 190 | skillSlots: number; |
| 169 | note: LocalizedText; | 191 | note: LocalizedText; |
| @@ -212,6 +234,7 @@ export interface RosterMember { | |||
| 212 | skillSlots: number; | 234 | skillSlots: number; |
| 213 | strategy: StrategyKey; | 235 | strategy: StrategyKey; |
| 214 | note: LocalizedText; | 236 | note: LocalizedText; |
| 237 | + curatedBuild?: CuratedCompanionBuild; | ||
| 215 | planReasons: readonly string[]; | 238 | planReasons: readonly string[]; |
| 216 | source?: string; | 239 | source?: string; |
| 217 | } | 240 | } |
tsconfig.tsbuildinfo +0 -1 | deleted file mode 100644 | ||
| @@ -1 +0,0 @@ | ||
| 1 | -{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.promise.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.iterator.d.ts","./node_modules/typescript/lib/lib.esnext.float16.d.ts","./node_modules/typescript/lib/lib.esnext.error.d.ts","./node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/web-globals/streams.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/sharp/lib/index.d.ts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/dev/types/routes.d.ts","./next-env.d.ts","./next.config.ts","./src/lib/types.ts","./src/data/arms.ts","./src/data/artDescriptions.ts","./src/data/builds.ts","./src/data/classes.ts","./src/data/companions.ts","./src/data/skellWeapons.ts","./src/data/contextual.ts","./src/data/i18n.ts","./src/data/progression.ts","./src/data/skells.ts","./research/art-effects.json","./src/lib/engine.ts","./src/lib/buildPersistence.ts","./src/lib/buildPersistence.test.ts","./src/lib/contextualEngine.ts","./src/lib/contextualEngine.test.ts","./src/lib/engine.test.ts","./node_modules/next/dist/compiled/@next/font/dist/types.d.ts","./node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","./node_modules/next/font/google/index.d.ts","./app/layout.tsx","./src/components/ControlPanel.tsx","./src/components/BuildCard.tsx","./src/components/ResultsSection.tsx","./src/components/SiteFooter.tsx","./src/components/SquadPanel.tsx","./src/components/Topbar.tsx","./src/components/TeamBuilder.tsx","./app/page.tsx","./.next/types/cache-life.d.ts","./.next/types/routes.d.ts","./.next/types/validator.ts","./.next/dev/types/cache-life.d.ts","./.next/dev/types/validator.ts","./node_modules/@types/estree/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/json5/index.d.ts"],"fileIdsList":[[97,146,163,164,488,489,490,491,568],[97,146,163,164,568,571],[97,146,163,164,231,532,535,559,567,568,571],[97,146,163,164,488,489,490,491,571],[97,146,163,164,231,532,559,567,568,569,571],[97,146,163,164,231,530,533,558,568,571],[97,146,163,164,231,566,568,571],[97,146,163,164,533,534,535,568,571],[97,146,163,164,231,533,568,571],[97,143,144,146,163,164,568,571],[97,145,146,163,164,568,571],[146,163,164,568,571],[97,146,151,163,164,181,568,571],[97,146,147,152,157,163,164,166,178,189,568,571],[97,146,147,148,157,163,164,166,568,571],[92,93,94,97,146,163,164,568,571],[97,146,149,163,164,190,568,571],[97,146,150,151,158,163,164,167,568,571],[97,146,151,163,164,178,186,568,571],[97,146,152,154,157,163,164,166,568,571],[97,145,146,153,163,164,568,571],[97,146,154,155,163,164,568,571],[97,146,156,157,163,164,568,571],[97,145,146,157,163,164,568,571],[97,146,157,158,159,163,164,178,189,568,571],[97,146,157,158,159,163,164,173,178,181,568,571],[97,138,146,154,157,160,163,164,166,178,189,568,571],[97,146,157,158,160,161,163,164,166,178,186,189,568,571],[97,146,160,162,163,164,178,186,189,568,571],[95,96,97,98,99,100,101,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,568,571],[97,146,157,163,164,568,571],[97,146,163,164,165,189,568,571],[97,146,154,157,163,164,166,178,568,571],[97,146,163,164,167,568,571],[97,146,163,164,168,568,571],[97,145,146,163,164,169,568,571],[97,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,568,571],[97,146,163,164,171,568,571],[97,146,163,164,172,568,571],[97,146,157,163,164,173,174,568,571],[97,146,163,164,173,175,190,192,568,571],[97,146,158,163,164,568,571],[97,146,157,163,164,178,179,181,568,571],[97,146,163,164,180,181,568,571],[97,146,163,164,178,179,568,571],[97,146,163,164,181,568,571],[97,146,163,164,182,568,571],[97,143,146,163,164,178,183,189,568,571],[97,146,157,163,164,184,185,568,571],[97,146,163,164,184,185,568,571],[97,146,151,163,164,166,178,186,568,571],[97,146,163,164,187,568,571],[97,146,163,164,166,188,568,571],[97,146,160,163,164,172,189,568,571],[97,146,151,163,164,190,568,571],[97,146,163,164,178,191,568,571],[97,146,163,164,165,192,568,571],[97,146,163,164,193,568,571],[97,138,146,163,164,568,571],[97,138,146,157,159,163,164,169,178,181,189,191,192,194,568,571],[97,146,163,164,178,195,568,571],[85,89,97,146,163,164,197,198,199,200,201,483,528,568,571],[85,97,146,163,164,568,571],[85,89,97,146,163,164,197,198,199,200,464,483,528,568,571],[85,89,97,146,163,164,197,198,200,201,483,528,568,571],[85,97,146,163,164,201,464,465,568,571],[85,97,146,163,164,201,464,568,571],[85,89,97,146,163,164,198,199,200,201,483,528,568,571],[85,89,97,146,163,164,197,199,200,201,483,528,568,571],[83,84,97,146,163,164,568,571],[97,146,163,164,486,568,571],[97,146,163,164,488,489,490,491,568,571],[97,146,163,164,434,497,498,568,571],[97,146,163,164,206,207,209,221,245,360,371,479,568,571],[97,146,163,164,209,240,241,242,244,479,568,571],[97,146,163,164,209,377,379,381,382,384,479,481,568,571],[97,146,163,164,209,243,280,479,568,571],[97,146,163,164,207,209,220,221,227,233,238,359,360,361,370,479,481,568,571],[97,146,163,164,479,568,571],[97,146,163,164,216,222,241,261,356,568,571],[97,146,163,164,209,568,571],[97,146,163,164,202,216,222,568,571],[97,146,163,164,388,568,571],[97,146,163,164,385,386,388,568,571],[97,146,163,164,385,387,479,568,571],[97,146,160,163,164,261,458,476,568,571],[97,146,160,163,164,332,335,351,356,476,568,571],[97,146,160,163,164,304,476,568,571],[97,146,163,164,364,568,571],[97,146,163,164,363,364,365,568,571],[97,146,163,164,363,568,571],[91,97,146,160,163,164,202,209,221,227,233,239,241,245,246,259,260,327,357,358,371,479,483,568,571],[97,146,163,164,206,209,243,280,377,378,383,479,531,568,571],[97,146,163,164,243,531,568,571],[97,146,163,164,206,260,429,479,531,568,571],[97,146,163,164,531,568,571],[97,146,163,164,209,243,244,531,568,571],[97,146,163,164,380,531,568,571],[97,146,163,164,246,359,362,369,568,571],[85,97,146,163,164,434,568,571],[97,146,163,164,172,216,231,568,571],[97,146,163,164,216,231,568,571],[85,97,146,163,164,301,568,571],[85,97,146,163,164,231,568,571],[85,97,146,163,164,222,231,434,568,571],[97,146,163,164,216,287,301,302,513,520,568,571],[97,146,163,164,286,514,515,516,517,519,568,571],[97,146,163,164,337,568,571],[97,146,163,164,337,338,568,571],[97,146,163,164,220,222,289,290,568,571],[97,146,163,164,222,296,297,568,571],[97,146,163,164,222,291,299,568,571],[97,146,163,164,296,568,571],[97,146,163,164,214,222,289,290,291,292,293,294,295,296,299,568,571],[97,146,163,164,222,289,296,297,298,300,568,571],[97,146,163,164,222,290,292,293,568,571],[97,146,163,164,290,292,295,297,568,571],[97,146,163,164,518,568,571],[97,146,163,164,222,568,571],[85,97,146,163,164,210,507,568,571],[85,97,146,163,164,189,568,571],[85,97,146,163,164,243,278,568,571],[85,97,146,163,164,243,371,568,571],[97,146,163,164,276,281,568,571],[85,97,146,163,164,277,485,568,571],[97,146,163,164,556,568,571],[85,89,97,146,160,163,164,197,198,199,200,201,483,527,568,571],[97,146,160,163,164,222,568,571],[97,146,160,163,164,221,226,307,324,366,367,371,426,428,479,480,568,571],[97,146,163,164,259,368,568,571],[97,146,163,164,483,568,571],[97,146,163,164,208,568,571],[85,97,146,163,164,213,216,431,447,449,568,571],[97,146,163,164,172,216,431,446,447,448,530,568,571],[97,146,163,164,440,441,442,443,444,445,568,571],[97,146,163,164,442,568,571],[97,146,163,164,446,568,571],[97,146,163,164,231,395,396,398,568,571],[85,97,146,163,164,222,389,390,391,392,397,568,571],[97,146,163,164,395,397,568,571],[97,146,163,164,393,568,571],[97,146,163,164,394,568,571],[85,97,146,163,164,231,277,485,568,571],[85,97,146,163,164,231,484,485,568,571],[85,97,146,163,164,231,485,568,571],[97,146,163,164,324,325,568,571],[97,146,163,164,325,568,571],[97,146,160,163,164,480,485,568,571],[97,146,163,164,354,568,571],[97,145,146,163,164,353,568,571],[97,146,163,164,216,222,228,230,332,345,349,351,428,431,468,469,476,480,568,571],[97,146,163,164,222,271,293,568,571],[97,146,163,164,332,343,346,351,568,571],[85,97,146,163,164,213,216,332,335,351,354,388,435,436,437,438,439,450,451,452,453,454,455,456,457,531,568,571],[97,146,163,164,213,216,241,332,339,340,341,344,345,568,571],[97,146,163,164,178,222,241,343,350,431,432,476,568,571],[97,146,163,164,347,568,571],[97,146,160,163,164,172,210,222,226,236,268,269,272,324,327,392,426,427,468,479,480,481,483,531,568,571],[97,146,163,164,213,214,216,568,571],[97,146,163,164,332,568,571],[97,145,146,163,164,241,268,269,326,327,328,329,330,331,480,568,571],[97,146,163,164,351,568,571],[97,145,146,163,164,215,216,226,230,266,332,339,340,341,342,343,346,347,348,349,350,469,568,571],[97,146,160,163,164,266,267,339,480,481,568,571],[97,146,163,164,241,269,324,327,332,428,480,568,571],[97,146,160,163,164,479,481,568,571],[97,146,160,163,164,178,476,480,481,568,571],[97,146,160,163,164,172,202,216,221,228,230,233,236,243,263,268,269,270,271,272,307,308,310,313,315,318,319,320,321,323,371,426,428,476,479,480,481,568,571],[97,146,160,163,164,178,568,571],[97,146,163,164,209,210,211,239,476,477,478,483,485,531,568,571],[97,146,163,164,206,207,479,568,571],[97,146,163,164,400,568,571],[97,146,160,163,164,178,189,218,384,388,389,390,391,392,398,399,531,568,571],[97,146,163,164,172,189,202,216,218,230,233,269,308,313,323,324,377,404,405,406,412,415,416,426,428,476,479,568,571],[97,146,163,164,233,239,246,259,269,327,479,568,571],[97,146,160,163,164,189,210,221,230,269,410,476,479,568,571],[97,146,163,164,430,568,571],[97,146,160,163,164,400,413,414,423,568,571],[97,146,163,164,476,479,568,571],[97,146,163,164,329,469,568,571],[97,146,163,164,230,268,371,485,568,571],[97,146,160,163,164,172,208,313,373,377,406,412,415,418,476,568,571],[97,146,160,163,164,246,259,377,419,568,571],[97,146,163,164,209,270,371,421,479,481,568,571],[97,146,160,163,164,189,392,479,568,571],[97,146,160,163,164,243,270,371,372,373,382,400,420,422,479,568,571],[91,97,146,160,163,164,268,425,483,485,568,571],[97,146,163,164,322,426,568,571],[97,146,160,163,164,172,216,219,221,222,228,230,236,245,246,259,269,272,308,310,320,323,324,371,404,405,406,407,409,411,426,428,476,485,568,571],[97,146,160,163,164,178,246,412,417,423,476,568,571],[97,146,163,164,249,250,251,252,253,254,255,256,257,258,568,571],[97,146,163,164,263,314,568,571],[97,146,163,164,316,568,571],[97,146,163,164,314,568,571],[97,146,163,164,316,317,568,571],[97,146,160,163,164,220,221,222,226,227,480,568,571],[97,146,160,163,164,172,208,210,228,232,268,271,272,306,426,476,481,483,485,568,571],[97,146,160,163,164,172,189,212,219,220,230,232,269,424,469,475,480,568,571],[97,146,163,164,339,568,571],[97,146,163,164,340,568,571],[97,146,163,164,222,233,468,568,571],[97,146,163,164,341,568,571],[97,146,163,164,215,568,571],[97,146,163,164,217,229,568,571],[97,146,160,163,164,217,221,228,568,571],[97,146,163,164,224,229,568,571],[97,146,163,164,225,568,571],[97,146,163,164,217,218,568,571],[97,146,163,164,217,273,568,571],[97,146,163,164,217,568,571],[97,146,163,164,219,263,312,568,571],[97,146,163,164,311,568,571],[97,146,163,164,216,218,219,568,571],[97,146,163,164,219,309,568,571],[97,146,163,164,216,218,568,571],[97,146,163,164,268,371,568,571],[97,146,163,164,468,568,571],[97,146,160,163,164,189,228,230,234,268,371,425,428,431,432,433,459,460,463,467,469,476,480,568,571],[97,146,163,164,282,285,287,288,301,302,568,571],[85,97,146,163,164,199,200,201,231,461,462,568,571],[85,97,146,163,164,199,200,201,231,461,462,466,568,571],[97,146,163,164,355,568,571],[97,146,163,164,241,262,267,268,332,333,334,335,336,338,351,352,354,357,425,428,479,481,568,571],[97,146,163,164,301,568,571],[97,146,160,163,164,306,476,568,571],[97,146,163,164,306,568,571],[97,146,160,163,164,228,274,303,305,307,425,476,483,485,568,571],[97,146,163,164,282,283,284,285,287,288,301,302,484,568,571],[91,97,146,160,163,164,172,189,217,218,230,236,268,269,272,371,423,424,426,476,479,480,483,568,571],[97,146,163,164,213,216,223,568,571],[97,146,163,164,267,269,401,404,568,571],[97,146,163,164,267,402,470,471,472,473,474,568,571],[97,146,160,163,164,263,479,568,571],[97,146,160,163,164,568,571],[97,146,163,164,266,351,568,571],[97,146,163,164,265,568,571],[97,146,163,164,267,320,568,571],[97,146,163,164,264,266,479,568,571],[97,146,160,163,164,212,267,401,402,403,476,479,480,568,571],[85,97,146,163,164,216,222,300,568,571],[85,97,146,163,164,214,568,571],[97,146,163,164,204,205,568,571],[85,97,146,163,164,210,568,571],[85,97,146,163,164,216,286,568,571],[85,91,97,146,163,164,268,272,483,485,568,571],[97,146,163,164,210,507,508,568,571],[85,97,146,163,164,281,568,571],[85,97,146,163,164,172,189,208,275,277,279,280,485,568,571],[97,146,163,164,216,243,480,568,571],[97,146,163,164,216,408,568,571],[85,97,146,158,160,163,164,172,206,208,281,379,483,484,568,571],[85,97,146,163,164,197,198,199,200,201,483,528,568,571],[85,86,87,88,89,97,146,163,164,568,571],[97,146,151,163,164,568,571],[97,146,163,164,374,375,376,568,571],[97,146,163,164,374,568,571],[85,89,97,146,160,162,163,164,172,196,197,198,199,200,201,202,208,236,241,418,446,481,482,485,528,568,571],[97,146,163,164,493,568,571],[97,146,163,164,495,568,571],[97,146,163,164,499,568,571],[97,146,163,164,557,568,571],[97,146,163,164,501,568,571],[97,146,163,164,503,504,505,568,571],[97,146,163,164,509,568,571],[90,97,146,163,164,487,492,494,496,500,502,506,510,512,522,523,525,529,530,531,532,568,571],[97,146,163,164,511,568,571],[97,146,163,164,521,568,571],[97,146,163,164,277,568,571],[97,146,163,164,524,568,571],[97,145,146,163,164,267,401,402,404,470,471,473,474,526,528,568,571],[97,146,163,164,196,568,571],[97,146,163,164,178,196,568,571],[97,110,114,146,163,164,189,568,571],[97,110,146,163,164,178,189,568,571],[97,105,146,163,164,568,571],[97,107,110,146,163,164,186,189,568,571],[97,146,163,164,166,186,568,571],[97,105,146,163,164,196,568,571],[97,107,110,146,163,164,166,189,568,571],[97,102,103,106,109,146,157,163,164,178,189,568,571],[97,110,117,146,163,164,568,571],[97,102,108,146,163,164,568,571],[97,110,131,132,146,163,164,568,571],[97,106,110,146,163,164,181,189,196,568,571],[97,131,146,163,164,196,568,571],[97,104,105,146,163,164,196,568,571],[97,110,146,163,164,568,571],[97,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137,146,163,164,568,571],[97,110,125,146,163,164,568,571],[97,110,117,118,146,163,164,568,571],[97,108,110,118,119,146,163,164,568,571],[97,109,146,163,164,568,571],[97,102,105,110,146,163,164,568,571],[97,110,114,118,119,146,163,164,568,571],[97,114,146,163,164,568,571],[97,108,110,113,146,163,164,189,568,571],[97,102,107,110,117,146,163,164,568,571],[97,146,163,164,178,568,571],[97,105,110,131,146,163,164,194,196,568,571],[97,146,163,164,231,568,571],[97,146,163,164,231,538,539,540,541,546,550,553,568,571],[97,146,163,164,231,538,542,546,550,568,571],[85,97,146,163,164,231,538,546,550,561,568,571],[97,146,163,164,231,546,568,571],[97,146,163,164,231,538,543,546,568,571],[85,97,146,163,164,231,538,542,546,550,551,553,560,562,563,564,565,568,571],[97,146,163,164,231,538,546,568,571],[97,146,163,164,231,538,568,571],[97,146,163,164,231,538,544,568,571],[97,144,146,163,164,183,231,550,551,568,571],[97,146,163,164,231,538,542,543,550,568,571],[97,144,146,163,164,183,231,538,543,549,550,553,568,571],[97,146,163,164,231,538,541,543,545,547,549,550,568,571],[97,144,146,163,164,183,231,543,547,549,550,568,571],[97,146,163,164,231,538,541,542,543,544,547,548,549,568,571]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"78dbea00e90d2df8ea3dbef0cc379d95b8be9b71cd6bde4c28728f306811803b","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e1e46d0a9837ee058c100501080c920fa98081ea3956af0374308ba6f22a33e","impliedFormat":1},{"version":"272ca407e0c9068bdc5152552d876e68037ceae3de62e529306403e973dec8e1","impliedFormat":1},{"version":"fa7834c715d5357e4540cee40ce96c3250ddb67a7b879a6b7fa0e86d6696f121","impliedFormat":1},{"version":"22dfb07a7ab15b66ac043829056fe70124844636ae719551812ac631ba04985b","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"0cb167c371eaa8c869f8a7656a7296f2e4fae43b4d8b803a680236b24794e5f9","impliedFormat":1},{"version":"0a839dba0287cc0481ad4beedd48a1c64acf1e212ae865d1315f7007ca215161","impliedFormat":1},{"version":"38dc4655376cd1a4bd6bb3763d92949233e33d38d3dd3cbea7bbf218175a38ef","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"d61e0a64cd175208ac0b83670151a9a6b5916f0d1ffcdc5c29c90b1cebfc5045","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"48a679952eefe4cb776d5a0e1ccba2d3eb53b57448bbb7abc1fcebcbd5440188","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2d14da6ecb49bf828d83948765ec2d3a579d476bbb9645e749610baa6ec880ca","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"0aef708fb4c7a6b915e8305cbfac40cd207b032dbaabe9a01889a5fff3254681","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"ad9bdafb4e7abf14cc53ce7970486a84c87831e62891e5dfe798ddcd55e84701","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"71d3ae6a5e73ca4130762560425e00984ebaff64d5353a3333d1bb7eb86ef336","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"66be1299a7a3129ceb488b340c291cf575bebb0e337f92e169dec38231472e34","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"48dcc919f76c040a999c0d46d2bf25ab089645ca21b837f120b222f56a86cd76","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"5a16e93d5d53d987dddda1ec606c9821f6bd31d1bdf0635e05e3841312cefa8b","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"f282cb0bc62e0cc771d4c2e7ece6359a5f4a3dff664584e97476fd37154816bb","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"a384610388221cd70cffb4503cee7853b8b076f2b4a55324b20a4bdbd25a3538","affectsGlobalScope":true},"7ad303e40d4fddf44f156129e397511953a71481c5cfd86b1862649aaaf240cc",{"version":"f5a1676c44601c4291320391570b3a9aafbae9a6bea721b62dd186da9a827911","signature":"435a1e418e8338be3f39614b96b81a9aa2700bc8c27bc6b98f064ff9ce17c363"},{"version":"d9d7f0858b623dba11cdf642ca99e2cb23b1ddf832989e93df2b4dacea93b936","signature":"dcf142e7b7f155862558f7a1149fe9f0dacb2b561e14c47c2964b75dd166586d"},"c91b304a3ac178ac2f76b66849e748f24e02c6590d20822f16d043a0128195b0","63665042aa6e4788fe56b0625b04125b27d8d17e05763b4179f279003eec8f28","a2d898cef1881fa251aa8459521de4a061c2936b765ec6021bfb3d335d3714af","d2a550e6c7f7b40bbe0d1edf75cf75c0d7786ce13995942be1b91cc94a2d3ebd","212641fbc18ca00ce5b86a1d38b8d2b6bdb25edb0a4b33aa0b1f432e451a7fe0","c9f1d9193a614dd7f25e516d5d6b5479df106c01d9a51b279026295d9a4fa62d","a5abfa63e6b44cb949186540bf2205d2a8980f49abece42a01394ec9560bc96e","f9227ecc2b115053686d47c3308ceac221ce597a0262f5667965cb8e78ad0278","48e6b3f0bd8522db70ffadce7163f4f32cdc94caa5f4123069476373b1bbdb07","1274bf3731eddb838f9b5342ebd837ccd26695d6019bf7e615d47c97fb642f88",{"version":"cdac9a85ae7d25e2e8167de3b07e77442b4aa65c088615a88e5bc2ca2ce139d9","signature":"a07a0fd66a61890bd69f2b8aa7afa4794023f1d9981f8eb0e4d36f06be62bbd2"},{"version":"870b69e8b455b6cbc2a1b92aa47929d9aae348d7e9275c291fed5edb67613e7d","signature":"9b30dbc15207de149eb756a6ba05fccb04408c73500a717b604b66143250a4b5"},"40a5becad931bcab37e811405ae86c94001e97709566f33d2ac9ae44f5890c61","79d9869fcccdee7ac6efe4c80d70e89a82c5a35aa4c86d16a1acefcb4d552a9f","4e663229d0f5dcc916ea9dd2d377222ce193be437173b911d60518c3fff612b4",{"version":"93afb3d171c8c5d1b3eb1a8756ccdfdd89b2d2305295cf9d48f78b27bf4bb1ad","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e1c249ef011ea3d40bd158bd782167a090135d438b5c1eaeb6518642f3ac4968","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"3255b97f3f24af29c79cc1aa88004efb13b6285ebdde0a567bf32e19bb65250d","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},{"version":"01d3478be006d10a3abefe929996ed5decf8d809c242bfe7f6de3741e4e761f2","signature":"01a977ade994fe0de990222140f158a0dc3b03529994c449aa39333d0facac02"},"11ed2b0b52af52f3eaff37b9d41c9565f5565dfe8b864d7fb334e21c3fc3df0a","ca4fc772f4db439a193a1f3404d38bb6de729e46486f69fab01645a9b6bf2e57","e50b6be34e50998e01623e5881c639ec09edd7d607079055e856d7188ad1e824","e4fcca12421e8066c464bbaf2525b1a881998ab147f85023bce0964d7e0d5248","078e6873248c46d496d62935b4ce7e6fc92f8deaef314b382fb6f4de5c70ca5e","c331b7056801e4bc7b46732e77173277b55e0367de6618bae2f85c7c7ce27b56","5e8be2b46e016ff19698fe2279e9187b7fc1b9548b4876a624dcf8cb01f9b457","d46f111f0daf006ae96e904cd3c8e24d4e3ca682b455001af31e8207a1b352fd","d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"a384610388221cd70cffb4503cee7853b8b076f2b4a55324b20a4bdbd25a3538","affectsGlobalScope":true},"8c738d7ab02122bec55d98eab2f5e875f5306ebffe56a6be96f2da0916a7ea71","d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7","ac965c40df1c4a3d53cebda90c50063ebda4522b0a054741dc3d2bd98bc852e6",{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1}],"root":[[535,548],[550,555],[559,572]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[571,1],[535,2],[572,3],[568,4],[569,2],[570,5],[559,6],[567,7],[536,8],[537,9],[379,2],[573,2],[574,2],[575,2],[143,10],[144,10],[145,11],[97,12],[146,13],[147,14],[148,15],[92,2],[95,16],[93,2],[94,2],[149,17],[150,18],[151,19],[152,20],[153,21],[154,22],[155,22],[156,23],[157,24],[158,25],[159,26],[98,2],[96,2],[160,27],[161,28],[162,29],[196,30],[163,31],[164,2],[165,32],[166,33],[167,34],[168,35],[169,36],[170,37],[171,38],[172,39],[173,40],[174,40],[175,41],[176,2],[177,42],[178,43],[180,44],[179,45],[181,46],[182,47],[183,48],[184,49],[185,50],[186,51],[187,52],[188,53],[189,54],[190,55],[191,56],[192,57],[193,58],[99,2],[100,2],[101,2],[139,59],[140,2],[141,2],[142,46],[194,60],[195,61],[200,62],[464,63],[201,64],[199,65],[466,66],[465,67],[197,68],[462,2],[198,69],[83,2],[85,70],[461,63],[231,63],[84,2],[487,71],[492,72],[499,73],[482,74],[235,2],[243,75],[383,76],[386,77],[358,2],[371,78],[378,79],[260,2],[360,2],[241,2],[357,80],[403,81],[242,2],[233,82],[385,83],[387,84],[388,85],[459,86],[352,87],[305,88],[365,89],[366,90],[364,91],[363,2],[359,92],[384,93],[244,94],[429,2],[430,95],[271,96],[245,97],[272,96],[308,96],[211,96],[381,98],[380,2],[370,99],[477,2],[220,2],[498,100],[437,101],[438,102],[434,103],[516,2],[335,2],[439,104],[435,105],[521,106],[520,107],[515,2],[286,2],[338,108],[337,2],[514,109],[436,63],[291,110],[298,111],[300,112],[290,2],[295,113],[297,114],[299,115],[294,116],[292,2],[296,117],[517,2],[513,2],[519,118],[518,2],[289,119],[508,120],[511,121],[279,122],[278,123],[277,124],[524,63],[276,125],[265,2],[526,2],[557,126],[556,2],[527,63],[528,127],[203,2],[367,128],[368,129],[369,130],[207,2],[372,2],[227,131],[202,2],[451,63],[209,132],[450,133],[449,134],[440,2],[441,2],[448,2],[443,2],[446,135],[442,2],[444,136],[447,137],[445,136],[240,2],[237,2],[238,96],[392,2],[397,138],[398,139],[396,140],[394,141],[395,142],[390,2],[457,104],[232,104],[486,143],[493,144],[497,145],[326,146],[325,2],[320,2],[473,147],[481,148],[353,149],[354,150],[432,151],[342,2],[455,152],[330,63],[347,153],[458,154],[343,2],[346,155],[344,2],[456,156],[453,157],[452,2],[454,2],[350,2],[428,158],[215,159],[328,160],[332,161],[348,162],[351,163],[340,164],[333,165],[480,166],[406,167],[324,168],[212,169],[479,170],[208,171],[399,172],[391,2],[400,173],[417,174],[389,2],[416,175],[91,2],[411,176],[236,2],[431,177],[407,2],[221,2],[223,2],[362,2],[415,178],[239,2],[263,179],[349,180],[269,181],[329,2],[414,2],[393,2],[419,182],[420,183],[361,2],[422,184],[424,185],[423,186],[373,2],[413,169],[426,187],[323,188],[412,189],[418,190],[248,2],[252,2],[251,2],[250,2],[255,2],[249,2],[258,2],[257,2],[254,2],[253,2],[256,2],[259,191],[247,2],[315,192],[314,2],[319,193],[316,194],[318,195],[321,193],[317,194],[228,196],[307,197],[476,198],[474,2],[503,199],[505,200],[469,201],[504,202],[216,203],[213,203],[246,2],[230,204],[229,205],[225,206],[226,207],[234,208],[262,208],[273,208],[309,209],[274,209],[218,210],[217,2],[313,211],[312,212],[311,213],[310,214],[219,215],[460,216],[261,217],[468,218],[433,219],[463,220],[467,221],[356,222],[355,223],[336,224],[322,225],[304,226],[306,227],[303,228],[425,229],[327,2],[491,2],[224,230],[427,231],[475,232],[334,2],[264,233],[341,234],[339,235],[266,236],[401,237],[470,2],[267,238],[402,238],[489,2],[488,2],[490,2],[472,2],[471,2],[404,239],[331,2],[301,240],[222,241],[280,2],[206,242],[268,2],[495,63],[205,2],[507,243],[288,63],[501,104],[287,244],[484,245],[285,243],[210,2],[509,246],[283,63],[284,63],[275,2],[204,2],[282,247],[281,248],[270,249],[345,39],[405,39],[421,2],[409,250],[408,2],[293,119],[214,2],[302,63],[478,131],[485,251],[86,63],[89,252],[90,253],[87,63],[88,2],[382,254],[377,255],[376,2],[375,256],[374,2],[483,257],[494,258],[496,259],[500,260],[558,261],[502,262],[506,263],[534,264],[510,264],[533,265],[512,266],[522,267],[523,268],[525,269],[529,270],[532,131],[531,2],[530,271],[410,272],[81,2],[82,2],[13,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[1,2],[71,2],[72,2],[12,2],[76,2],[74,2],[79,2],[78,2],[73,2],[77,2],[75,2],[80,2],[117,273],[127,274],[116,273],[137,275],[108,276],[107,277],[136,271],[130,278],[135,279],[110,280],[124,281],[109,282],[133,283],[105,284],[104,271],[134,285],[106,286],[111,287],[112,2],[115,287],[102,2],[138,288],[128,289],[119,290],[120,291],[122,292],[118,293],[121,294],[131,271],[113,295],[114,296],[123,297],[103,298],[126,289],[125,287],[129,2],[132,299],[549,300],[561,301],[560,302],[562,303],[563,304],[564,305],[566,306],[565,307],[539,308],[540,308],[541,308],[542,308],[543,308],[545,309],[546,308],[547,308],[544,308],[548,308],[552,310],[551,311],[554,312],[553,313],[555,314],[550,315],[538,300]],"affectedFilesPendingEmit":[572,570,559,567,537,561,560,562,563,564,566,565,539,540,541,542,543,545,546,547,544,548,552,551,554,553,555,550,538],"version":"5.9.3"} | |
| \ No newline at end of file | ||
| deleted file mode 100644 | |||
| @@ -1 +0,0 @@ | |||
| 1 | -{"fileNames":["./node_modules/typescript/lib/lib.es5.d.ts","./node_modules/typescript/lib/lib.es2015.d.ts","./node_modules/typescript/lib/lib.es2016.d.ts","./node_modules/typescript/lib/lib.es2017.d.ts","./node_modules/typescript/lib/lib.es2018.d.ts","./node_modules/typescript/lib/lib.es2019.d.ts","./node_modules/typescript/lib/lib.es2020.d.ts","./node_modules/typescript/lib/lib.es2021.d.ts","./node_modules/typescript/lib/lib.es2022.d.ts","./node_modules/typescript/lib/lib.es2023.d.ts","./node_modules/typescript/lib/lib.es2024.d.ts","./node_modules/typescript/lib/lib.esnext.d.ts","./node_modules/typescript/lib/lib.dom.d.ts","./node_modules/typescript/lib/lib.dom.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.core.d.ts","./node_modules/typescript/lib/lib.es2015.collection.d.ts","./node_modules/typescript/lib/lib.es2015.generator.d.ts","./node_modules/typescript/lib/lib.es2015.iterable.d.ts","./node_modules/typescript/lib/lib.es2015.promise.d.ts","./node_modules/typescript/lib/lib.es2015.proxy.d.ts","./node_modules/typescript/lib/lib.es2015.reflect.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.d.ts","./node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2016.array.include.d.ts","./node_modules/typescript/lib/lib.es2016.intl.d.ts","./node_modules/typescript/lib/lib.es2017.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2017.date.d.ts","./node_modules/typescript/lib/lib.es2017.object.d.ts","./node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2017.string.d.ts","./node_modules/typescript/lib/lib.es2017.intl.d.ts","./node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","./node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","./node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","./node_modules/typescript/lib/lib.es2018.intl.d.ts","./node_modules/typescript/lib/lib.es2018.promise.d.ts","./node_modules/typescript/lib/lib.es2018.regexp.d.ts","./node_modules/typescript/lib/lib.es2019.array.d.ts","./node_modules/typescript/lib/lib.es2019.object.d.ts","./node_modules/typescript/lib/lib.es2019.string.d.ts","./node_modules/typescript/lib/lib.es2019.symbol.d.ts","./node_modules/typescript/lib/lib.es2019.intl.d.ts","./node_modules/typescript/lib/lib.es2020.bigint.d.ts","./node_modules/typescript/lib/lib.es2020.date.d.ts","./node_modules/typescript/lib/lib.es2020.promise.d.ts","./node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2020.string.d.ts","./node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","./node_modules/typescript/lib/lib.es2020.intl.d.ts","./node_modules/typescript/lib/lib.es2020.number.d.ts","./node_modules/typescript/lib/lib.es2021.promise.d.ts","./node_modules/typescript/lib/lib.es2021.string.d.ts","./node_modules/typescript/lib/lib.es2021.weakref.d.ts","./node_modules/typescript/lib/lib.es2021.intl.d.ts","./node_modules/typescript/lib/lib.es2022.array.d.ts","./node_modules/typescript/lib/lib.es2022.error.d.ts","./node_modules/typescript/lib/lib.es2022.intl.d.ts","./node_modules/typescript/lib/lib.es2022.object.d.ts","./node_modules/typescript/lib/lib.es2022.string.d.ts","./node_modules/typescript/lib/lib.es2022.regexp.d.ts","./node_modules/typescript/lib/lib.es2023.array.d.ts","./node_modules/typescript/lib/lib.es2023.collection.d.ts","./node_modules/typescript/lib/lib.es2023.intl.d.ts","./node_modules/typescript/lib/lib.es2024.arraybuffer.d.ts","./node_modules/typescript/lib/lib.es2024.collection.d.ts","./node_modules/typescript/lib/lib.es2024.object.d.ts","./node_modules/typescript/lib/lib.es2024.promise.d.ts","./node_modules/typescript/lib/lib.es2024.regexp.d.ts","./node_modules/typescript/lib/lib.es2024.sharedmemory.d.ts","./node_modules/typescript/lib/lib.es2024.string.d.ts","./node_modules/typescript/lib/lib.esnext.array.d.ts","./node_modules/typescript/lib/lib.esnext.collection.d.ts","./node_modules/typescript/lib/lib.esnext.intl.d.ts","./node_modules/typescript/lib/lib.esnext.disposable.d.ts","./node_modules/typescript/lib/lib.esnext.promise.d.ts","./node_modules/typescript/lib/lib.esnext.decorators.d.ts","./node_modules/typescript/lib/lib.esnext.iterator.d.ts","./node_modules/typescript/lib/lib.esnext.float16.d.ts","./node_modules/typescript/lib/lib.esnext.error.d.ts","./node_modules/typescript/lib/lib.esnext.sharedmemory.d.ts","./node_modules/typescript/lib/lib.decorators.d.ts","./node_modules/typescript/lib/lib.decorators.legacy.d.ts","./node_modules/@types/react/global.d.ts","./node_modules/csstype/index.d.ts","./node_modules/@types/react/index.d.ts","./node_modules/next/dist/styled-jsx/types/css.d.ts","./node_modules/next/dist/styled-jsx/types/macro.d.ts","./node_modules/next/dist/styled-jsx/types/style.d.ts","./node_modules/next/dist/styled-jsx/types/global.d.ts","./node_modules/next/dist/styled-jsx/types/index.d.ts","./node_modules/next/dist/server/get-page-files.d.ts","./node_modules/@types/node/compatibility/disposable.d.ts","./node_modules/@types/node/compatibility/indexable.d.ts","./node_modules/@types/node/compatibility/iterators.d.ts","./node_modules/@types/node/compatibility/index.d.ts","./node_modules/@types/node/globals.typedarray.d.ts","./node_modules/@types/node/buffer.buffer.d.ts","./node_modules/@types/node/globals.d.ts","./node_modules/@types/node/web-globals/abortcontroller.d.ts","./node_modules/@types/node/web-globals/domexception.d.ts","./node_modules/@types/node/web-globals/events.d.ts","./node_modules/undici-types/header.d.ts","./node_modules/undici-types/readable.d.ts","./node_modules/undici-types/file.d.ts","./node_modules/undici-types/fetch.d.ts","./node_modules/undici-types/formdata.d.ts","./node_modules/undici-types/connector.d.ts","./node_modules/undici-types/client.d.ts","./node_modules/undici-types/errors.d.ts","./node_modules/undici-types/dispatcher.d.ts","./node_modules/undici-types/global-dispatcher.d.ts","./node_modules/undici-types/global-origin.d.ts","./node_modules/undici-types/pool-stats.d.ts","./node_modules/undici-types/pool.d.ts","./node_modules/undici-types/handlers.d.ts","./node_modules/undici-types/balanced-pool.d.ts","./node_modules/undici-types/agent.d.ts","./node_modules/undici-types/mock-interceptor.d.ts","./node_modules/undici-types/mock-agent.d.ts","./node_modules/undici-types/mock-client.d.ts","./node_modules/undici-types/mock-pool.d.ts","./node_modules/undici-types/mock-errors.d.ts","./node_modules/undici-types/proxy-agent.d.ts","./node_modules/undici-types/env-http-proxy-agent.d.ts","./node_modules/undici-types/retry-handler.d.ts","./node_modules/undici-types/retry-agent.d.ts","./node_modules/undici-types/api.d.ts","./node_modules/undici-types/interceptors.d.ts","./node_modules/undici-types/util.d.ts","./node_modules/undici-types/cookies.d.ts","./node_modules/undici-types/patch.d.ts","./node_modules/undici-types/websocket.d.ts","./node_modules/undici-types/eventsource.d.ts","./node_modules/undici-types/filereader.d.ts","./node_modules/undici-types/diagnostics-channel.d.ts","./node_modules/undici-types/content-type.d.ts","./node_modules/undici-types/cache.d.ts","./node_modules/undici-types/index.d.ts","./node_modules/@types/node/web-globals/fetch.d.ts","./node_modules/@types/node/web-globals/navigator.d.ts","./node_modules/@types/node/web-globals/storage.d.ts","./node_modules/@types/node/web-globals/streams.d.ts","./node_modules/@types/node/assert.d.ts","./node_modules/@types/node/assert/strict.d.ts","./node_modules/@types/node/async_hooks.d.ts","./node_modules/@types/node/buffer.d.ts","./node_modules/@types/node/child_process.d.ts","./node_modules/@types/node/cluster.d.ts","./node_modules/@types/node/console.d.ts","./node_modules/@types/node/constants.d.ts","./node_modules/@types/node/crypto.d.ts","./node_modules/@types/node/dgram.d.ts","./node_modules/@types/node/diagnostics_channel.d.ts","./node_modules/@types/node/dns.d.ts","./node_modules/@types/node/dns/promises.d.ts","./node_modules/@types/node/domain.d.ts","./node_modules/@types/node/events.d.ts","./node_modules/@types/node/fs.d.ts","./node_modules/@types/node/fs/promises.d.ts","./node_modules/@types/node/http.d.ts","./node_modules/@types/node/http2.d.ts","./node_modules/@types/node/https.d.ts","./node_modules/@types/node/inspector.d.ts","./node_modules/@types/node/inspector.generated.d.ts","./node_modules/@types/node/module.d.ts","./node_modules/@types/node/net.d.ts","./node_modules/@types/node/os.d.ts","./node_modules/@types/node/path.d.ts","./node_modules/@types/node/perf_hooks.d.ts","./node_modules/@types/node/process.d.ts","./node_modules/@types/node/punycode.d.ts","./node_modules/@types/node/querystring.d.ts","./node_modules/@types/node/readline.d.ts","./node_modules/@types/node/readline/promises.d.ts","./node_modules/@types/node/repl.d.ts","./node_modules/@types/node/sea.d.ts","./node_modules/@types/node/sqlite.d.ts","./node_modules/@types/node/stream.d.ts","./node_modules/@types/node/stream/promises.d.ts","./node_modules/@types/node/stream/consumers.d.ts","./node_modules/@types/node/stream/web.d.ts","./node_modules/@types/node/string_decoder.d.ts","./node_modules/@types/node/test.d.ts","./node_modules/@types/node/timers.d.ts","./node_modules/@types/node/timers/promises.d.ts","./node_modules/@types/node/tls.d.ts","./node_modules/@types/node/trace_events.d.ts","./node_modules/@types/node/tty.d.ts","./node_modules/@types/node/url.d.ts","./node_modules/@types/node/util.d.ts","./node_modules/@types/node/v8.d.ts","./node_modules/@types/node/vm.d.ts","./node_modules/@types/node/wasi.d.ts","./node_modules/@types/node/worker_threads.d.ts","./node_modules/@types/node/zlib.d.ts","./node_modules/@types/node/index.d.ts","./node_modules/@types/react/canary.d.ts","./node_modules/@types/react/experimental.d.ts","./node_modules/@types/react-dom/index.d.ts","./node_modules/@types/react-dom/canary.d.ts","./node_modules/@types/react-dom/experimental.d.ts","./node_modules/next/dist/lib/fallback.d.ts","./node_modules/next/dist/compiled/webpack/webpack.d.ts","./node_modules/next/dist/shared/lib/modern-browserslist-target.d.ts","./node_modules/next/dist/shared/lib/entry-constants.d.ts","./node_modules/next/dist/shared/lib/constants.d.ts","./node_modules/next/dist/lib/bundler.d.ts","./node_modules/next/dist/server/config.d.ts","./node_modules/next/dist/lib/load-custom-routes.d.ts","./node_modules/next/dist/shared/lib/image-config.d.ts","./node_modules/next/dist/build/webpack/plugins/subresource-integrity-plugin.d.ts","./node_modules/next/dist/server/body-streams.d.ts","./node_modules/next/dist/server/request/search-params.d.ts","./node_modules/next/dist/shared/lib/segment-cache/vary-params-decoding.d.ts","./node_modules/next/dist/server/app-render/vary-params.d.ts","./node_modules/next/dist/server/request/params.d.ts","./node_modules/next/dist/server/route-kind.d.ts","./node_modules/next/dist/server/route-definitions/route-definition.d.ts","./node_modules/next/dist/server/route-matches/route-match.d.ts","./node_modules/next/dist/client/components/app-router-headers.d.ts","./node_modules/next/dist/server/lib/cache-control.d.ts","./node_modules/next/dist/shared/lib/app-router-types.d.ts","./node_modules/next/dist/server/lib/cache-handlers/types.d.ts","./node_modules/next/dist/server/use-cache/use-cache-wrapper.d.ts","./node_modules/next/dist/server/resume-data-cache/cache-store.d.ts","./node_modules/next/dist/server/resume-data-cache/resume-data-cache.d.ts","./node_modules/next/dist/lib/constants.d.ts","./node_modules/next/dist/server/render-result.d.ts","./node_modules/next/dist/server/response-cache/types.d.ts","./node_modules/next/dist/server/response-cache/index.d.ts","./node_modules/@types/react/jsx-runtime.d.ts","./node_modules/next/dist/next-devtools/userspace/pages/pages-dev-overlay-setup.d.ts","./node_modules/next/dist/build/static-paths/types.d.ts","./node_modules/next/dist/server/route-definitions/app-page-route-definition.d.ts","./node_modules/next/dist/build/adapter/setup-node-env.external.d.ts","./node_modules/next/dist/server/instrumentation/types.d.ts","./node_modules/next/dist/lib/setup-exception-listeners.d.ts","./node_modules/next/dist/lib/worker.d.ts","./node_modules/next/dist/server/lib/experimental/ppr.d.ts","./node_modules/next/dist/lib/page-types.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.d.ts","./node_modules/next/dist/build/segment-config/pages/pages-segment-config.d.ts","./node_modules/next/dist/build/analysis/get-page-static-info.d.ts","./node_modules/next/dist/build/webpack/loaders/get-module-build-info.d.ts","./node_modules/next/dist/build/webpack/plugins/middleware-plugin.d.ts","./node_modules/next/dist/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.d.ts","./node_modules/next/dist/server/node-environment-baseline.d.ts","./node_modules/next/dist/server/node-environment-extensions/error-inspect.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-file.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-exit.d.ts","./node_modules/next/dist/server/node-environment-extensions/console-dim.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/unhandled-rejection.external.d.ts","./node_modules/next/dist/server/node-environment-extensions/random.d.ts","./node_modules/next/dist/server/node-environment-extensions/date.d.ts","./node_modules/next/dist/server/node-environment-extensions/web-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/node-crypto.d.ts","./node_modules/next/dist/server/node-environment-extensions/fast-set-immediate.external.d.ts","./node_modules/next/dist/server/node-environment.d.ts","./node_modules/next/dist/build/page-extensions-type.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.compiled.d.ts","./node_modules/next/dist/server/route-definitions/app-route-route-definition.d.ts","./node_modules/next/dist/server/lib/i18n-provider.d.ts","./node_modules/next/dist/server/web/next-url.d.ts","./node_modules/next/dist/compiled/@edge-runtime/cookies/index.d.ts","./node_modules/next/dist/server/web/spec-extension/cookies.d.ts","./node_modules/next/dist/server/web/spec-extension/request.d.ts","./node_modules/next/dist/shared/lib/deep-readonly.d.ts","./node_modules/next/dist/server/lib/incremental-cache/index.d.ts","./node_modules/next/dist/shared/lib/router/utils/middleware-route-matcher.d.ts","./node_modules/next/dist/build/webpack/plugins/flight-manifest-plugin.d.ts","./node_modules/next/dist/build/webpack/plugins/next-font-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/locale-route-definition.d.ts","./node_modules/next/dist/server/route-definitions/pages-route-definition.d.ts","./node_modules/next/dist/shared/lib/mitt.d.ts","./node_modules/next/dist/client/with-router.d.ts","./node_modules/next/dist/client/router.d.ts","./node_modules/next/dist/client/route-loader.d.ts","./node_modules/next/dist/client/page-loader.d.ts","./node_modules/next/dist/shared/lib/bloom-filter.d.ts","./node_modules/next/dist/shared/lib/router/router.d.ts","./node_modules/next/dist/shared/lib/router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/loadable.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/image-config-context.shared-runtime.d.ts","./node_modules/next/dist/client/components/readonly-url-search-params.d.ts","./node_modules/next/dist/shared/lib/hooks-client-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/head-manager-context.shared-runtime.d.ts","./node_modules/next/dist/client/flight-data-helpers.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-key.d.ts","./node_modules/next/dist/client/components/router-reducer/fetch-server-response.d.ts","./node_modules/next/dist/client/components/segment-cache/types.d.ts","./node_modules/next/dist/shared/lib/segment-cache/segment-value-encoding.d.ts","./node_modules/next/dist/client/components/segment-cache/scheduler.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache.d.ts","./node_modules/next/dist/client/components/router-reducer/ppr-navigations.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation.d.ts","./node_modules/next/dist/client/components/router-reducer/router-reducer-types.d.ts","./node_modules/next/dist/shared/lib/app-router-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/server-inserted-html.shared-runtime.d.ts","./node_modules/next/dist/server/route-modules/pages/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/pages/module.compiled.d.ts","./node_modules/next/dist/build/templates/pages.d.ts","./node_modules/next/dist/server/route-modules/pages/module.d.ts","./node_modules/next/dist/server/render.d.ts","./node_modules/next/dist/build/webpack/plugins/pages-manifest-plugin.d.ts","./node_modules/next/dist/server/route-definitions/pages-api-route-definition.d.ts","./node_modules/next/dist/server/route-matches/pages-api-route-match.d.ts","./node_modules/next/dist/server/route-matchers/route-matcher.d.ts","./node_modules/next/dist/server/route-matcher-providers/route-matcher-provider.d.ts","./node_modules/next/dist/server/route-matcher-managers/route-matcher-manager.d.ts","./node_modules/next/dist/server/normalizers/normalizer.d.ts","./node_modules/next/dist/server/normalizers/locale-route-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/pathname-normalizer.d.ts","./node_modules/next/dist/server/normalizers/request/suffix.d.ts","./node_modules/next/dist/server/normalizers/request/rsc.d.ts","./node_modules/next/dist/server/normalizers/request/next-data.d.ts","./node_modules/next/dist/server/after/builtin-request-context.d.ts","./node_modules/next/dist/server/normalizers/request/segment-prefix-rsc.d.ts","./node_modules/next/dist/server/route-modules/pages/builtin/_error.d.ts","./node_modules/next/dist/server/load-default-error-components.d.ts","./node_modules/next/dist/server/base-server.d.ts","./node_modules/next/dist/server/after/after.d.ts","./node_modules/next/dist/server/after/after-context.d.ts","./node_modules/next/dist/server/use-cache/cache-life.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/lazy-result.d.ts","./node_modules/next/dist/server/app-render/create-error-handler.d.ts","./node_modules/next/dist/shared/lib/action-revalidation-kind.d.ts","./node_modules/next/dist/server/app-render/work-async-storage.external.d.ts","./node_modules/next/dist/server/async-storage/work-store.d.ts","./node_modules/next/dist/server/web/http.d.ts","./node_modules/next/dist/client/components/hooks-server-context.d.ts","./node_modules/next/dist/server/route-modules/app-route/shared-modules.d.ts","./node_modules/next/dist/client/components/redirect-status-code.d.ts","./node_modules/next/dist/client/components/redirect-error.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/request-cookies.d.ts","./node_modules/next/dist/server/async-storage/draft-mode-provider.d.ts","./node_modules/next/dist/server/web/spec-extension/adapters/headers.d.ts","./node_modules/next/dist/server/app-render/cache-signal.d.ts","./node_modules/next/dist/server/app-render/instant-validation/boundary-tracking.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation-error.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-relative-url.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-samples.d.ts","./node_modules/next/dist/server/app-render/dynamic-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage-instance.d.ts","./node_modules/next/dist/server/lib/implicit-tags.d.ts","./node_modules/next/dist/server/app-render/staged-rendering.d.ts","./node_modules/next/dist/server/app-render/work-unit-async-storage.external.d.ts","./node_modules/next/dist/build/templates/app-route.d.ts","./node_modules/next/dist/server/app-render/action-async-storage-instance.d.ts","./node_modules/next/dist/server/app-render/action-async-storage.external.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.d.ts","./node_modules/next/dist/server/route-modules/app-route/module.compiled.d.ts","./node_modules/next/dist/build/segment-config/app/app-segments.d.ts","./node_modules/next/dist/build/get-supported-browsers.d.ts","./node_modules/next/dist/build/utils.d.ts","./node_modules/next/dist/build/rendering-mode.d.ts","./node_modules/next/dist/server/lib/router-utils/build-prefetch-segment-data-route.d.ts","./node_modules/next/dist/server/lib/cpu-profile.d.ts","./node_modules/next/dist/build/turborepo-access-trace/types.d.ts","./node_modules/next/dist/build/turborepo-access-trace/result.d.ts","./node_modules/next/dist/build/turborepo-access-trace/helpers.d.ts","./node_modules/next/dist/build/turborepo-access-trace/index.d.ts","./node_modules/next/dist/export/routes/types.d.ts","./node_modules/next/dist/export/types.d.ts","./node_modules/next/dist/export/worker.d.ts","./node_modules/next/dist/build/worker.d.ts","./node_modules/next/dist/build/index.d.ts","./node_modules/next/dist/lib/coalesced-function.d.ts","./node_modules/next/dist/server/lib/router-utils/types.d.ts","./node_modules/next/dist/trace/types.d.ts","./node_modules/next/dist/trace/trace.d.ts","./node_modules/next/dist/trace/shared.d.ts","./node_modules/next/dist/trace/index.d.ts","./node_modules/next/dist/build/load-jsconfig.d.ts","./node_modules/@next/env/dist/index.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/use-cache-tracker-utils.d.ts","./node_modules/next/dist/build/webpack/plugins/telemetry-plugin/telemetry-plugin.d.ts","./node_modules/next/dist/telemetry/storage.d.ts","./node_modules/next/dist/build/build-context.d.ts","./node_modules/next/dist/build/webpack-config.d.ts","./node_modules/next/dist/build/swc/generated-native.d.ts","./node_modules/next/dist/build/define-env.d.ts","./node_modules/next/dist/build/swc/index.d.ts","./node_modules/next/dist/build/swc/types.d.ts","./node_modules/next/dist/server/dev/parse-version-info.d.ts","./node_modules/next/dist/next-devtools/shared/types.d.ts","./node_modules/next/dist/server/dev/dev-indicator-server-state.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/cache-indicator.d.ts","./node_modules/next/dist/server/lib/parse-stack.d.ts","./node_modules/next/dist/next-devtools/server/shared.d.ts","./node_modules/next/dist/next-devtools/shared/stack-frame.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/utils/get-error-by-type.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/container/runtime-error/render-error.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.d.ts","./node_modules/next/dist/server/dev/debug-channel.d.ts","./node_modules/next/dist/server/dev/hot-reloader-types.d.ts","./node_modules/next/dist/server/web/spec-extension/fetch-event.d.ts","./node_modules/next/dist/server/web/spec-extension/response.d.ts","./node_modules/next/dist/build/segment-config/middleware/middleware-config.d.ts","./node_modules/next/dist/server/web/types.d.ts","./node_modules/next/dist/shared/lib/router/utils/parse-url.d.ts","./node_modules/next/dist/server/base-http/node.d.ts","./node_modules/next/dist/server/lib/async-callback-set.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-regex.d.ts","./node_modules/next/dist/shared/lib/router/utils/route-matcher.d.ts","./node_modules/sharp/lib/index.d.ts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.d.ts","./node_modules/next/dist/server/lib/types.d.ts","./node_modules/next/dist/server/lib/lru-cache.d.ts","./node_modules/next/dist/server/lib/dev-bundler-service.d.ts","./node_modules/next/dist/server/dev/static-paths-worker.d.ts","./node_modules/next/dist/server/dev/next-dev-server.d.ts","./node_modules/next/dist/server/next.d.ts","./node_modules/next/dist/server/lib/render-server.d.ts","./node_modules/next/dist/server/lib/router-server.d.ts","./node_modules/next/dist/shared/lib/router/utils/path-match.d.ts","./node_modules/next/dist/server/lib/router-utils/filesystem.d.ts","./node_modules/next/dist/server/lib/router-utils/setup-dev-bundler.d.ts","./node_modules/next/dist/server/lib/router-utils/router-server-context.d.ts","./node_modules/next/dist/server/route-modules/route-module.d.ts","./node_modules/next/dist/server/load-components.d.ts","./node_modules/next/dist/server/web/adapter.d.ts","./node_modules/next/dist/server/app-render/types.d.ts","./node_modules/next/dist/build/webpack/loaders/metadata/types.d.ts","./node_modules/next/dist/build/webpack/loaders/next-app-loader/index.d.ts","./node_modules/next/dist/server/lib/app-dir-module.d.ts","./node_modules/next/dist/server/app-render/app-render.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/contexts/entrypoints.d.ts","./node_modules/next/dist/client/components/error-boundary.d.ts","./node_modules/next/dist/client/components/layout-router.d.ts","./node_modules/next/dist/client/components/render-from-template-context.d.ts","./node_modules/next/dist/client/components/client-page.d.ts","./node_modules/next/dist/client/components/client-segment.d.ts","./node_modules/next/dist/client/components/http-access-fallback/error-boundary.d.ts","./node_modules/next/dist/lib/metadata/types/alternative-urls-types.d.ts","./node_modules/next/dist/lib/metadata/types/extra-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-types.d.ts","./node_modules/next/dist/lib/metadata/types/manifest-types.d.ts","./node_modules/next/dist/lib/metadata/types/opengraph-types.d.ts","./node_modules/next/dist/lib/metadata/types/twitter-types.d.ts","./node_modules/next/dist/lib/metadata/types/metadata-interface.d.ts","./node_modules/next/dist/lib/metadata/types/resolvers.d.ts","./node_modules/next/dist/lib/metadata/types/icons.d.ts","./node_modules/next/dist/lib/metadata/resolve-metadata.d.ts","./node_modules/next/dist/lib/metadata/metadata.d.ts","./node_modules/next/dist/lib/framework/boundary-components.d.ts","./node_modules/next/dist/server/app-render/rsc/preloads.d.ts","./node_modules/next/dist/server/app-render/rsc/postpone.d.ts","./node_modules/next/dist/server/app-render/rsc/taint.d.ts","./node_modules/next/dist/server/app-render/collect-segment-data.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/next-devtools/userspace/app/segment-explorer-node.d.ts","./node_modules/next/dist/server/app-render/entry-base.d.ts","./node_modules/next/dist/build/templates/app-page.d.ts","./node_modules/next/dist/server/route-modules/app-page/helpers/prerender-manifest-matcher.d.ts","./node_modules/@types/react/jsx-dev-runtime.d.ts","./node_modules/@types/react/compiler-runtime.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/rsc/entrypoints.d.ts","./node_modules/@types/react-dom/client.d.ts","./node_modules/@types/react-dom/static.d.ts","./node_modules/@types/react-dom/server.d.ts","./node_modules/next/dist/server/route-modules/app-page/vendored/ssr/entrypoints.d.ts","./node_modules/next/dist/server/route-modules/app-page/module.d.ts","./node_modules/next/dist/server/request/fallback-params.d.ts","./node_modules/next/dist/server/web/spec-extension/image-response.d.ts","./node_modules/next/dist/server/web/spec-extension/user-agent.d.ts","./node_modules/next/dist/server/web/spec-extension/url-pattern.d.ts","./node_modules/next/dist/server/after/index.d.ts","./node_modules/next/dist/server/request/connection.d.ts","./node_modules/next/dist/server/web/exports/index.d.ts","./node_modules/next/dist/server/request-meta.d.ts","./node_modules/next/dist/cli/next-test.d.ts","./node_modules/next/dist/shared/lib/size-limit.d.ts","./node_modules/next/dist/server/config-shared.d.ts","./node_modules/next/dist/server/base-http/index.d.ts","./node_modules/next/dist/server/api-utils/index.d.ts","./node_modules/next/dist/build/adapter/build-complete.d.ts","./node_modules/next/dist/types.d.ts","./node_modules/next/dist/shared/lib/html-context.shared-runtime.d.ts","./node_modules/next/dist/shared/lib/utils.d.ts","./node_modules/next/dist/pages/_app.d.ts","./node_modules/next/app.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-cache.d.ts","./node_modules/next/dist/server/web/spec-extension/revalidate.d.ts","./node_modules/next/dist/server/web/spec-extension/unstable-no-store.d.ts","./node_modules/next/dist/server/use-cache/cache-tag.d.ts","./node_modules/next/cache.d.ts","./node_modules/next/dist/pages/_document.d.ts","./node_modules/next/document.d.ts","./node_modules/next/dist/shared/lib/dynamic.d.ts","./node_modules/next/dynamic.d.ts","./node_modules/next/dist/pages/_error.d.ts","./node_modules/next/dist/client/components/catch-error.d.ts","./node_modules/next/dist/api/error.d.ts","./node_modules/next/error.d.ts","./node_modules/next/dist/shared/lib/head.d.ts","./node_modules/next/head.d.ts","./node_modules/next/dist/server/request/cookies.d.ts","./node_modules/next/dist/server/request/headers.d.ts","./node_modules/next/dist/server/request/draft-mode.d.ts","./node_modules/next/headers.d.ts","./node_modules/next/dist/shared/lib/get-img-props.d.ts","./node_modules/next/dist/client/image-component.d.ts","./node_modules/next/dist/shared/lib/image-external.d.ts","./node_modules/next/image.d.ts","./node_modules/next/dist/client/link.d.ts","./node_modules/next/link.d.ts","./node_modules/next/dist/client/components/unrecognized-action-error.d.ts","./node_modules/next/dist/client/components/redirect.d.ts","./node_modules/next/dist/client/components/not-found.d.ts","./node_modules/next/dist/client/components/forbidden.d.ts","./node_modules/next/dist/client/components/unauthorized.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.server.d.ts","./node_modules/next/dist/client/components/unstable-rethrow.d.ts","./node_modules/next/dist/client/components/navigation.react-server.d.ts","./node_modules/next/dist/client/components/navigation.d.ts","./node_modules/next/navigation.d.ts","./node_modules/next/router.d.ts","./node_modules/next/dist/client/script.d.ts","./node_modules/next/script.d.ts","./node_modules/next/dist/compiled/@edge-runtime/primitives/url.d.ts","./node_modules/next/dist/compiled/@vercel/og/satori/index.d.ts","./node_modules/next/dist/compiled/@vercel/og/types.d.ts","./node_modules/next/server.d.ts","./node_modules/next/types/global.d.ts","./node_modules/next/types/compiled.d.ts","./node_modules/next/types.d.ts","./node_modules/next/index.d.ts","./node_modules/next/image-types/global.d.ts","./.next/dev/types/routes.d.ts","./next-env.d.ts","./next.config.ts","./src/lib/types.ts","./src/data/arms.ts","./src/data/artDescriptions.ts","./src/data/builds.ts","./src/data/classes.ts","./src/data/companions.ts","./src/data/skellWeapons.ts","./src/data/contextual.ts","./src/data/i18n.ts","./src/data/progression.ts","./src/data/skells.ts","./research/art-effects.json","./src/lib/engine.ts","./src/lib/buildPersistence.ts","./src/lib/buildPersistence.test.ts","./src/lib/contextualEngine.ts","./src/lib/contextualEngine.test.ts","./src/lib/engine.test.ts","./node_modules/next/dist/compiled/@next/font/dist/types.d.ts","./node_modules/next/dist/compiled/@next/font/dist/google/index.d.ts","./node_modules/next/font/google/index.d.ts","./app/layout.tsx","./src/components/ControlPanel.tsx","./src/components/BuildCard.tsx","./src/components/ResultsSection.tsx","./src/components/SiteFooter.tsx","./src/components/SquadPanel.tsx","./src/components/Topbar.tsx","./src/components/TeamBuilder.tsx","./app/page.tsx","./.next/types/cache-life.d.ts","./.next/types/routes.d.ts","./.next/types/validator.ts","./.next/dev/types/cache-life.d.ts","./.next/dev/types/validator.ts","./node_modules/@types/estree/index.d.ts","./node_modules/@types/json-schema/index.d.ts","./node_modules/@types/json5/index.d.ts"],"fileIdsList":[[97,146,163,164,488,489,490,491,568],[97,146,163,164,568,571],[97,146,163,164,231,532,535,559,567,568,571],[97,146,163,164,488,489,490,491,571],[97,146,163,164,231,532,559,567,568,569,571],[97,146,163,164,231,530,533,558,568,571],[97,146,163,164,231,566,568,571],[97,146,163,164,533,534,535,568,571],[97,146,163,164,231,533,568,571],[97,143,144,146,163,164,568,571],[97,145,146,163,164,568,571],[146,163,164,568,571],[97,146,151,163,164,181,568,571],[97,146,147,152,157,163,164,166,178,189,568,571],[97,146,147,148,157,163,164,166,568,571],[92,93,94,97,146,163,164,568,571],[97,146,149,163,164,190,568,571],[97,146,150,151,158,163,164,167,568,571],[97,146,151,163,164,178,186,568,571],[97,146,152,154,157,163,164,166,568,571],[97,145,146,153,163,164,568,571],[97,146,154,155,163,164,568,571],[97,146,156,157,163,164,568,571],[97,145,146,157,163,164,568,571],[97,146,157,158,159,163,164,178,189,568,571],[97,146,157,158,159,163,164,173,178,181,568,571],[97,138,146,154,157,160,163,164,166,178,189,568,571],[97,146,157,158,160,161,163,164,166,178,186,189,568,571],[97,146,160,162,163,164,178,186,189,568,571],[95,96,97,98,99,100,101,139,140,141,142,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,568,571],[97,146,157,163,164,568,571],[97,146,163,164,165,189,568,571],[97,146,154,157,163,164,166,178,568,571],[97,146,163,164,167,568,571],[97,146,163,164,168,568,571],[97,145,146,163,164,169,568,571],[97,143,144,145,146,147,148,149,150,151,152,153,154,155,156,157,158,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,193,194,195,568,571],[97,146,163,164,171,568,571],[97,146,163,164,172,568,571],[97,146,157,163,164,173,174,568,571],[97,146,163,164,173,175,190,192,568,571],[97,146,158,163,164,568,571],[97,146,157,163,164,178,179,181,568,571],[97,146,163,164,180,181,568,571],[97,146,163,164,178,179,568,571],[97,146,163,164,181,568,571],[97,146,163,164,182,568,571],[97,143,146,163,164,178,183,189,568,571],[97,146,157,163,164,184,185,568,571],[97,146,163,164,184,185,568,571],[97,146,151,163,164,166,178,186,568,571],[97,146,163,164,187,568,571],[97,146,163,164,166,188,568,571],[97,146,160,163,164,172,189,568,571],[97,146,151,163,164,190,568,571],[97,146,163,164,178,191,568,571],[97,146,163,164,165,192,568,571],[97,146,163,164,193,568,571],[97,138,146,163,164,568,571],[97,138,146,157,159,163,164,169,178,181,189,191,192,194,568,571],[97,146,163,164,178,195,568,571],[85,89,97,146,163,164,197,198,199,200,201,483,528,568,571],[85,97,146,163,164,568,571],[85,89,97,146,163,164,197,198,199,200,464,483,528,568,571],[85,89,97,146,163,164,197,198,200,201,483,528,568,571],[85,97,146,163,164,201,464,465,568,571],[85,97,146,163,164,201,464,568,571],[85,89,97,146,163,164,198,199,200,201,483,528,568,571],[85,89,97,146,163,164,197,199,200,201,483,528,568,571],[83,84,97,146,163,164,568,571],[97,146,163,164,486,568,571],[97,146,163,164,488,489,490,491,568,571],[97,146,163,164,434,497,498,568,571],[97,146,163,164,206,207,209,221,245,360,371,479,568,571],[97,146,163,164,209,240,241,242,244,479,568,571],[97,146,163,164,209,377,379,381,382,384,479,481,568,571],[97,146,163,164,209,243,280,479,568,571],[97,146,163,164,207,209,220,221,227,233,238,359,360,361,370,479,481,568,571],[97,146,163,164,479,568,571],[97,146,163,164,216,222,241,261,356,568,571],[97,146,163,164,209,568,571],[97,146,163,164,202,216,222,568,571],[97,146,163,164,388,568,571],[97,146,163,164,385,386,388,568,571],[97,146,163,164,385,387,479,568,571],[97,146,160,163,164,261,458,476,568,571],[97,146,160,163,164,332,335,351,356,476,568,571],[97,146,160,163,164,304,476,568,571],[97,146,163,164,364,568,571],[97,146,163,164,363,364,365,568,571],[97,146,163,164,363,568,571],[91,97,146,160,163,164,202,209,221,227,233,239,241,245,246,259,260,327,357,358,371,479,483,568,571],[97,146,163,164,206,209,243,280,377,378,383,479,531,568,571],[97,146,163,164,243,531,568,571],[97,146,163,164,206,260,429,479,531,568,571],[97,146,163,164,531,568,571],[97,146,163,164,209,243,244,531,568,571],[97,146,163,164,380,531,568,571],[97,146,163,164,246,359,362,369,568,571],[85,97,146,163,164,434,568,571],[97,146,163,164,172,216,231,568,571],[97,146,163,164,216,231,568,571],[85,97,146,163,164,301,568,571],[85,97,146,163,164,231,568,571],[85,97,146,163,164,222,231,434,568,571],[97,146,163,164,216,287,301,302,513,520,568,571],[97,146,163,164,286,514,515,516,517,519,568,571],[97,146,163,164,337,568,571],[97,146,163,164,337,338,568,571],[97,146,163,164,220,222,289,290,568,571],[97,146,163,164,222,296,297,568,571],[97,146,163,164,222,291,299,568,571],[97,146,163,164,296,568,571],[97,146,163,164,214,222,289,290,291,292,293,294,295,296,299,568,571],[97,146,163,164,222,289,296,297,298,300,568,571],[97,146,163,164,222,290,292,293,568,571],[97,146,163,164,290,292,295,297,568,571],[97,146,163,164,518,568,571],[97,146,163,164,222,568,571],[85,97,146,163,164,210,507,568,571],[85,97,146,163,164,189,568,571],[85,97,146,163,164,243,278,568,571],[85,97,146,163,164,243,371,568,571],[97,146,163,164,276,281,568,571],[85,97,146,163,164,277,485,568,571],[97,146,163,164,556,568,571],[85,89,97,146,160,163,164,197,198,199,200,201,483,527,568,571],[97,146,160,163,164,222,568,571],[97,146,160,163,164,221,226,307,324,366,367,371,426,428,479,480,568,571],[97,146,163,164,259,368,568,571],[97,146,163,164,483,568,571],[97,146,163,164,208,568,571],[85,97,146,163,164,213,216,431,447,449,568,571],[97,146,163,164,172,216,431,446,447,448,530,568,571],[97,146,163,164,440,441,442,443,444,445,568,571],[97,146,163,164,442,568,571],[97,146,163,164,446,568,571],[97,146,163,164,231,395,396,398,568,571],[85,97,146,163,164,222,389,390,391,392,397,568,571],[97,146,163,164,395,397,568,571],[97,146,163,164,393,568,571],[97,146,163,164,394,568,571],[85,97,146,163,164,231,277,485,568,571],[85,97,146,163,164,231,484,485,568,571],[85,97,146,163,164,231,485,568,571],[97,146,163,164,324,325,568,571],[97,146,163,164,325,568,571],[97,146,160,163,164,480,485,568,571],[97,146,163,164,354,568,571],[97,145,146,163,164,353,568,571],[97,146,163,164,216,222,228,230,332,345,349,351,428,431,468,469,476,480,568,571],[97,146,163,164,222,271,293,568,571],[97,146,163,164,332,343,346,351,568,571],[85,97,146,163,164,213,216,332,335,351,354,388,435,436,437,438,439,450,451,452,453,454,455,456,457,531,568,571],[97,146,163,164,213,216,241,332,339,340,341,344,345,568,571],[97,146,163,164,178,222,241,343,350,431,432,476,568,571],[97,146,163,164,347,568,571],[97,146,160,163,164,172,210,222,226,236,268,269,272,324,327,392,426,427,468,479,480,481,483,531,568,571],[97,146,163,164,213,214,216,568,571],[97,146,163,164,332,568,571],[97,145,146,163,164,241,268,269,326,327,328,329,330,331,480,568,571],[97,146,163,164,351,568,571],[97,145,146,163,164,215,216,226,230,266,332,339,340,341,342,343,346,347,348,349,350,469,568,571],[97,146,160,163,164,266,267,339,480,481,568,571],[97,146,163,164,241,269,324,327,332,428,480,568,571],[97,146,160,163,164,479,481,568,571],[97,146,160,163,164,178,476,480,481,568,571],[97,146,160,163,164,172,202,216,221,228,230,233,236,243,263,268,269,270,271,272,307,308,310,313,315,318,319,320,321,323,371,426,428,476,479,480,481,568,571],[97,146,160,163,164,178,568,571],[97,146,163,164,209,210,211,239,476,477,478,483,485,531,568,571],[97,146,163,164,206,207,479,568,571],[97,146,163,164,400,568,571],[97,146,160,163,164,178,189,218,384,388,389,390,391,392,398,399,531,568,571],[97,146,163,164,172,189,202,216,218,230,233,269,308,313,323,324,377,404,405,406,412,415,416,426,428,476,479,568,571],[97,146,163,164,233,239,246,259,269,327,479,568,571],[97,146,160,163,164,189,210,221,230,269,410,476,479,568,571],[97,146,163,164,430,568,571],[97,146,160,163,164,400,413,414,423,568,571],[97,146,163,164,476,479,568,571],[97,146,163,164,329,469,568,571],[97,146,163,164,230,268,371,485,568,571],[97,146,160,163,164,172,208,313,373,377,406,412,415,418,476,568,571],[97,146,160,163,164,246,259,377,419,568,571],[97,146,163,164,209,270,371,421,479,481,568,571],[97,146,160,163,164,189,392,479,568,571],[97,146,160,163,164,243,270,371,372,373,382,400,420,422,479,568,571],[91,97,146,160,163,164,268,425,483,485,568,571],[97,146,163,164,322,426,568,571],[97,146,160,163,164,172,216,219,221,222,228,230,236,245,246,259,269,272,308,310,320,323,324,371,404,405,406,407,409,411,426,428,476,485,568,571],[97,146,160,163,164,178,246,412,417,423,476,568,571],[97,146,163,164,249,250,251,252,253,254,255,256,257,258,568,571],[97,146,163,164,263,314,568,571],[97,146,163,164,316,568,571],[97,146,163,164,314,568,571],[97,146,163,164,316,317,568,571],[97,146,160,163,164,220,221,222,226,227,480,568,571],[97,146,160,163,164,172,208,210,228,232,268,271,272,306,426,476,481,483,485,568,571],[97,146,160,163,164,172,189,212,219,220,230,232,269,424,469,475,480,568,571],[97,146,163,164,339,568,571],[97,146,163,164,340,568,571],[97,146,163,164,222,233,468,568,571],[97,146,163,164,341,568,571],[97,146,163,164,215,568,571],[97,146,163,164,217,229,568,571],[97,146,160,163,164,217,221,228,568,571],[97,146,163,164,224,229,568,571],[97,146,163,164,225,568,571],[97,146,163,164,217,218,568,571],[97,146,163,164,217,273,568,571],[97,146,163,164,217,568,571],[97,146,163,164,219,263,312,568,571],[97,146,163,164,311,568,571],[97,146,163,164,216,218,219,568,571],[97,146,163,164,219,309,568,571],[97,146,163,164,216,218,568,571],[97,146,163,164,268,371,568,571],[97,146,163,164,468,568,571],[97,146,160,163,164,189,228,230,234,268,371,425,428,431,432,433,459,460,463,467,469,476,480,568,571],[97,146,163,164,282,285,287,288,301,302,568,571],[85,97,146,163,164,199,200,201,231,461,462,568,571],[85,97,146,163,164,199,200,201,231,461,462,466,568,571],[97,146,163,164,355,568,571],[97,146,163,164,241,262,267,268,332,333,334,335,336,338,351,352,354,357,425,428,479,481,568,571],[97,146,163,164,301,568,571],[97,146,160,163,164,306,476,568,571],[97,146,163,164,306,568,571],[97,146,160,163,164,228,274,303,305,307,425,476,483,485,568,571],[97,146,163,164,282,283,284,285,287,288,301,302,484,568,571],[91,97,146,160,163,164,172,189,217,218,230,236,268,269,272,371,423,424,426,476,479,480,483,568,571],[97,146,163,164,213,216,223,568,571],[97,146,163,164,267,269,401,404,568,571],[97,146,163,164,267,402,470,471,472,473,474,568,571],[97,146,160,163,164,263,479,568,571],[97,146,160,163,164,568,571],[97,146,163,164,266,351,568,571],[97,146,163,164,265,568,571],[97,146,163,164,267,320,568,571],[97,146,163,164,264,266,479,568,571],[97,146,160,163,164,212,267,401,402,403,476,479,480,568,571],[85,97,146,163,164,216,222,300,568,571],[85,97,146,163,164,214,568,571],[97,146,163,164,204,205,568,571],[85,97,146,163,164,210,568,571],[85,97,146,163,164,216,286,568,571],[85,91,97,146,163,164,268,272,483,485,568,571],[97,146,163,164,210,507,508,568,571],[85,97,146,163,164,281,568,571],[85,97,146,163,164,172,189,208,275,277,279,280,485,568,571],[97,146,163,164,216,243,480,568,571],[97,146,163,164,216,408,568,571],[85,97,146,158,160,163,164,172,206,208,281,379,483,484,568,571],[85,97,146,163,164,197,198,199,200,201,483,528,568,571],[85,86,87,88,89,97,146,163,164,568,571],[97,146,151,163,164,568,571],[97,146,163,164,374,375,376,568,571],[97,146,163,164,374,568,571],[85,89,97,146,160,162,163,164,172,196,197,198,199,200,201,202,208,236,241,418,446,481,482,485,528,568,571],[97,146,163,164,493,568,571],[97,146,163,164,495,568,571],[97,146,163,164,499,568,571],[97,146,163,164,557,568,571],[97,146,163,164,501,568,571],[97,146,163,164,503,504,505,568,571],[97,146,163,164,509,568,571],[90,97,146,163,164,487,492,494,496,500,502,506,510,512,522,523,525,529,530,531,532,568,571],[97,146,163,164,511,568,571],[97,146,163,164,521,568,571],[97,146,163,164,277,568,571],[97,146,163,164,524,568,571],[97,145,146,163,164,267,401,402,404,470,471,473,474,526,528,568,571],[97,146,163,164,196,568,571],[97,146,163,164,178,196,568,571],[97,110,114,146,163,164,189,568,571],[97,110,146,163,164,178,189,568,571],[97,105,146,163,164,568,571],[97,107,110,146,163,164,186,189,568,571],[97,146,163,164,166,186,568,571],[97,105,146,163,164,196,568,571],[97,107,110,146,163,164,166,189,568,571],[97,102,103,106,109,146,157,163,164,178,189,568,571],[97,110,117,146,163,164,568,571],[97,102,108,146,163,164,568,571],[97,110,131,132,146,163,164,568,571],[97,106,110,146,163,164,181,189,196,568,571],[97,131,146,163,164,196,568,571],[97,104,105,146,163,164,196,568,571],[97,110,146,163,164,568,571],[97,104,105,106,107,108,109,110,111,112,114,115,116,117,118,119,120,121,122,123,124,125,126,127,128,129,130,132,133,134,135,136,137,146,163,164,568,571],[97,110,125,146,163,164,568,571],[97,110,117,118,146,163,164,568,571],[97,108,110,118,119,146,163,164,568,571],[97,109,146,163,164,568,571],[97,102,105,110,146,163,164,568,571],[97,110,114,118,119,146,163,164,568,571],[97,114,146,163,164,568,571],[97,108,110,113,146,163,164,189,568,571],[97,102,107,110,117,146,163,164,568,571],[97,146,163,164,178,568,571],[97,105,110,131,146,163,164,194,196,568,571],[97,146,163,164,231,568,571],[97,146,163,164,231,538,539,540,541,546,550,553,568,571],[97,146,163,164,231,538,542,546,550,568,571],[85,97,146,163,164,231,538,546,550,561,568,571],[97,146,163,164,231,546,568,571],[97,146,163,164,231,538,543,546,568,571],[85,97,146,163,164,231,538,542,546,550,551,553,560,562,563,564,565,568,571],[97,146,163,164,231,538,546,568,571],[97,146,163,164,231,538,568,571],[97,146,163,164,231,538,544,568,571],[97,144,146,163,164,183,231,550,551,568,571],[97,146,163,164,231,538,542,543,550,568,571],[97,144,146,163,164,183,231,538,543,549,550,553,568,571],[97,146,163,164,231,538,541,543,545,547,549,550,568,571],[97,144,146,163,164,183,231,543,547,549,550,568,571],[97,146,163,164,231,538,541,542,543,544,547,548,549,568,571]],"fileInfos":[{"version":"c430d44666289dae81f30fa7b2edebf186ecc91a2d4c71266ea6ae76388792e1","affectsGlobalScope":true,"impliedFormat":1},{"version":"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","impliedFormat":1},{"version":"3facaf05f0c5fc569c5649dd359892c98a85557e3e0c847964caeb67076f4d75","impliedFormat":1},{"version":"e44bb8bbac7f10ecc786703fe0a6a4b952189f908707980ba8f3c8975a760962","impliedFormat":1},{"version":"5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","impliedFormat":1},{"version":"68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","impliedFormat":1},{"version":"5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","impliedFormat":1},{"version":"feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","impliedFormat":1},{"version":"ee7bad0c15b58988daa84371e0b89d313b762ab83cb5b31b8a2d1162e8eb41c2","impliedFormat":1},{"version":"27bdc30a0e32783366a5abeda841bc22757c1797de8681bbe81fbc735eeb1c10","impliedFormat":1},{"version":"8fd575e12870e9944c7e1d62e1f5a73fcf23dd8d3a321f2a2c74c20d022283fe","impliedFormat":1},{"version":"2ab096661c711e4a81cc464fa1e6feb929a54f5340b46b0a07ac6bbf857471f0","impliedFormat":1},{"version":"080941d9f9ff9307f7e27a83bcd888b7c8270716c39af943532438932ec1d0b9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2e80ee7a49e8ac312cc11b77f1475804bee36b3b2bc896bead8b6e1266befb43","affectsGlobalScope":true,"impliedFormat":1},{"version":"c57796738e7f83dbc4b8e65132f11a377649c00dd3eee333f672b8f0a6bea671","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc2df20b1bcdc8c2d34af4926e2c3ab15ffe1160a63e58b7e09833f616efff44","affectsGlobalScope":true,"impliedFormat":1},{"version":"515d0b7b9bea2e31ea4ec968e9edd2c39d3eebf4a2d5cbd04e88639819ae3b71","affectsGlobalScope":true,"impliedFormat":1},{"version":"0559b1f683ac7505ae451f9a96ce4c3c92bdc71411651ca6ddb0e88baaaad6a3","affectsGlobalScope":true,"impliedFormat":1},{"version":"0dc1e7ceda9b8b9b455c3a2d67b0412feab00bd2f66656cd8850e8831b08b537","affectsGlobalScope":true,"impliedFormat":1},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true,"impliedFormat":1},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ff2a353abf8a80ee399af572debb8faab2d33ad38c4b4474cff7f26e7653b8d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fb0f136d372979348d59b3f5020b4cdb81b5504192b1cacff5d1fbba29378aa1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d15bea3d62cbbdb9797079416b8ac375ae99162a7fba5de2c6c505446486ac0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"68d18b664c9d32a7336a70235958b8997ebc1c3b8505f4f1ae2b7e7753b87618","affectsGlobalScope":true,"impliedFormat":1},{"version":"eb3d66c8327153d8fa7dd03f9c58d351107fe824c79e9b56b462935176cdf12a","affectsGlobalScope":true,"impliedFormat":1},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true,"impliedFormat":1},{"version":"69ab18c3b76cd9b1be3d188eaf8bba06112ebbe2f47f6c322b5105a6fbc45a2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"a680117f487a4d2f30ea46f1b4b7f58bef1480456e18ba53ee85c2746eeca012","affectsGlobalScope":true,"impliedFormat":1},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true,"impliedFormat":1},{"version":"4de680d5bb41c17f7f68e0419412ca23c98d5749dcaaea1896172f06435891fc","affectsGlobalScope":true,"impliedFormat":1},{"version":"954296b30da6d508a104a3a0b5d96b76495c709785c1d11610908e63481ee667","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac9538681b19688c8eae65811b329d3744af679e0bdfa5d842d0e32524c73e1c","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a969edff4bd52585473d24995c5ef223f6652d6ef46193309b3921d65dd4376","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e9fbd7030c440b33d021da145d3232984c8bb7916f277e8ffd3dc2e3eae2bdb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811ec78f7fefcabbda4bfa93b3eb67d9ae166ef95f9bff989d964061cbf81a0c","affectsGlobalScope":true,"impliedFormat":1},{"version":"717937616a17072082152a2ef351cb51f98802fb4b2fdabd32399843875974ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7e7d9b7b50e5f22c915b525acc5a49a7a6584cf8f62d0569e557c5cfc4b2ac2","affectsGlobalScope":true,"impliedFormat":1},{"version":"71c37f4c9543f31dfced6c7840e068c5a5aacb7b89111a4364b1d5276b852557","affectsGlobalScope":true,"impliedFormat":1},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true,"impliedFormat":1},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true,"impliedFormat":1},{"version":"74f7fa2d027d5b33eb0471c8e82a6c87216223181ec31247c357a3e8e2fddc5b","affectsGlobalScope":true,"impliedFormat":1},{"version":"d6d7ae4d1f1f3772e2a3cde568ed08991a8ae34a080ff1151af28b7f798e22ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"063600664504610fe3e99b717a1223f8b1900087fab0b4cad1496a114744f8df","affectsGlobalScope":true,"impliedFormat":1},{"version":"934019d7e3c81950f9a8426d093458b65d5aff2c7c1511233c0fd5b941e608ab","affectsGlobalScope":true,"impliedFormat":1},{"version":"52ada8e0b6e0482b728070b7639ee42e83a9b1c22d205992756fe020fd9f4a47","affectsGlobalScope":true,"impliedFormat":1},{"version":"3bdefe1bfd4d6dee0e26f928f93ccc128f1b64d5d501ff4a8cf3c6371200e5e6","affectsGlobalScope":true,"impliedFormat":1},{"version":"59fb2c069260b4ba00b5643b907ef5d5341b167e7d1dbf58dfd895658bda2867","affectsGlobalScope":true,"impliedFormat":1},{"version":"639e512c0dfc3fad96a84caad71b8834d66329a1f28dc95e3946c9b58176c73a","affectsGlobalScope":true,"impliedFormat":1},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true,"impliedFormat":1},{"version":"af3dd424cf267428f30ccfc376f47a2c0114546b55c44d8c0f1d57d841e28d74","affectsGlobalScope":true,"impliedFormat":1},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true,"impliedFormat":1},{"version":"959d36cddf5e7d572a65045b876f2956c973a586da58e5d26cde519184fd9b8a","affectsGlobalScope":true,"impliedFormat":1},{"version":"965f36eae237dd74e6cca203a43e9ca801ce38824ead814728a2807b1910117d","affectsGlobalScope":true,"impliedFormat":1},{"version":"3925a6c820dcb1a06506c90b1577db1fdbf7705d65b62b99dce4be75c637e26b","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a3d63ef2b853447ec4f749d3f368ce642264246e02911fcb1590d8c161b8005","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cdf8847677ac7d20486e54dd3fcf09eda95812ac8ace44b4418da1bbbab6eb8","affectsGlobalScope":true,"impliedFormat":1},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true,"impliedFormat":1},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true,"impliedFormat":1},{"version":"b4b67b1a91182421f5df999988c690f14d813b9850b40acd06ed44691f6727ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"df83c2a6c73228b625b0beb6669c7ee2a09c914637e2d35170723ad49c0f5cd4","affectsGlobalScope":true,"impliedFormat":1},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e3c06ea092138bf9fa5e874a1fdbc9d54805d074bee1de31b99a11e2fec239d","affectsGlobalScope":true,"impliedFormat":1},{"version":"87dc0f382502f5bbce5129bdc0aea21e19a3abbc19259e0b43ae038a9fc4e326","affectsGlobalScope":true,"impliedFormat":1},{"version":"b1cb28af0c891c8c96b2d6b7be76bd394fddcfdb4709a20ba05a7c1605eea0f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"2fef54945a13095fdb9b84f705f2b5994597640c46afeb2ce78352fab4cb3279","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac77cb3e8c6d3565793eb90a8373ee8033146315a3dbead3bde8db5eaf5e5ec6","affectsGlobalScope":true,"impliedFormat":1},{"version":"56e4ed5aab5f5920980066a9409bfaf53e6d21d3f8d020c17e4de584d29600ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"4ece9f17b3866cc077099c73f4983bddbcb1dc7ddb943227f1ec070f529dedd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"0a6282c8827e4b9a95f4bf4f5c205673ada31b982f50572d27103df8ceb8013c","affectsGlobalScope":true,"impliedFormat":1},{"version":"1c9319a09485199c1f7b0498f2988d6d2249793ef67edda49d1e584746be9032","affectsGlobalScope":true,"impliedFormat":1},{"version":"e3a2a0cee0f03ffdde24d89660eba2685bfbdeae955a6c67e8c4c9fd28928eeb","affectsGlobalScope":true,"impliedFormat":1},{"version":"811c71eee4aa0ac5f7adf713323a5c41b0cf6c4e17367a34fbce379e12bbf0a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"51ad4c928303041605b4d7ae32e0c1ee387d43a24cd6f1ebf4a2699e1076d4fa","affectsGlobalScope":true,"impliedFormat":1},{"version":"60037901da1a425516449b9a20073aa03386cce92f7a1fd902d7602be3a7c2e9","affectsGlobalScope":true,"impliedFormat":1},{"version":"d4b1d2c51d058fc21ec2629fff7a76249dec2e36e12960ea056e3ef89174080f","affectsGlobalScope":true,"impliedFormat":1},{"version":"22adec94ef7047a6c9d1af3cb96be87a335908bf9ef386ae9fd50eeb37f44c47","affectsGlobalScope":true,"impliedFormat":1},{"version":"196cb558a13d4533a5163286f30b0509ce0210e4b316c56c38d4c0fd2fb38405","affectsGlobalScope":true,"impliedFormat":1},{"version":"73f78680d4c08509933daf80947902f6ff41b6230f94dd002ae372620adb0f60","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5239f5c01bcfa9cd32f37c496cf19c61d69d37e48be9de612b541aac915805b","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e7f8264d0fb4c5339605a15daadb037bf238c10b654bb3eee14208f860a32ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e29f41b158de217f94cb9676bf9cbd0cd9b5a46e1985141ed36e075c52bf6ad","affectsGlobalScope":true,"impliedFormat":1},{"version":"ac51dd7d31333793807a6abaa5ae168512b6131bd41d9c5b98477fc3b7800f9f","impliedFormat":1},{"version":"814d5c7384f3ca276e9dc4bcfde5545801a3ea0bfae09916b3336774e662fd1b","impliedFormat":1},{"version":"acd8fd5090ac73902278889c38336ff3f48af6ba03aa665eb34a75e7ba1dccc4","impliedFormat":1},{"version":"d6258883868fb2680d2ca96bc8b1352cab69874581493e6d52680c5ffecdb6cc","impliedFormat":1},{"version":"1b61d259de5350f8b1e5db06290d31eaebebc6baafd5f79d314b5af9256d7153","impliedFormat":1},{"version":"f258e3960f324a956fc76a3d3d9e964fff2244ff5859dcc6ce5951e5413ca826","impliedFormat":1},{"version":"643f7232d07bf75e15bd8f658f664d6183a0efaca5eb84b48201c7671a266979","impliedFormat":1},{"version":"21da358700a3893281ce0c517a7a30cbd46be020d9f0c3f2834d0a8ad1f5fc75","impliedFormat":1},{"version":"6c7176368037af28cb72f2392010fa1cef295d6d6744bca8cfb54985f3a18c3e","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"437e20f2ba32abaeb7985e0afe0002de1917bc74e949ba585e49feba65da6ca1","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"3af97acf03cc97de58a3a4bc91f8f616408099bc4233f6d0852e72a8ffb91ac9","affectsGlobalScope":true,"impliedFormat":1},{"version":"808069bba06b6768b62fd22429b53362e7af342da4a236ed2d2e1c89fcca3b4a","affectsGlobalScope":true,"impliedFormat":1},{"version":"1db0b7dca579049ca4193d034d835f6bfe73096c73663e5ef9a0b5779939f3d0","affectsGlobalScope":true,"impliedFormat":1},{"version":"9798340ffb0d067d69b1ae5b32faa17ab31b82466a3fc00d8f2f2df0c8554aaa","affectsGlobalScope":true,"impliedFormat":1},{"version":"f26b11d8d8e4b8028f1c7d618b22274c892e4b0ef5b3678a8ccbad85419aef43","affectsGlobalScope":true,"impliedFormat":1},{"version":"5929864ce17fba74232584d90cb721a89b7ad277220627cc97054ba15a98ea8f","impliedFormat":1},{"version":"763fe0f42b3d79b440a9b6e51e9ba3f3f91352469c1e4b3b67bfa4ff6352f3f4","impliedFormat":1},{"version":"25c8056edf4314820382a5fdb4bb7816999acdcb929c8f75e3f39473b87e85bc","impliedFormat":1},{"version":"c464d66b20788266e5353b48dc4aa6bc0dc4a707276df1e7152ab0c9ae21fad8","impliedFormat":1},{"version":"78d0d27c130d35c60b5e5566c9f1e5be77caf39804636bc1a40133919a949f21","impliedFormat":1},{"version":"c6fd2c5a395f2432786c9cb8deb870b9b0e8ff7e22c029954fabdd692bff6195","impliedFormat":1},{"version":"1d6e127068ea8e104a912e42fc0a110e2aa5a66a356a917a163e8cf9a65e4a75","impliedFormat":1},{"version":"5ded6427296cdf3b9542de4471d2aa8d3983671d4cac0f4bf9c637208d1ced43","impliedFormat":1},{"version":"7f182617db458e98fc18dfb272d40aa2fff3a353c44a89b2c0ccb3937709bfb5","impliedFormat":1},{"version":"cadc8aced301244057c4e7e73fbcae534b0f5b12a37b150d80e5a45aa4bebcbd","impliedFormat":1},{"version":"385aab901643aa54e1c36f5ef3107913b10d1b5bb8cbcd933d4263b80a0d7f20","impliedFormat":1},{"version":"9670d44354bab9d9982eca21945686b5c24a3f893db73c0dae0fd74217a4c219","impliedFormat":1},{"version":"0b8a9268adaf4da35e7fa830c8981cfa22adbbe5b3f6f5ab91f6658899e657a7","impliedFormat":1},{"version":"11396ed8a44c02ab9798b7dca436009f866e8dae3c9c25e8c1fbc396880bf1bb","impliedFormat":1},{"version":"ba7bc87d01492633cb5a0e5da8a4a42a1c86270e7b3d2dea5d156828a84e4882","impliedFormat":1},{"version":"4893a895ea92c85345017a04ed427cbd6a1710453338df26881a6019432febdd","impliedFormat":1},{"version":"c21dc52e277bcfc75fac0436ccb75c204f9e1b3fa5e12729670910639f27343e","impliedFormat":1},{"version":"13f6f39e12b1518c6650bbb220c8985999020fe0f21d818e28f512b7771d00f9","impliedFormat":1},{"version":"9b5369969f6e7175740bf51223112ff209f94ba43ecd3bb09eefff9fd675624a","impliedFormat":1},{"version":"4fe9e626e7164748e8769bbf74b538e09607f07ed17c2f20af8d680ee49fc1da","impliedFormat":1},{"version":"24515859bc0b836719105bb6cc3d68255042a9f02a6022b3187948b204946bd2","impliedFormat":1},{"version":"ea0148f897b45a76544ae179784c95af1bd6721b8610af9ffa467a518a086a43","impliedFormat":1},{"version":"24c6a117721e606c9984335f71711877293a9651e44f59f3d21c1ea0856f9cc9","impliedFormat":1},{"version":"dd3273ead9fbde62a72949c97dbec2247ea08e0c6952e701a483d74ef92d6a17","impliedFormat":1},{"version":"405822be75ad3e4d162e07439bac80c6bcc6dbae1929e179cf467ec0b9ee4e2e","impliedFormat":1},{"version":"0db18c6e78ea846316c012478888f33c11ffadab9efd1cc8bcc12daded7a60b6","impliedFormat":1},{"version":"e61be3f894b41b7baa1fbd6a66893f2579bfad01d208b4ff61daef21493ef0a8","impliedFormat":1},{"version":"bd0532fd6556073727d28da0edfd1736417a3f9f394877b6d5ef6ad88fba1d1a","impliedFormat":1},{"version":"89167d696a849fce5ca508032aabfe901c0868f833a8625d5a9c6e861ef935d2","impliedFormat":1},{"version":"615ba88d0128ed16bf83ef8ccbb6aff05c3ee2db1cc0f89ab50a4939bfc1943f","impliedFormat":1},{"version":"a4d551dbf8746780194d550c88f26cf937caf8d56f102969a110cfaed4b06656","impliedFormat":1},{"version":"8bd86b8e8f6a6aa6c49b71e14c4ffe1211a0e97c80f08d2c8cc98838006e4b88","impliedFormat":1},{"version":"317e63deeb21ac07f3992f5b50cdca8338f10acd4fbb7257ebf56735bf52ab00","impliedFormat":1},{"version":"4732aec92b20fb28c5fe9ad99521fb59974289ed1e45aecb282616202184064f","impliedFormat":1},{"version":"2e85db9e6fd73cfa3d7f28e0ab6b55417ea18931423bd47b409a96e4a169e8e6","impliedFormat":1},{"version":"c46e079fe54c76f95c67fb89081b3e399da2c7d109e7dca8e4b58d83e332e605","impliedFormat":1},{"version":"bf67d53d168abc1298888693338cb82854bdb2e69ef83f8a0092093c2d562107","impliedFormat":1},{"version":"b52476feb4a0cbcb25e5931b930fc73cb6643fb1a5060bf8a3dda0eeae5b4b68","affectsGlobalScope":true,"impliedFormat":1},{"version":"f9501cc13ce624c72b61f12b3963e84fad210fbdf0ffbc4590e08460a3f04eba","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7721c4f69f93c91360c26a0a84ee885997d748237ef78ef665b153e622b36c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"d97fb21da858fb18b8ae72c314e9743fd52f73ebe2764e12af1db32fc03f853f","affectsGlobalScope":true,"impliedFormat":1},{"version":"0fa06ada475b910e2106c98c68b10483dc8811d0c14a8a8dd36efb2672485b29","impliedFormat":1},{"version":"33e5e9aba62c3193d10d1d33ae1fa75c46a1171cf76fef750777377d53b0303f","impliedFormat":1},{"version":"2b06b93fd01bcd49d1a6bd1f9b65ddcae6480b9a86e9061634d6f8e354c1468f","impliedFormat":1},{"version":"6a0cd27e5dc2cfbe039e731cf879d12b0e2dded06d1b1dedad07f7712de0d7f4","affectsGlobalScope":true,"impliedFormat":1},{"version":"13f5c844119c43e51ce777c509267f14d6aaf31eafb2c2b002ca35584cd13b29","impliedFormat":1},{"version":"e60477649d6ad21542bd2dc7e3d9ff6853d0797ba9f689ba2f6653818999c264","impliedFormat":1},{"version":"c2510f124c0293ab80b1777c44d80f812b75612f297b9857406468c0f4dafe29","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"4c829ab315f57c5442c6667b53769975acbf92003a66aef19bce151987675bd1","affectsGlobalScope":true,"impliedFormat":1},{"version":"b2ade7657e2db96d18315694789eff2ddd3d8aea7215b181f8a0b303277cc579","impliedFormat":1},{"version":"78dbea00e90d2df8ea3dbef0cc379d95b8be9b71cd6bde4c28728f306811803b","impliedFormat":1},{"version":"4d631b81fa2f07a0e63a9a143d6a82c25c5f051298651a9b69176ba28930756d","impliedFormat":1},{"version":"836a356aae992ff3c28a0212e3eabcb76dd4b0cc06bcb9607aeef560661b860d","impliedFormat":1},{"version":"1e0d1f8b0adfa0b0330e028c7941b5a98c08b600efe7f14d2d2a00854fb2f393","impliedFormat":1},{"version":"41670ee38943d9cbb4924e436f56fc19ee94232bc96108562de1a734af20dc2c","affectsGlobalScope":true,"impliedFormat":1},{"version":"8e1e46d0a9837ee058c100501080c920fa98081ea3956af0374308ba6f22a33e","impliedFormat":1},{"version":"272ca407e0c9068bdc5152552d876e68037ceae3de62e529306403e973dec8e1","impliedFormat":1},{"version":"fa7834c715d5357e4540cee40ce96c3250ddb67a7b879a6b7fa0e86d6696f121","impliedFormat":1},{"version":"22dfb07a7ab15b66ac043829056fe70124844636ae719551812ac631ba04985b","impliedFormat":1},{"version":"a10f0e1854f3316d7ee437b79649e5a6ae3ae14ffe6322b02d4987071a95362e","impliedFormat":1},{"version":"e208f73ef6a980104304b0d2ca5f6bf1b85de6009d2c7e404028b875020fa8f2","impliedFormat":1},{"version":"d163b6bc2372b4f07260747cbc6c0a6405ab3fbcea3852305e98ac43ca59f5bc","impliedFormat":1},{"version":"e6fa9ad47c5f71ff733744a029d1dc472c618de53804eae08ffc243b936f87ff","affectsGlobalScope":true,"impliedFormat":1},{"version":"a6f137d651076822d4fe884287e68fd61785a0d3d1fdb250a5059b691fa897db","impliedFormat":1},{"version":"24826ed94a78d5c64bd857570fdbd96229ad41b5cb654c08d75a9845e3ab7dde","impliedFormat":1},{"version":"8b479a130ccb62e98f11f136d3ac80f2984fdc07616516d29881f3061f2dd472","impliedFormat":1},{"version":"928af3d90454bf656a52a48679f199f64c1435247d6189d1caf4c68f2eaf921f","affectsGlobalScope":true,"impliedFormat":1},{"version":"bceb58df66ab8fb00170df20cd813978c5ab84be1d285710c4eb005d8e9d8efb","affectsGlobalScope":true,"impliedFormat":1},{"version":"3f16a7e4deafa527ed9995a772bb380eb7d3c2c0fd4ae178c5263ed18394db2c","impliedFormat":1},{"version":"933921f0bb0ec12ef45d1062a1fc0f27635318f4d294e4d99de9a5493e618ca2","impliedFormat":1},{"version":"71a0f3ad612c123b57239a7749770017ecfe6b66411488000aba83e4546fde25","impliedFormat":1},{"version":"77fbe5eecb6fac4b6242bbf6eebfc43e98ce5ccba8fa44e0ef6a95c945ff4d98","impliedFormat":1},{"version":"4f9d8ca0c417b67b69eeb54c7ca1bedd7b56034bb9bfd27c5d4f3bc4692daca7","impliedFormat":1},{"version":"0cb167c371eaa8c869f8a7656a7296f2e4fae43b4d8b803a680236b24794e5f9","impliedFormat":1},{"version":"0a839dba0287cc0481ad4beedd48a1c64acf1e212ae865d1315f7007ca215161","impliedFormat":1},{"version":"38dc4655376cd1a4bd6bb3763d92949233e33d38d3dd3cbea7bbf218175a38ef","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"d61e0a64cd175208ac0b83670151a9a6b5916f0d1ffcdc5c29c90b1cebfc5045","affectsGlobalScope":true,"impliedFormat":1},{"version":"18fd40412d102c5564136f29735e5d1c3b455b8a37f920da79561f1fde068208","impliedFormat":1},{"version":"48a679952eefe4cb776d5a0e1ccba2d3eb53b57448bbb7abc1fcebcbd5440188","impliedFormat":1},{"version":"f0be1b8078cd549d91f37c30c222c2a187ac1cf981d994fb476a1adc61387b14","affectsGlobalScope":true,"impliedFormat":1},{"version":"0aaed1d72199b01234152f7a60046bc947f1f37d78d182e9ae09c4289e06a592","impliedFormat":1},{"version":"2d14da6ecb49bf828d83948765ec2d3a579d476bbb9645e749610baa6ec880ca","impliedFormat":1},{"version":"66ba1b2c3e3a3644a1011cd530fb444a96b1b2dfe2f5e837a002d41a1a799e60","impliedFormat":1},{"version":"7e514f5b852fdbc166b539fdd1f4e9114f29911592a5eb10a94bb3a13ccac3c4","impliedFormat":1},{"version":"5b7aa3c4c1a5d81b411e8cb302b45507fea9358d3569196b27eb1a27ae3a90ef","affectsGlobalScope":true,"impliedFormat":1},{"version":"5987a903da92c7462e0b35704ce7da94d7fdc4b89a984871c0e2b87a8aae9e69","affectsGlobalScope":true,"impliedFormat":1},{"version":"ea08a0345023ade2b47fbff5a76d0d0ed8bff10bc9d22b83f40858a8e941501c","impliedFormat":1},{"version":"0aef708fb4c7a6b915e8305cbfac40cd207b032dbaabe9a01889a5fff3254681","impliedFormat":1},{"version":"ae062ce7d9510060c5d7e7952ae379224fb3f8f2dd74e88959878af2057c143b","impliedFormat":1},{"version":"ad9bdafb4e7abf14cc53ce7970486a84c87831e62891e5dfe798ddcd55e84701","affectsGlobalScope":true,"impliedFormat":1},{"version":"358765d5ea8afd285d4fd1532e78b88273f18cb3f87403a9b16fef61ac9fdcfe","impliedFormat":1},{"version":"71d3ae6a5e73ca4130762560425e00984ebaff64d5353a3333d1bb7eb86ef336","impliedFormat":1},{"version":"2beff543f6e9a9701df88daeee3cdd70a34b4a1c11cb4c734472195a5cb2af54","impliedFormat":1},{"version":"2e07abf27aa06353d46f4448c0bbac73431f6065eef7113128a5cd804d0c384d","impliedFormat":1},{"version":"be1cc4d94ea60cbe567bc29ed479d42587bf1e6cba490f123d329976b0fe4ee5","impliedFormat":1},{"version":"66be1299a7a3129ceb488b340c291cf575bebb0e337f92e169dec38231472e34","impliedFormat":1},{"version":"9894dafe342b976d251aac58e616ac6df8db91fb9d98934ff9dd103e9e82578f","impliedFormat":1},{"version":"413df52d4ea14472c2fa5bee62f7a40abd1eb49be0b9722ee01ee4e52e63beb2","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"2f4e6b4d39426a1b85ecf4bdeb9dddbf4d9b3397d95d8555d46f925c9519ec7d","impliedFormat":1},{"version":"78a2869ad0cbf3f9045dda08c0d4562b7e1b2bfe07b19e0db072f5c3c56e9584","impliedFormat":1},{"version":"89d5d28d4f57e000b836ac273079be1b75710e28ce14750d081fb420d37e2ca5","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"ad0d1d75d129b1c80f911be438d6b61bfa8703930a8ff2be2f0e1f8a91841c64","impliedFormat":1},{"version":"bd2c7ada3dee03653d3f601011d30072194bc3970cd93208f9588fbdc0c69347","impliedFormat":1},{"version":"e480da45d32313e7174b265674da504f075f59ef326852f0c5a5d863b438ae85","impliedFormat":1},{"version":"ad54850f61fcf5d014e11be80d2f46fea9265cfa7e77456da876f7833ef81769","impliedFormat":1},{"version":"6f7c9e8bd2b5b6a080b07080065f94900bd3c7e5ebbd3047bc33fcce2fab1dd8","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"da5950ee2a90721df6f3fba45f5d05308f7e4c35835392215dd2cd404505e2de","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"f42d5fed19610d485c646a0c430e768115567d078c7fc855c57b0c578b3d6cd3","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"d5630f2ad9b4541e5ce891648121022f9412ecdca1820baa1f0104f70fd7eff7","impliedFormat":1},{"version":"4d15375ab13497104bc8fe56fdef2b5fd6853f29255737d23a33fa306ff7fd69","impliedFormat":1},{"version":"2cd3fc1d0d6a1e85baffd2d4f50f5efb192b5446eef567e97c94765402f0aad4","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"6dcedaef57dff0d79a05ab0ab602cde74db803d1e765468bf91263786a383e1b","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"7580e62139cb2b44a0270c8d01abcbfcba2819a02514a527342447fa69b34ef1","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"f374cb24e93e7798c4d9e83ff872fa52d2cdb36306392b840a6ddf46cb925cb6","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"a22dd55aa4d39906252000ab8e8a1b83b195eef7f4274eb51e457c1f11cf6580","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"aa14cee20aa0db79f8df101fc027d929aec10feb5b8a8da3b9af3895d05b7ba2","impliedFormat":1},{"version":"493c700ac3bd317177b2eb913805c87fe60d4e8af4fb39c41f04ba81fae7e170","impliedFormat":1},{"version":"aeb554d876c6b8c818da2e118d8b11e1e559adbe6bf606cc9a611c1b6c09f670","impliedFormat":1},{"version":"acf5a2ac47b59ca07afa9abbd2b31d001bf7448b041927befae2ea5b1951d9f9","impliedFormat":1},{"version":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881","impliedFormat":1},{"version":"d71291eff1e19d8762a908ba947e891af44749f3a2cbc5bd2ec4b72f72ea795f","impliedFormat":1},{"version":"c0480e03db4b816dff2682b347c95f2177699525c54e7e6f6aa8ded890b76be7","impliedFormat":1},{"version":"25a5f6fd3a2243c859eddc99ab5fba11d970af2fe7a5df9c32b7668f76f97b01","impliedFormat":1},{"version":"8d207e1f9d2c30d6f77dfa693f3827c3fbf0d89240297e10bdfe1041d433df68","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"2652448ac55a2010a1f71dd141f828b682298d39728f9871e1cdf8696ef443fd","impliedFormat":1},{"version":"d682336018141807fb602709e2d95a192828fcb8d5ba06dda3833a8ea98f69e3","impliedFormat":1},{"version":"6124e973eab8c52cabf3c07575204efc1784aca6b0a30c79eb85fe240a857efa","impliedFormat":1},{"version":"0d891735a21edc75df51f3eb995e18149e119d1ce22fd40db2b260c5960b914e","impliedFormat":1},{"version":"3b414b99a73171e1c4b7b7714e26b87d6c5cb03d200352da5342ab4088a54c85","impliedFormat":1},{"version":"4fbd3116e00ed3a6410499924b6403cc9367fdca303e34838129b328058ede40","impliedFormat":1},{"version":"9c82171d836c47486074e4ca8e059735bf97b205e70b196535b5efd40cbe1bc5","impliedFormat":1},{"version":"48dcc919f76c040a999c0d46d2bf25ab089645ca21b837f120b222f56a86cd76","impliedFormat":1},{"version":"2f9c89cbb29d362290531b48880a4024f258c6033aaeb7e59fbc62db26819650","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"273782b8454e78f6a8b30d2cfbf6860499c930595095fcc1689637115f0eddda","affectsGlobalScope":true,"impliedFormat":1},{"version":"3fbdd025f9d4d820414417eeb4107ffa0078d454a033b506e22d3a23bc3d9c41","affectsGlobalScope":true,"impliedFormat":1},{"version":"dba114fb6a32b355a9cfc26ca2276834d72fe0e94cd2c3494005547025015369","impliedFormat":1},{"version":"a8f8e6ab2fa07b45251f403548b78eaf2022f3c2254df3dc186cb2671fe4996d","affectsGlobalScope":true,"impliedFormat":1},{"version":"fa6c12a7c0f6b84d512f200690bfc74819e99efae69e4c95c4cd30f6884c526e","impliedFormat":1},{"version":"f1c32f9ce9c497da4dc215c3bc84b722ea02497d35f9134db3bb40a8d918b92b","impliedFormat":1},{"version":"b73c319af2cc3ef8f6421308a250f328836531ea3761823b4cabbd133047aefa","affectsGlobalScope":true,"impliedFormat":1},{"version":"e433b0337b8106909e7953015e8fa3f2d30797cea27141d1c5b135365bb975a6","impliedFormat":1},{"version":"9f9bb6755a8ce32d656ffa4763a8144aa4f274d6b69b59d7c32811031467216e","impliedFormat":1},{"version":"5c32bdfbd2d65e8fffbb9fbda04d7165e9181b08dad61154961852366deb7540","impliedFormat":1},{"version":"ddff7fc6edbdc5163a09e22bf8df7bef75f75369ebd7ecea95ba55c4386e2441","impliedFormat":1},{"version":"0c05e9842ec4f8b7bfebfd3ca61604bb8c914ba8da9b5337c4f25da427a005f2","impliedFormat":1},{"version":"faed7a5153215dbd6ebe76dfdcc0af0cfe760f7362bed43284be544308b114cf","impliedFormat":1},{"version":"7029e566b8df176f703fb59fd437a38670c7a0e02c58b2d66dfb5b2e2b2defdb","impliedFormat":1},{"version":"7f2aa4d4989a82530aaac3f72b3dceca90e9c25bee0b1a327e8a08a1262435ad","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"e9f147ecca73d9346a4c073432843c159ccbe50bdcb678a78f6da10eae2cecf4","impliedFormat":1},{"version":"de061f7d72bd65c06fc1419f841dfdcb29a8e22fe6fa527d1e6eb20b897d4de0","impliedFormat":1},{"version":"663beafc2446079574570cba86e9b15f986f908ddb1b01274509970126fee945","impliedFormat":1},{"version":"a3102887d5058bf4cb5b37fa6964c09e9527c42053b3b5c642b89878620748de","impliedFormat":1},{"version":"0aaaa1727edd29673d85c9b26d7ca4d54e5407a48586903c51b48b7f7d196f61","impliedFormat":1},{"version":"d35bca0b261bff02635758c48e8ab99c61c420d0dfabbcf467e847171d876b7d","impliedFormat":1},{"version":"3bc12c40d90c342ff88a3d876996c555ed5cbee5fe8c3308a240b321f401ee46","impliedFormat":1},{"version":"ba130768aae855a5477e9e148e5c879548e6e7ccbcc56fd1934c8a18ea5b7569","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"48773ca557b0319c2ee62ae249cf52a81709e8be139920d6479a66274de7c4ed","impliedFormat":1},{"version":"7274fbffbd7c9589d8d0ffba68157237afd5cecff1e99881ea3399127e60572f","impliedFormat":1},{"version":"b73cbf0a72c8800cf8f96a9acfe94f3ad32ca71342a8908b8ae484d61113f647","impliedFormat":1},{"version":"bae6dd176832f6423966647382c0d7ba9e63f8c167522f09a982f086cd4e8b23","impliedFormat":1},{"version":"20865ac316b8893c1a0cc383ccfc1801443fbcc2a7255be166cf90d03fac88c9","impliedFormat":1},{"version":"c9958eb32126a3843deedda8c22fb97024aa5d6dd588b90af2d7f2bfac540f23","impliedFormat":1},{"version":"461d0ad8ae5f2ff981778af912ba71b37a8426a33301daa00f21c6ccb27f8156","impliedFormat":1},{"version":"e927c2c13c4eaf0a7f17e6022eee8519eb29ef42c4c13a31e81a611ab8c95577","impliedFormat":1},{"version":"fcafff163ca5e66d3b87126e756e1b6dfa8c526aa9cd2a2b0a9da837d81bbd72","impliedFormat":1},{"version":"70246ad95ad8a22bdfe806cb5d383a26c0c6e58e7207ab9c431f1cb175aca657","impliedFormat":1},{"version":"f00f3aa5d64ff46e600648b55a79dcd1333458f7a10da2ed594d9f0a44b76d0b","impliedFormat":1},{"version":"772d8d5eb158b6c92412c03228bd9902ccb1457d7a705b8129814a5d1a6308fc","impliedFormat":1},{"version":"802e797bcab5663b2c9f63f51bdf67eff7c41bc64c0fd65e6da3e7941359e2f7","impliedFormat":1},{"version":"b01bd582a6e41457bc56e6f0f9de4cb17f33f5f3843a7cf8210ac9c18472fb0f","impliedFormat":1},{"version":"8b4327413e5af38cd8cb97c59f48c3c866015d5d642f28518e3a891c469f240e","impliedFormat":1},{"version":"4cceef18d7f088e797a463e90b7a9dad10c6bc667724b7686e3e740ae00122be","impliedFormat":1},{"version":"7ee86fbb3754388e004de0ef9e6505485ddfb3be7640783d6d015711c03d302d","impliedFormat":1},{"version":"cc1954b539604b1e562319119ac7e888172208b32ca873f9a357a92c826bd046","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"771ffb773f1ddd562492a6b9aaca648192ac3f056f0e1d997678ff97dbb6bf9b","impliedFormat":1},{"version":"43e96a3d5d1411ab40ba2f61d6a3192e58177bcf3b133a80ad2a16591611726d","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"cd9304972e6d616197fb44fce00540a904f38b54306a1951b5dbeaf3c01ab5bd","impliedFormat":1},{"version":"77438e2c397a3db78407621cfc57241a305b310ddea2c185f1d555248297f587","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"c49469a5349b3cc1965710b5b0f98ed6c028686aa8450bcb3796728873eb923e","impliedFormat":1},{"version":"4a889f2c763edb4d55cb624257272ac10d04a1cad2ed2948b10ed4a7fda2a428","impliedFormat":1},{"version":"7bb79aa2fead87d9d56294ef71e056487e848d7b550c9a367523ee5416c44cfa","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"142617b3cdf902b69c6464c9fbd942b60ab3e733ca18c032b19e0f7e2adbefe8","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"251b03d5cd243854ce870d9a9a39f491faf69898c5d6b5eee28cc7649c57417b","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"07ba23a10465791be5d22deaf5ef7de7658774ddff53721e5ea17fedea1bc721","impliedFormat":1},{"version":"dca8c645c5afeb03b1ecedbf16323f33e7d0afaa6256c8e047e6e38087a97f53","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"7715134a0cf07dd41a9da2895d708625a3a303a0385e355ecaaf0b8bfaef2550","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"622694a8522b46f6310c2a9b5d2530dde1e2854cb5829354e6d1ff8f371cf469","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"e5c939d896565dcac0f6fbdbada11284e7728ef26a069561c09aa5aa4a788393","impliedFormat":1},{"version":"9e2739b32f741859263fdba0244c194ca8e96da49b430377930b8f721d77c000","impliedFormat":1},{"version":"a9e6c0ff3f8186fccd05752cf75fc94e147c02645087ac6de5cc16403323d870","impliedFormat":1},{"version":"49af4b52f0d4d2304c5f2c6fe5fab3e153e0acc38830d0202821b877c097dd02","impliedFormat":1},{"version":"49c346823ba6d4b12278c12c977fb3a31c06b9ca719015978cb145eb86da1c61","impliedFormat":1},{"version":"bfac6e50eaa7e73bb66b7e052c38fdc8ccfc8dbde2777648642af33cf349f7f1","impliedFormat":1},{"version":"92f7c1a4da7fbfd67a2228d1687d5c2e1faa0ba865a94d3550a3941d7527a45d","impliedFormat":1},{"version":"f53b120213a9289d9a26f5af90c4c686dd71d91487a0aa5451a38366c70dc64b","impliedFormat":1},{"version":"e68b8e5a1df7c1be2bc105141456ecba70215806e1c28bfbc5c12bfce4be6e68","impliedFormat":1},{"version":"511c8f02329808d47d00b859c532ae9115590048b17325a946c74dac48428650","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"b5f9e66625783eefcbe3d2da074b2e7ba2066d61ce3fc6ef4f22805ad946cab4","impliedFormat":1},{"version":"e37115962d284b9f7a37c2bdd2add50f88365dde41f5e0ff591ffc48a8ec7575","impliedFormat":1},{"version":"6459054aabb306821a043e02b89d54da508e3a6966601a41e71c166e4ea1474f","impliedFormat":1},{"version":"bb37588926aba35c9283fe8d46ebf4e79ffe976343105f5c6d45f282793352b2","impliedFormat":1},{"version":"f89488602bec98a142072fae7ea5ba99431a569ff580c64b7be39896474799d8","impliedFormat":1},{"version":"bbbc47961f39a57df103cf4ca3bb8f8732b4b6678a18225a0aa76d59c466956c","impliedFormat":1},{"version":"2e6114a7dd6feeef85b2c80120fdbfb59a5529c0dcc5bfa8447b6996c97a69f5","impliedFormat":1},{"version":"2ffb043dc5163458e473b7010859f86e01dc4edffcae0a93d885d028b426a546","impliedFormat":1},{"version":"c8f004e6036aa1c764ad4ec543cf89a5c1893a9535c80ef3f2b653e370de45e6","impliedFormat":1},{"version":"dd80b1e600d00f5c6a6ba23f455b84a7db121219e68f89f10552c54ba46e4dc9","impliedFormat":1},{"version":"b064c36f35de7387d71c599bfcf28875849a1dbc733e82bd26cae3d1cd060521","impliedFormat":1},{"version":"05c7280d72f3ed26f346cbe7cbbbb002fb7f15739197cbbee6ab3fd1a6cb9347","impliedFormat":1},{"version":"8de9fe97fa9e00ec00666fa77ab6e91b35d25af8ca75dabcb01e14ad3299b150","impliedFormat":1},{"version":"04b7b2e0832dfd3c31e81df3975e8d8fda28e7ff999b0aa2932608a8f6661d5c","impliedFormat":1},{"version":"ca2d34c6ed5cbd3070b8b6f32f42ae54adcc6499c1e4b99f0a5798b3f27cc653","impliedFormat":1},{"version":"9ec68995e66dd6b9dac834bf5ae85fde802714ea2e82151a5d1d53ef01b463ef","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"fdfaa0aad899524962e2955287b5b991ffe3be50f64e02eb60c933ca44644a94","impliedFormat":1},{"version":"53c972a0f9bc3a4ec70fff7314123ea8cfcf75b3703046f767d2dc1eea87b2fb","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"d130c5f73768de51402351d5dc7d1b36eaec980ca697846e53156e4ea9911476","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"06472528e998d152375ad3bd8ebcb69ff4694fd8d2effaf60a9d9f25a37a097a","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"27f874cd5327507eeff699a74567f60c1215b94509f4308633a7b01922471ed2","impliedFormat":1},{"version":"a401617604fa1f6ce437b81689563dfdc377069e4c58465dbd8d16069aede0a5","impliedFormat":1},{"version":"2c6cf04bc525caf6546e859e8ef10bfb9573837ec0bc5ec7b53a7b1b8ca72781","impliedFormat":1},{"version":"8695dec09ad439b0ceef3776ea68a232e381135b516878f0901ed2ea114fd0fe","impliedFormat":1},{"version":"304b44b1e97dd4c94697c3313df89a578dca4930a104454c99863f1784a54357","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"1d879125d1ec570bf04bc1f362fdbe0cb538315c7ac4bcfcdf0c1e9670846aa6","impliedFormat":1},{"version":"5a16e93d5d53d987dddda1ec606c9821f6bd31d1bdf0635e05e3841312cefa8b","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"e91f7b1344577a02f051b9b471f33044fef8334a76dc9e1de003d17595a5219b","impliedFormat":1},{"version":"c0723195c85e19656d6b5b9fdb81d3f3403c1ae4679e722c6ea058c516b38d12","impliedFormat":1},{"version":"b55eb9f72166093b5460d34b34f5d8699c968de3bc3fc696e40f2c93f2ebf650","impliedFormat":1},{"version":"71d9eb4c4e99456b78ae182fb20a5dfc20eb1667f091dbb9335b3c017dd1c783","impliedFormat":1},{"version":"cfa846a7b7847a1d973605fbb8c91f47f3a0f0643c18ac05c47077ebc72e71c7","impliedFormat":1},{"version":"1594da19968752a22b2ac48c2d0e60575700e745c577a8a4a676b841238ad5bb","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"dcfeaf98d66314fec29a9076c4290e45d0b196a65827becc19138e9c7b855f37","impliedFormat":1},{"version":"6849fe9210fe4946d5f085bfed36758f33dc6ae15a751338d178dd4daa017c46","impliedFormat":1},{"version":"888cda0fa66d7f74e985a3f7b1af1f64b8ff03eb3d5e80d051c3cbdeb7f32ab7","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"ffae4e1e06aa848a1e4bcef162cd1c48e5909b26223515981310af9c036bdfc7","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"f94ec1f7e4b709d26960306c9082a7a1b728a6e13089346aa48ba57c74cbf47e","impliedFormat":1},{"version":"9a11cb4033405e96c247cd5aa29790212aaffdd127869e8a5219103f0b389fd5","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"aff5213585cb72e94054dfe17250ff315f3569b3919d1ef1ad235f37c4ee894e","impliedFormat":1},{"version":"fb2ea35e1be6388d722d7725e2b49c697d34d9c890c3b96758faaeb86d35cef8","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"1a4dc28334a926d90ba6a2d811ba0ff6c22775fcc13679521f034c124269fd40","impliedFormat":1},{"version":"f05315ff85714f0b87cc0b54bcd3dde2716e5a6b99aedcc19cad02bf2403e08c","impliedFormat":1},{"version":"5fad3b31fc17a5bc58095118a8b160f5260964787c52e7eb51e3d4fcf5d4a6f0","impliedFormat":1},{"version":"72105519d0390262cf0abe84cf41c926ade0ff475d35eb21307b2f94de985778","impliedFormat":1},{"version":"456006a6975b26c0a1785feddae165f6d307e2d601ffde27e21fc4a790e448a4","impliedFormat":1},{"version":"c857e0aae3f5f444abd791ec81206020fbcc1223e187316677e026d1c1d6fe08","impliedFormat":1},{"version":"ccf6dd45b708fb74ba9ed0f2478d4eb9195c9dfef0ff83a6092fa3cf2ff53b4f","impliedFormat":1},{"version":"1fe0d18b111e1145a7e7601855bccd4ca20f24e3b9a5aba6bb1fa9d1a7059170","impliedFormat":1},{"version":"5632c3c26d420c063eebe64c45b1248b9492a67bf44f1d0c57e9dc8f6cf449bb","impliedFormat":1},{"version":"0df5aa619ab12993a39ea6dae062ee46eadbb4d738916460e636ada52bced75b","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"10ab7be91f87ebe8916b62cf28af2e45b5601fc7b0e311adf838f912c6b31dd8","impliedFormat":1},{"version":"bc636fbc08e0979ceb7eb0731a33000283d77a33b62e1f71ee65be50394e40ba","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"75bbd3be047d539988a0ff0b56384ef7a6a25f3b676ad96bee547d44c31622a7","impliedFormat":1},{"version":"42960001a776b089ade681ab5cfddc936e0afb0615133ec1841f3dee89d3e1bf","impliedFormat":1},{"version":"0aedb02516baf3e66b2c1db9fef50666d6ed257edac0f866ea32f1aa05aa474f","impliedFormat":1},{"version":"da47712b394d944328245482603bc6f416d3949b67c9392279caab595076b510","affectsGlobalScope":true,"impliedFormat":1},{"version":"37d0071d8f0a06dc55c2c5e0ec3391affd4fd107c53410bf358196ec0bf3923f","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"5a49adaef698b7ad7e6127949fa1b0bbd3d46b7cbd11c54e392a4dcdd51f5190","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"2489bf04d77dc025ba67f49f1a56eb24b9db477d5ff88123d887e163ed1776aa","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"eb5acb58487367e502d994b57e2c58255d8241f481ea8efa8e79af23af3f41c2","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"f282cb0bc62e0cc771d4c2e7ece6359a5f4a3dff664584e97476fd37154816bb","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"1fffe726740f9787f15b532e1dc870af3cd964dbe29e191e76121aa3dd8693f2","impliedFormat":1},{"version":"5a3ea721d03a361ccbdd7390ccd75f6e84cbca3a3f01f4b331ecc9af31890c49","impliedFormat":1},{"version":"e7dfaee4af38d45b1cab8a1ee0b3bc1f85ddcf64545ed391d675d78ae6526274","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"af48e58339188d5737b608d41411a9c054685413d8ae88b8c1d0d9bfabdf6e7e","impliedFormat":1},{"version":"616775f16134fa9d01fc677ad3f76e68c051a056c22ab552c64cc281a9686790","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"1de8c302fd35220d8f29dea378a4ae45199dc8ff83ca9923aca1400f2b28848a","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"332248ee37cca52903572e66c11bef755ccc6e235835e63d3c3e60ddda3e9b93","impliedFormat":1},{"version":"94e8cc88ae2ef3d920bb3bdc369f48436db123aa2dc07f683309ad8c9968a1e1","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"d90d5f524de38889d1e1dbc2aeef00060d779f8688c02766ddb9ca195e4a713d","impliedFormat":1},{"version":"07ed3ddab975995eea41b22f3010506fb9f5fb301d04820b07d7a1aee5477d7c","impliedFormat":1},{"version":"969d8b0965849f4bae7cab0ba90bd1e1220e95999c2c6f01117fa7500901c017","impliedFormat":1},{"version":"6ec840ee5e2bc103f557fe38b1d585ee250540468713d7634ee066de372bf332","impliedFormat":1},{"version":"b0309e1eda99a9e76f87c18992d9c3689b0938266242835dd4611f2b69efe456","impliedFormat":1},{"version":"47699512e6d8bebf7be488182427189f999affe3addc1c87c882d36b7f2d0b0e","impliedFormat":1},{"version":"6ceb10ca57943be87ff9debe978f4ab73593c0c85ee802c051a93fc96aaf7a20","impliedFormat":1},{"version":"1de3ffe0cc28a9fe2ac761ece075826836b5a02f340b412510a59ba1d41a505a","impliedFormat":1},{"version":"e46d6cc08d243d8d0d83986f609d830991f00450fb234f5b2f861648c42dc0d8","impliedFormat":1},{"version":"1c0a98de1323051010ce5b958ad47bc1c007f7921973123c999300e2b7b0ecc0","impliedFormat":1},{"version":"ff863d17c6c659440f7c5c536e4db7762d8c2565547b2608f36b798a743606ca","impliedFormat":1},{"version":"5412ad0043cd60d1f1406fc12cb4fb987e9a734decbdd4db6f6acf71791e36fe","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"b62381cae176db34f003cc6172ee8f3e0122014889d66391aa73698105cf4934","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"30d8da250766efa99490fc02801047c2c6d72dd0da1bba6581c7e80d1d8842a4","impliedFormat":1},{"version":"03566202f5553bd2d9de22dfab0c61aa163cabb64f0223c08431fb3fc8f70280","impliedFormat":1},{"version":"41eb514d9ce0a6e87957f08a4b7af70d93f87637f37dee706e2d92a6601c25a9","impliedFormat":1},{"version":"e7765aa8bcb74a38b3230d212b4547686eb9796621ffb4367a104451c3f9614f","impliedFormat":1},{"version":"1de80059b8078ea5749941c9f863aa970b4735bdbb003be4925c853a8b6b4450","impliedFormat":1},{"version":"1d079c37fa53e3c21ed3fa214a27507bda9991f2a41458705b19ed8c2b61173d","impliedFormat":1},{"version":"5bf5c7a44e779790d1eb54c234b668b15e34affa95e78eada73e5757f61ed76a","impliedFormat":1},{"version":"5835a6e0d7cd2738e56b671af0e561e7c1b4fb77751383672f4b009f4e161d70","impliedFormat":1},{"version":"4b7f74b772140395e7af67c4841be1ab867c11b3b82a51b1aeb692822b76c872","impliedFormat":1},{"version":"7bd01f0f28cd3aeb2046274d85208e245965f6f2948edf4f7b2057bcf9f22ccc","impliedFormat":99},{"version":"d2f2cf2b8cc92bea913cda4a076e0f790b23a21e84f989d12f0116a7fe3906e0","impliedFormat":99},{"version":"6de125ea94866c736c6d58d68eb15272cf7d1020a5b459fea1c660027eca9a90","affectsGlobalScope":true,"impliedFormat":1},{"version":"f5b20bc288ee49989c95b20847fc93b96bf61cc0845598897a6a53a967dd7d07","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"a384610388221cd70cffb4503cee7853b8b076f2b4a55324b20a4bdbd25a3538","affectsGlobalScope":true},"7ad303e40d4fddf44f156129e397511953a71481c5cfd86b1862649aaaf240cc",{"version":"f5a1676c44601c4291320391570b3a9aafbae9a6bea721b62dd186da9a827911","signature":"435a1e418e8338be3f39614b96b81a9aa2700bc8c27bc6b98f064ff9ce17c363"},{"version":"d9d7f0858b623dba11cdf642ca99e2cb23b1ddf832989e93df2b4dacea93b936","signature":"dcf142e7b7f155862558f7a1149fe9f0dacb2b561e14c47c2964b75dd166586d"},"c91b304a3ac178ac2f76b66849e748f24e02c6590d20822f16d043a0128195b0","63665042aa6e4788fe56b0625b04125b27d8d17e05763b4179f279003eec8f28","a2d898cef1881fa251aa8459521de4a061c2936b765ec6021bfb3d335d3714af","d2a550e6c7f7b40bbe0d1edf75cf75c0d7786ce13995942be1b91cc94a2d3ebd","212641fbc18ca00ce5b86a1d38b8d2b6bdb25edb0a4b33aa0b1f432e451a7fe0","c9f1d9193a614dd7f25e516d5d6b5479df106c01d9a51b279026295d9a4fa62d","a5abfa63e6b44cb949186540bf2205d2a8980f49abece42a01394ec9560bc96e","f9227ecc2b115053686d47c3308ceac221ce597a0262f5667965cb8e78ad0278","48e6b3f0bd8522db70ffadce7163f4f32cdc94caa5f4123069476373b1bbdb07","1274bf3731eddb838f9b5342ebd837ccd26695d6019bf7e615d47c97fb642f88",{"version":"cdac9a85ae7d25e2e8167de3b07e77442b4aa65c088615a88e5bc2ca2ce139d9","signature":"a07a0fd66a61890bd69f2b8aa7afa4794023f1d9981f8eb0e4d36f06be62bbd2"},{"version":"870b69e8b455b6cbc2a1b92aa47929d9aae348d7e9275c291fed5edb67613e7d","signature":"9b30dbc15207de149eb756a6ba05fccb04408c73500a717b604b66143250a4b5"},"40a5becad931bcab37e811405ae86c94001e97709566f33d2ac9ae44f5890c61","79d9869fcccdee7ac6efe4c80d70e89a82c5a35aa4c86d16a1acefcb4d552a9f","4e663229d0f5dcc916ea9dd2d377222ce193be437173b911d60518c3fff612b4",{"version":"93afb3d171c8c5d1b3eb1a8756ccdfdd89b2d2305295cf9d48f78b27bf4bb1ad","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"e1c249ef011ea3d40bd158bd782167a090135d438b5c1eaeb6518642f3ac4968","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"fe93c474ab38ac02e30e3af073412b4f92b740152cf3a751fdaee8cbea982341","impliedFormat":1},{"version":"3255b97f3f24af29c79cc1aa88004efb13b6285ebdde0a567bf32e19bb65250d","impliedFormat":1},{"version":"1e00b8bf9e3766c958218cd6144ffe08418286f89ff44ba5a2cc830c03dd22c7","impliedFormat":1},{"version":"01d3478be006d10a3abefe929996ed5decf8d809c242bfe7f6de3741e4e761f2","signature":"01a977ade994fe0de990222140f158a0dc3b03529994c449aa39333d0facac02"},"11ed2b0b52af52f3eaff37b9d41c9565f5565dfe8b864d7fb334e21c3fc3df0a","ca4fc772f4db439a193a1f3404d38bb6de729e46486f69fab01645a9b6bf2e57","e50b6be34e50998e01623e5881c639ec09edd7d607079055e856d7188ad1e824","e4fcca12421e8066c464bbaf2525b1a881998ab147f85023bce0964d7e0d5248","078e6873248c46d496d62935b4ce7e6fc92f8deaef314b382fb6f4de5c70ca5e","c331b7056801e4bc7b46732e77173277b55e0367de6618bae2f85c7c7ce27b56","5e8be2b46e016ff19698fe2279e9187b7fc1b9548b4876a624dcf8cb01f9b457","d46f111f0daf006ae96e904cd3c8e24d4e3ca682b455001af31e8207a1b352fd","d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7",{"version":"a384610388221cd70cffb4503cee7853b8b076f2b4a55324b20a4bdbd25a3538","affectsGlobalScope":true},"8c738d7ab02122bec55d98eab2f5e875f5306ebffe56a6be96f2da0916a7ea71","d1986184a09a52db8228cb2bb2a61a8c05c9354e5b93cec8e2628d8579c892d7","ac965c40df1c4a3d53cebda90c50063ebda4522b0a054741dc3d2bd98bc852e6",{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1}],"root":[[535,548],[550,555],[559,572]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[571,1],[535,2],[572,3],[568,4],[569,2],[570,5],[559,6],[567,7],[536,8],[537,9],[379,2],[573,2],[574,2],[575,2],[143,10],[144,10],[145,11],[97,12],[146,13],[147,14],[148,15],[92,2],[95,16],[93,2],[94,2],[149,17],[150,18],[151,19],[152,20],[153,21],[154,22],[155,22],[156,23],[157,24],[158,25],[159,26],[98,2],[96,2],[160,27],[161,28],[162,29],[196,30],[163,31],[164,2],[165,32],[166,33],[167,34],[168,35],[169,36],[170,37],[171,38],[172,39],[173,40],[174,40],[175,41],[176,2],[177,42],[178,43],[180,44],[179,45],[181,46],[182,47],[183,48],[184,49],[185,50],[186,51],[187,52],[188,53],[189,54],[190,55],[191,56],[192,57],[193,58],[99,2],[100,2],[101,2],[139,59],[140,2],[141,2],[142,46],[194,60],[195,61],[200,62],[464,63],[201,64],[199,65],[466,66],[465,67],[197,68],[462,2],[198,69],[83,2],[85,70],[461,63],[231,63],[84,2],[487,71],[492,72],[499,73],[482,74],[235,2],[243,75],[383,76],[386,77],[358,2],[371,78],[378,79],[260,2],[360,2],[241,2],[357,80],[403,81],[242,2],[233,82],[385,83],[387,84],[388,85],[459,86],[352,87],[305,88],[365,89],[366,90],[364,91],[363,2],[359,92],[384,93],[244,94],[429,2],[430,95],[271,96],[245,97],[272,96],[308,96],[211,96],[381,98],[380,2],[370,99],[477,2],[220,2],[498,100],[437,101],[438,102],[434,103],[516,2],[335,2],[439,104],[435,105],[521,106],[520,107],[515,2],[286,2],[338,108],[337,2],[514,109],[436,63],[291,110],[298,111],[300,112],[290,2],[295,113],[297,114],[299,115],[294,116],[292,2],[296,117],[517,2],[513,2],[519,118],[518,2],[289,119],[508,120],[511,121],[279,122],[278,123],[277,124],[524,63],[276,125],[265,2],[526,2],[557,126],[556,2],[527,63],[528,127],[203,2],[367,128],[368,129],[369,130],[207,2],[372,2],[227,131],[202,2],[451,63],[209,132],[450,133],[449,134],[440,2],[441,2],[448,2],[443,2],[446,135],[442,2],[444,136],[447,137],[445,136],[240,2],[237,2],[238,96],[392,2],[397,138],[398,139],[396,140],[394,141],[395,142],[390,2],[457,104],[232,104],[486,143],[493,144],[497,145],[326,146],[325,2],[320,2],[473,147],[481,148],[353,149],[354,150],[432,151],[342,2],[455,152],[330,63],[347,153],[458,154],[343,2],[346,155],[344,2],[456,156],[453,157],[452,2],[454,2],[350,2],[428,158],[215,159],[328,160],[332,161],[348,162],[351,163],[340,164],[333,165],[480,166],[406,167],[324,168],[212,169],[479,170],[208,171],[399,172],[391,2],[400,173],[417,174],[389,2],[416,175],[91,2],[411,176],[236,2],[431,177],[407,2],[221,2],[223,2],[362,2],[415,178],[239,2],[263,179],[349,180],[269,181],[329,2],[414,2],[393,2],[419,182],[420,183],[361,2],[422,184],[424,185],[423,186],[373,2],[413,169],[426,187],[323,188],[412,189],[418,190],[248,2],[252,2],[251,2],[250,2],[255,2],[249,2],[258,2],[257,2],[254,2],[253,2],[256,2],[259,191],[247,2],[315,192],[314,2],[319,193],[316,194],[318,195],[321,193],[317,194],[228,196],[307,197],[476,198],[474,2],[503,199],[505,200],[469,201],[504,202],[216,203],[213,203],[246,2],[230,204],[229,205],[225,206],[226,207],[234,208],[262,208],[273,208],[309,209],[274,209],[218,210],[217,2],[313,211],[312,212],[311,213],[310,214],[219,215],[460,216],[261,217],[468,218],[433,219],[463,220],[467,221],[356,222],[355,223],[336,224],[322,225],[304,226],[306,227],[303,228],[425,229],[327,2],[491,2],[224,230],[427,231],[475,232],[334,2],[264,233],[341,234],[339,235],[266,236],[401,237],[470,2],[267,238],[402,238],[489,2],[488,2],[490,2],[472,2],[471,2],[404,239],[331,2],[301,240],[222,241],[280,2],[206,242],[268,2],[495,63],[205,2],[507,243],[288,63],[501,104],[287,244],[484,245],[285,243],[210,2],[509,246],[283,63],[284,63],[275,2],[204,2],[282,247],[281,248],[270,249],[345,39],[405,39],[421,2],[409,250],[408,2],[293,119],[214,2],[302,63],[478,131],[485,251],[86,63],[89,252],[90,253],[87,63],[88,2],[382,254],[377,255],[376,2],[375,256],[374,2],[483,257],[494,258],[496,259],[500,260],[558,261],[502,262],[506,263],[534,264],[510,264],[533,265],[512,266],[522,267],[523,268],[525,269],[529,270],[532,131],[531,2],[530,271],[410,272],[81,2],[82,2],[13,2],[14,2],[16,2],[15,2],[2,2],[17,2],[18,2],[19,2],[20,2],[21,2],[22,2],[23,2],[24,2],[3,2],[25,2],[26,2],[4,2],[27,2],[31,2],[28,2],[29,2],[30,2],[32,2],[33,2],[34,2],[5,2],[35,2],[36,2],[37,2],[38,2],[6,2],[42,2],[39,2],[40,2],[41,2],[43,2],[7,2],[44,2],[49,2],[50,2],[45,2],[46,2],[47,2],[48,2],[8,2],[54,2],[51,2],[52,2],[53,2],[55,2],[9,2],[56,2],[57,2],[58,2],[60,2],[59,2],[61,2],[62,2],[10,2],[63,2],[64,2],[65,2],[11,2],[66,2],[67,2],[68,2],[69,2],[70,2],[1,2],[71,2],[72,2],[12,2],[76,2],[74,2],[79,2],[78,2],[73,2],[77,2],[75,2],[80,2],[117,273],[127,274],[116,273],[137,275],[108,276],[107,277],[136,271],[130,278],[135,279],[110,280],[124,281],[109,282],[133,283],[105,284],[104,271],[134,285],[106,286],[111,287],[112,2],[115,287],[102,2],[138,288],[128,289],[119,290],[120,291],[122,292],[118,293],[121,294],[131,271],[113,295],[114,296],[123,297],[103,298],[126,289],[125,287],[129,2],[132,299],[549,300],[561,301],[560,302],[562,303],[563,304],[564,305],[566,306],[565,307],[539,308],[540,308],[541,308],[542,308],[543,308],[545,309],[546,308],[547,308],[544,308],[548,308],[552,310],[551,311],[554,312],[553,313],[555,314],[550,315],[538,300]],"affectedFilesPendingEmit":[572,570,559,567,537,561,560,562,563,564,566,565,539,540,541,542,543,545,546,547,544,548,552,551,554,553,555,550,538],"version":"5.9.3"} | ||
| \ No newline at end of file | \ No newline at end of file | ||
The
environment: productionreference was removed from the deploy job. If that environment carried protection rules, required reviewers, or environment-scoped secrets on the previous host, deployments now run without that gate. If this is intentional (e.g. the new platform lacks environment support) it's fine, but if environment protections existed, consider an equivalent approval step so pushes to develop no longer deploy to production unattended.