diff --git a/backlog/features.json b/backlog/features.json
index eb86475..9d87e04 100644
--- a/backlog/features.json
+++ b/backlog/features.json
@@ -3667,6 +3667,345 @@
"close": true
},
"completed_at": "2026-08-19T17:33:25Z"
+ },
+ {
+ "id": "F-078",
+ "type": "feature",
+ "title": "Server log streaming via SSE in admin audit page",
+ "problem": "Admin needs to see server-side logs in real-time like docker logs. Errors should be highlighted.",
+ "goal": "Add SSE endpoint that streams server logs and a terminal-like log viewer in the admin UI.",
+ "scope_in": [
+ "backend",
+ "admin"
+ ],
+ "scope_out": [
+ "No changes to existing audit_log table; no new DB tables"
+ ],
+ "priority": "high",
+ "risk": "med",
+ "description": "Problem: Admin needs real-time server logs. Goal: SSE streaming endpoint + terminal UI. Type: feature. Priority: high. Risk: med.",
+ "acceptance": [
+ "SSE endpoint streams server logs in real-time",
+ "Errors highlighted in red",
+ "Log viewer shows recent history on connect",
+ "verify.sh is green"
+ ],
+ "status": "done",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": true,
+ "security": true,
+ "qa": true,
+ "close": true
+ },
+ "completed_at": "2026-08-20T03:55:46Z"
+ },
+ {
+ "id": "F-079",
+ "type": "bug",
+ "title": "Product list /products does not show brand",
+ "problem": "Backend product listing page (/products) does not show the brand column/value for each product row, even though products have a brand assigned. Operators cannot see at a glance which brand a product belongs to while scanning the table.",
+ "goal": "Show the brand of each product as a visible column (or field in the row card) in /products, with consistent formatting and a sortable/filterable UX where possible.",
+ "scope_in": [
+ "backend",
+ "admin"
+ ],
+ "scope_out": [
+ "No product model changes",
+ "No new brand management UI"
+ ],
+ "priority": "med",
+ "risk": "low",
+ "description": "Problem: Backend product listing page (/products) does not show the brand column/value for each product row, even though products have a brand assigned. Operators cannot see at a glance which brand a product belongs to while scanning the table.. Goal: Show the brand of each product as a visible column (or field in the row card) in /products, with consistent formatting and a sortable/filterable UX where possible.. Scope IN: backend, admin. Scope OUT: No product model changes, No new brand management UI. Type: bug. Priority: med. Risk: low.",
+ "acceptance": [
+ "Each row in /products listing shows the brand name (or \"-\" when not assigned)",
+ "Brand column header is present and aligned with other columns",
+ "Existing brand filter (if any) keeps working",
+ "Empty brand renders as a placeholder, not raw null/undefined",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
+ },
+ {
+ "id": "F-080",
+ "type": "fix",
+ "title": "PVP (IVA incl.) input in Prices tab locks decimal editing",
+ "problem": "In the product editor Prices tab, the PVP (IVA incl.) input refuses to let the operator type freely in the decimals part. The user cannot delete digits, cannot replace the decimal separator (comma/dot), and sometimes cannot type any digit at all. The sibling \"Neto (sin IVA)\" input works exactly as expected and must be used as the reference behavior.",
+ "goal": "Make PVP (IVA incl.) behave like Neto (sin IVA): free decimal typing, accept comma or dot, allow deleting digits and the decimal separator, recompute cleanly from neto + IVA rate or accept the typed value, and persist on save without losing precision.",
+ "scope_in": [
+ "admin",
+ "backend"
+ ],
+ "scope_out": [
+ "No DB schema changes",
+ "No IVA/tax rate model changes"
+ ],
+ "priority": "med",
+ "risk": "low",
+ "description": "Problem: In the product editor Prices tab, the PVP (IVA incl.) input refuses to let the operator type freely in the decimals part. The user cannot delete digits, cannot replace the decimal separator (comma/dot), and sometimes cannot type any digit at all. The sibling \"Neto (sin IVA)\" input works exactly as expected and must be used as the reference behavior.. Goal: Make PVP (IVA incl.) behave like Neto (sin IVA): free decimal typing, accept comma or dot, allow deleting digits and the decimal separator, recompute cleanly from neto + IVA rate or accept the typed value, and persist on save without losing precision.. Scope IN: admin, backend. Scope OUT: No DB schema changes, No IVA/tax rate model changes. Type: fix. Priority: med. Risk: low.",
+ "acceptance": [
+ "PVP (IVA incl.) input lets the operator type any digit and decimal separator (\",\" or \".\")",
+ "Operator can delete individual digits and the decimal separator inside the value",
+ "PVP value is parsed and stored as a real number with 2-decimal rounding",
+ "On blur/save, PVP stays consistent with neto + IVA rate (recompute or keep typed, no stale value)",
+ "Behavior matches the Neto (sin IVA) input UX (same input component, same parsing rules)",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
+ },
+ {
+ "id": "F-081",
+ "type": "fix",
+ "title": "Inventory PRECIO NETO input has wrong format and no save",
+ "problem": "In the inventory view, the PRECIO NETO field for each variant looks and behaves differently from the Prices tab \"Neto (sin IVA)\" input. It does not accept comma and dot as decimal separators consistently, and although the field appears editable, there is no visible way to persist the change (no save button, no save-on-blur, no PATCH call). Operators can type a value but it never reaches the backend.",
+ "goal": "Make Inventory PRECIO NETO use the same input component and parsing rules as Prices tab Neto (sin IVA) (comma or dot decimals, free typing, delete digits), and wire it to the variant PATCH endpoint so changes persist on blur/enter with visible feedback (toast or row highlight).",
+ "scope_in": [
+ "admin",
+ "backend"
+ ],
+ "scope_out": [
+ "No new pricing API",
+ "No DB schema changes"
+ ],
+ "priority": "high",
+ "risk": "med",
+ "description": "Problem: In the inventory view, the PRECIO NETO field for each variant looks and behaves differently from the Prices tab \"Neto (sin IVA)\" input. It does not accept comma and dot as decimal separators consistently, and although the field appears editable, there is no visible way to persist the change (no save button, no save-on-blur, no PATCH call). Operators can type a value but it never reaches the backend.. Goal: Make Inventory PRECIO NETO use the same input component and parsing rules as Prices tab Neto (sin IVA) (comma or dot decimals, free typing, delete digits), and wire it to the variant PATCH endpoint so changes persist on blur/enter with visible feedback (toast or row highlight).. Scope IN: admin, backend. Scope OUT: No new pricing API, No DB schema changes. Type: fix. Priority: high. Risk: med.",
+ "acceptance": [
+ "Inventory PRECIO NETO input accepts \",\" and \".\" as decimal separator",
+ "Operator can freely type, delete digits and the decimal separator (same UX as Prices tab)",
+ "Editing PRECIO NETO triggers a PATCH to the variant endpoint with the new netUnitAmount",
+ "On success the new value is persisted and shown back in the cell; on error an inline error/toast is shown and old value is restored",
+ "Format (2 decimals, locale aware) is identical to the Prices tab Neto (sin IVA) display",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
+ },
+ {
+ "id": "F-082",
+ "type": "fix",
+ "title": "/inventory editable fields cannot be saved; stock UX needs click-to-edit",
+ "problem": "In the admin inventory view, several fields look editable but the operator has no way to persist the change (no save button, no save on blur, no PATCH). Specifically: editable price/cost/EAN/SKU/etc. changes are silently lost. Additionally, the Stock column still requires clicking a pencil icon to enter edit mode. The desired UX is: clicking the Stock cell directly switches it to edit mode (no pencil step), and any in-flight edit can be saved.",
+ "goal": "Make every editable field in /inventory persist on blur or Enter via the variant PATCH endpoint. Make Stock enter edit mode on a single click on the cell (no pencil icon). Provide a clear save indicator and an inline error path.",
+ "scope_in": [
+ "admin",
+ "backend"
+ ],
+ "scope_out": [
+ "No new endpoints",
+ "No DB schema changes"
+ ],
+ "priority": "high",
+ "risk": "med",
+ "description": "Problem: In the admin inventory view, several fields look editable but the operator has no way to persist the change (no save button, no save on blur, no PATCH). Specifically: editable price/cost/EAN/SKU/etc. changes are silently lost. Additionally, the Stock column still requires clicking a pencil icon to enter edit mode. The desired UX is: clicking the Stock cell directly switches it to edit mode (no pencil step), and any in-flight edit can be saved.. Goal: Make every editable field in /inventory persist on blur or Enter via the variant PATCH endpoint. Make Stock enter edit mode on a single click on the cell (no pencil icon). Provide a clear save indicator and an inline error path.. Scope IN: admin, backend. Scope OUT: No new endpoints, No DB schema changes. Type: fix. Priority: high. Risk: med.",
+ "acceptance": [
+ "Every editable cell in /inventory (SKU, EAN, Stock, Precio Neto, etc.) saves on blur or Enter via PATCH /variants/:id",
+ "Stock cell enters edit mode on a single click; the pencil icon is removed or no longer required",
+ "Successful save shows visual confirmation (toast or row flash); the new value stays in the cell",
+ "Failed save shows inline error and restores the previous value",
+ "Concurrent edits on the same row do not silently overwrite (last write wins is acceptable but a warning is shown)",
+ "No regressions in the existing Prices tab or product editor",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
+ },
+ {
+ "id": "F-083",
+ "type": "feature",
+ "title": "Customers: password reset via email link",
+ "problem": "In /customers (admin) and the customer self-service area, there is no password reset flow. Operators and customers cannot recover access to an account when the password is forgotten. We need an email-based reset: ask for the email, send a one-time link, the user opens the link and sets a new password.",
+ "goal": "Implement a secure password reset flow: request endpoint by email, signed/tokenized reset link sent via email, reset endpoint that accepts a new password, plus admin button to trigger the email from a customer row.",
+ "scope_in": [
+ "backend",
+ "admin",
+ "storefront",
+ "email"
+ ],
+ "scope_out": [
+ "No MFA / 2FA",
+ "No SMS channel"
+ ],
+ "priority": "high",
+ "risk": "med",
+ "description": "Problem: In /customers (admin) and the customer self-service area, there is no password reset flow. Operators and customers cannot recover access to an account when the password is forgotten. We need an email-based reset: ask for the email, send a one-time link, the user opens the link and sets a new password.. Goal: Implement a secure password reset flow: request endpoint by email, signed/tokenized reset link sent via email, reset endpoint that accepts a new password, plus admin button to trigger the email from a customer row.. Scope IN: backend, admin, storefront, email. Scope OUT: No MFA / 2FA, No SMS channel. Type: feature. Priority: high. Risk: med.",
+ "acceptance": [
+ "Backend endpoint POST /auth/password-reset/request accepts email and always returns 200 (no user enumeration)",
+ "A signed single-use token is generated, stored with TTL (>= 30 min, <= 24h) and expiry",
+ "An email is sent to the customer with the reset link to /cuenta/restablecer?token=...",
+ "Backend endpoint POST /auth/password-reset/confirm accepts token + new password; invalid/expired/used tokens return 400",
+ "After reset, the new password works for login and any previous sessions remain valid until logout",
+ "Admin /customers row has a \"Send reset link\" action that triggers the same email flow",
+ "Rate limit on request endpoint (per IP and per email) to avoid abuse",
+ "Audit log entry for each reset request and confirm",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
+ },
+ {
+ "id": "F-084",
+ "type": "bug",
+ "title": "Parent categories list does not show emoji in front of the name",
+ "problem": "In /categories, parent categories (those with no parent of their own) do not show their emoji icon in front of the name in the list view, even though the emoji is set on the record. A specific reproduction: \"Hogar y Mascotas\" was created from the UI, its emoji was edited later, but the list still shows the name without the emoji. Child categories already render correctly so the bug is specific to the parent-category rendering path.",
+ "goal": "Render the category emoji in front of the name for every parent category row in /categories list, and ensure re-editing the emoji (via UI) is reflected on next list render without a full reload.",
+ "scope_in": [
+ "admin",
+ "backend"
+ ],
+ "scope_out": [
+ "No category hierarchy model changes",
+ "No new icon picker"
+ ],
+ "priority": "med",
+ "risk": "low",
+ "description": "Problem: In /categories, parent categories (those with no parent of their own) do not show their emoji icon in front of the name in the list view, even though the emoji is set on the record. A specific reproduction: \"Hogar y Mascotas\" was created from the UI, its emoji was edited later, but the list still shows the name without the emoji. Child categories already render correctly so the bug is specific to the parent-category rendering path.. Goal: Render the category emoji in front of the name for every parent category row in /categories list, and ensure re-editing the emoji (via UI) is reflected on next list render without a full reload.. Scope IN: admin, backend. Scope OUT: No category hierarchy model changes, No new icon picker. Type: bug. Priority: med. Risk: low.",
+ "acceptance": [
+ "Every parent category row in /categories list shows its emoji immediately before the name",
+ "Editing the emoji of a parent category from the UI reflects on the list on next refresh (no stale state)",
+ "Child categories keep their current rendering (no regression)",
+ "Categories without an emoji show a neutral placeholder (e.g. greyed hash) instead of an empty space",
+ "Emoji is stored and returned correctly by the categories API (sanitized, valid UTF-8)",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
+ },
+ {
+ "id": "F-085",
+ "type": "fix",
+ "title": "/tax-rates TIPO column is not editable",
+ "problem": "In /tax-rates, the TIPO (type) column is read-only. Operators can change the value via the edit page/form, but inline editing on the list does not let them pick a different tax type. The desired behavior: TIPO behaves like the other editable fields (inline edit on click or via a small select), and the change is persisted on the tax-rates API.",
+ "goal": "Make the TIPO column in /tax-rates inline-editable (dropdown with the valid tax-type values) and persist changes via PATCH /tax-rates/:id. Keep validation (only allowed types).",
+ "scope_in": [
+ "admin",
+ "backend"
+ ],
+ "scope_out": [
+ "No new tax type values",
+ "No DB schema changes"
+ ],
+ "priority": "med",
+ "risk": "low",
+ "description": "Problem: In /tax-rates, the TIPO (type) column is read-only. Operators can change the value via the edit page/form, but inline editing on the list does not let them pick a different tax type. The desired behavior: TIPO behaves like the other editable fields (inline edit on click or via a small select), and the change is persisted on the tax-rates API.. Goal: Make the TIPO column in /tax-rates inline-editable (dropdown with the valid tax-type values) and persist changes via PATCH /tax-rates/:id. Keep validation (only allowed types).. Scope IN: admin, backend. Scope OUT: No new tax type values, No DB schema changes. Type: fix. Priority: med. Risk: low.",
+ "acceptance": [
+ "TIPO cell in /tax-rates list enters edit mode on click and shows a select with the allowed types",
+ "Selecting a new type and confirming (blur/enter) triggers PATCH /tax-rates/:id with the new value",
+ "Invalid types are rejected client and server side with a clear message",
+ "Successful change is reflected in the cell without a full page reload",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
+ },
+ {
+ "id": "F-086",
+ "type": "feature",
+ "title": "Add product expiration date (fecha de caducidad) field",
+ "problem": "Products have no expiration date tracked anywhere in the system. Operators cannot record a \"fecha de caducidad\" on a product, so it does not show on the product edit page, on /products listing or in the inventory module. Frontend customers also cannot see it.",
+ "goal": "Add a fecha de caducidad (expiration date) field end to end: DB column on product (or variant) level, admin edit field in the product editor, column on /products listing and /inventory, plus optional display on the storefront product page.",
+ "scope_in": [
+ "backend",
+ "admin",
+ "storefront",
+ "migrations"
+ ],
+ "scope_out": [
+ "No batch-level expiry",
+ "No expiry alerts/notifications in this ticket"
+ ],
+ "priority": "high",
+ "risk": "med",
+ "description": "Problem: Products have no expiration date tracked anywhere in the system. Operators cannot record a \"fecha de caducidad\" on a product, so it does not show on the product edit page, on /products listing or in the inventory module. Frontend customers also cannot see it.. Goal: Add a fecha de caducidad (expiration date) field end to end: DB column on product (or variant) level, admin edit field in the product editor, column on /products listing and /inventory, plus optional display on the storefront product page.. Scope IN: backend, admin, storefront, migrations. Scope OUT: No batch-level expiry, No expiry alerts/notifications in this ticket. Type: feature. Priority: high. Risk: med.",
+ "acceptance": [
+ "DB migration adds fecha_caducidad (nullable DATE) to product (or variant) level",
+ "API GET/PATCH/PUT for products/variants exposes the field",
+ "Product editor (Ficha de edicion) has a date input labeled \"Fecha de caducidad\" that saves on blur/enter",
+ "/products listing shows the expiration date as a sortable column; expired dates are visually highlighted",
+ "/inventory view shows the expiration date per variant row",
+ "Storefront product page optionally renders the expiration date when present",
+ "Empty value is allowed and renders as \"-\" without errors",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
+ },
+ {
+ "id": "F-087",
+ "type": "feature",
+ "title": "Frontend cart: cap quantity to available stock",
+ "problem": "On the storefront, the cart and the \"Add to cart\" action let customers enter or select a quantity that exceeds the available stock. Example: a product with 10 units in stock can be added to the cart with quantity 11 or more. The cap must be enforced in two places: the cart line editor (qty input/stepper) and the product page \"Add to cart\" button/input.",
+ "goal": "Cap the selectable/enterable quantity to the current available stock in both the cart line editor and the \"Add to cart\" controls. Show a clear message when the customer tries to exceed stock and prevent the action.",
+ "scope_in": [
+ "frontend",
+ "storefront",
+ "backend"
+ ],
+ "scope_out": [
+ "No stock reservation changes",
+ "No backend stock policy rewrite"
+ ],
+ "priority": "high",
+ "risk": "med",
+ "description": "Problem: On the storefront, the cart and the \"Add to cart\" action let customers enter or select a quantity that exceeds the available stock. Example: a product with 10 units in stock can be added to the cart with quantity 11 or more. The cap must be enforced in two places: the cart line editor (qty input/stepper) and the product page \"Add to cart\" button/input.. Goal: Cap the selectable/enterable quantity to the current available stock in both the cart line editor and the \"Add to cart\" controls. Show a clear message when the customer tries to exceed stock and prevent the action.. Scope IN: frontend, storefront, backend. Scope OUT: No stock reservation changes, No backend stock policy rewrite. Type: feature. Priority: high. Risk: med.",
+ "acceptance": [
+ "On the product page, the quantity stepper max is the current stock; typing a value > stock is rejected with a clear message",
+ "The \"Add to cart\" button is disabled (or shows an error) when the entered quantity exceeds stock",
+ "In the cart, each line quantity input has max = current stock for that variant",
+ "Trying to set qty > stock in the cart shows an inline error and keeps the previous value (or caps it)",
+ "The cart totals and checkout use the capped quantity",
+ "If stock changes between page load and add-to-cart, the API rejects the overflow with a 409 and the UI shows a clear message",
+ "verify.sh is green"
+ ],
+ "status": "pending",
+ "created_at": "2026-08-19",
+ "gates": {
+ "reviewer": false,
+ "security": false,
+ "qa": false
+ }
}
]
}
diff --git a/project/apps/admin/src/app/(dashboard)/layout.tsx b/project/apps/admin/src/app/(dashboard)/layout.tsx
index 289f8b6..169453b 100644
--- a/project/apps/admin/src/app/(dashboard)/layout.tsx
+++ b/project/apps/admin/src/app/(dashboard)/layout.tsx
@@ -68,8 +68,11 @@ function Sidebar({
+
+
+
Cerrar sesión
diff --git a/project/apps/admin/src/app/(dashboard)/logs/page.tsx b/project/apps/admin/src/app/(dashboard)/logs/page.tsx
new file mode 100644
index 0000000..4b8c5f2
--- /dev/null
+++ b/project/apps/admin/src/app/(dashboard)/logs/page.tsx
@@ -0,0 +1,21 @@
+'use client';
+import { ServerLogViewer } from '@/components/ServerLogViewer';
+
+export default function ServerLogsPage() {
+ const backendUrl =
+ typeof window !== 'undefined'
+ ? `${window.location.protocol}//${window.location.hostname}:3000`
+ : '';
+
+ return (
+
+
+
Logs del servidor
+
+ Stream en tiempo real via SSE. Las líneas erróneas se resaltan en rojo.
+
+
+
+
+ );
+}
diff --git a/project/apps/admin/src/components/ServerLogViewer.tsx b/project/apps/admin/src/components/ServerLogViewer.tsx
new file mode 100644
index 0000000..4800844
--- /dev/null
+++ b/project/apps/admin/src/components/ServerLogViewer.tsx
@@ -0,0 +1,233 @@
+'use client';
+import { useState, useEffect, useRef, useCallback } from 'react';
+
+interface LogEntry {
+ time: string;
+ level: number;
+ levelName: string;
+ msg: string;
+ err?: Record;
+ raw: string;
+}
+
+const LEVEL_STYLES: Record = {
+ 60: 'text-red-400', // fatal
+ 50: 'text-red-400', // error
+ 40: 'text-amber-400', // warn
+ 30: 'text-green-400', // info
+ 20: 'text-gray-400', // debug
+ 10: 'text-gray-500', // trace
+};
+
+function formatTime(iso: string): string {
+ try {
+ const d = new Date(iso);
+ return d.toLocaleTimeString('es-ES', { hour: '2-digit', minute: '2-digit', second: '2-digit', fractionalSecondDigits: 3 });
+ } catch {
+ return iso;
+ }
+}
+
+function parseLine(line: string): LogEntry {
+ try {
+ const obj = JSON.parse(line);
+ const level = obj.level ?? 30;
+ const LEVEL_NAMES: Record = { 10: 'TRACE', 20: 'DEBUG', 30: 'INFO', 40: 'WARN', 50: 'ERROR', 60: 'FATAL' };
+ return {
+ time: obj.time ?? '',
+ level,
+ levelName: LEVEL_NAMES[level] ?? 'INFO',
+ msg: obj.msg ?? '',
+ err: obj.err,
+ raw: line,
+ };
+ } catch {
+ return { time: '', level: 30, levelName: 'INFO', msg: line, raw: line };
+ }
+}
+
+interface ServerLogViewerProps {
+ /** Backend URL for SSE stream, e.g. 'http://192.168.18.93:3000' */
+ backendUrl?: string;
+}
+
+export function ServerLogViewer({ backendUrl = 'http://192.168.18.93:3000' }: ServerLogViewerProps) {
+ const [logs, setLogs] = useState([]);
+ const [status, setStatus] = useState<'connecting' | 'live' | 'reconnecting' | 'error'>('connecting');
+ const [autoScroll, setAutoScroll] = useState(true);
+ const bottomRef = useRef(null);
+ const containerRef = useRef(null);
+ const isAtBottomRef = useRef(true);
+
+ const scrollToBottom = useCallback(() => {
+ if (autoScroll) bottomRef.current?.scrollIntoView({ behavior: 'smooth' });
+ }, [autoScroll]);
+
+ // Track if user scrolled up
+ const handleScroll = useCallback(() => {
+ const el = containerRef.current;
+ if (!el) return;
+ const distFromBottom = el.scrollHeight - el.scrollTop - el.clientHeight;
+ isAtBottomRef.current = distFromBottom < 50;
+ setAutoScroll(isAtBottomRef.current);
+ }, []);
+
+ useEffect(() => {
+ if (status === 'live') scrollToBottom();
+ }, [logs, scrollToBottom, status]);
+
+ useEffect(() => {
+ setStatus('connecting');
+
+ // Build the SSE URL with the session cookie forwarded
+ // We use a fetch-based approach: open a GET request and read as text/event-stream
+ let aborted = false;
+
+ const connect = async () => {
+ try {
+ // Read cookie from document
+ const cookies = document.cookie;
+ const response = await fetch(`${backendUrl}/admin/logs/stream`, {
+ headers: { Cookie: cookies },
+ });
+
+ if (!response.ok || aborted) {
+ if (!aborted) setStatus('reconnecting');
+ return;
+ }
+
+ const reader = response.body?.getReader();
+ if (!reader) { setStatus('error'); return; }
+
+ const decoder = new TextDecoder();
+ let buffer = '';
+
+ setStatus('live');
+
+ while (true) {
+ if (aborted) break;
+ const { done, value } = await reader.read();
+ if (done) break;
+ buffer += decoder.decode(value, { stream: true });
+ const lines = buffer.split('\n');
+ buffer = lines.pop() ?? '';
+
+ for (const raw of lines) {
+ if (!raw.trim()) continue;
+ if (raw.startsWith('data: ')) {
+ const json = raw.slice(6);
+ setLogs(prev => {
+ const next = [...prev, parseLine(json)];
+ return next.length > 2000 ? next.slice(-2000) : next;
+ });
+ }
+ }
+ }
+ } catch {
+ if (!aborted) setStatus('reconnecting');
+ }
+ };
+
+ connect();
+
+ return () => {
+ aborted = true;
+ };
+ }, [backendUrl]);
+
+ return (
+
+ {/* Toolbar */}
+
+
+ {/* Status indicator */}
+ {status === 'live' && (
+
+
+ EN VIVO
+
+ )}
+ {status === 'connecting' && (
+
+
+ CONECTANDO...
+
+ )}
+ {(status === 'reconnecting' || status === 'error') && (
+
+
+ {status === 'reconnecting' ? 'RECONECTANDO...' : 'ERROR DE CONEXIÓN'}
+
+ )}
+ {logs.length} líneas
+
+
+
+
+ { setAutoScroll(e.target.checked); if (e.target.checked) bottomRef.current?.scrollIntoView(); }}
+ className="rounded border-gray-600 text-[#2D6A4F] focus:ring-[#2D6A4F]"
+ />
+ Auto-scroll
+
+ setLogs([])}
+ className="px-2 py-1 text-xs border border-gray-600 text-gray-400 rounded hover:bg-gray-800 hover:text-gray-200 transition-colors"
+ >
+ Limpiar
+
+
+
+
+ {/* Log content */}
+
+
+
+ {logs.map((entry, i) => (
+
+ {/* Timestamp */}
+
+ {formatTime(entry.time)}
+
+ {/* Level badge */}
+
+ {entry.level >= 50 ? (
+ ERR
+ ) : entry.level >= 40 ? (
+ WARN
+ ) : entry.level >= 30 ? (
+ INFO
+ ) : entry.level >= 20 ? (
+ DEBG
+ ) : (
+ TRCE
+ )}
+
+ {/* Message */}
+
+ {entry.msg}
+ {entry.err && (
+
+ {String((entry.err as { message?: string }).message ?? entry.err).slice(0, 120)}
+
+ )}
+
+
+ ))}
+
+
+
+
+
+ );
+}
diff --git a/project/apps/admin/src/lib/permissions.ts b/project/apps/admin/src/lib/permissions.ts
index f36e112..5144bf5 100644
--- a/project/apps/admin/src/lib/permissions.ts
+++ b/project/apps/admin/src/lib/permissions.ts
@@ -55,6 +55,7 @@ export const NAV_ITEMS: NavItem[] = [
{ href: '/users', label: 'Usuarios', icon: '🔐', permission: 'admin-users.read' },
{ href: '/tax-rates', label: 'IVA', icon: '📊', permission: 'orders.read' },
{ href: '/audit', label: 'Auditoría', icon: '📋', permission: 'audit.read' },
+ { href: '/logs', label: 'Logs', icon: '🖥️', permission: 'audit.read' },
{ href: '/settings', label: 'Ajustes', icon: '⚙️', permission: 'dashboard' },
];
diff --git a/project/apps/admin/tsconfig.tsbuildinfo b/project/apps/admin/tsconfig.tsbuildinfo
index b41cb72..896966a 100644
--- a/project/apps/admin/tsconfig.tsbuildinfo
+++ b/project/apps/admin/tsconfig.tsbuildinfo
@@ -1 +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/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.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/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/server/api-utils/index.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/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.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/base-http/index.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/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/segment-cache/vary-params-decoding.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/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/webpack/plugins/flight-manifest-plugin.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/build/page-extensions-type.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.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/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/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.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.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/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/lazy-result.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/server/after/after-context.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.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/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/shared/lib/request-insights.d.ts","./node_modules/next/dist/next-devtools/shared/request-insights.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.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/app-render/app-render-prerender-utils.d.ts","./node_modules/next/dist/server/app-render/stream-ops.web.d.ts","./node_modules/next/dist/server/app-render/stream-ops.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/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/base-http/node.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/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/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/debug-channel-server.web.d.ts","./node_modules/next/dist/server/app-render/debug-channel-server.node.d.ts","./node_modules/next/dist/server/app-render/debug-channel-server.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/server/app-render/dev-validation-worker-globals.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/postponed-state.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/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/jsx-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/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/server/use-cache/cache-life-profile.d.ts","./node_modules/next/dist/server/use-cache/cache-life.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/lib/page-types.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/shared/lib/router/utils/parse-url.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/@img/colour/index.d.ts","./node_modules/sharp/dist/index.d.mts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.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/build/adapter/build-complete.d.ts","./node_modules/next/dist/client/router-transition-types.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/request/io.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/api/image.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.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/types/routes.d.ts","./.next/types/root-params.d.ts","./next-env.d.ts","./next.config.ts","./src/app/api/[...path]/route.ts","./src/app/api/auth/login/route.ts","./src/app/api/auth/logout/route.ts","./src/app/api/auth/me/route.ts","./src/app/api/upload/route.ts","./src/app/uploads/[...path]/route.ts","./src/types/index.ts","./src/lib/api-client.ts","./src/lib/permissions.ts","./src/app/layout.tsx","./src/app/(auth)/login/page.tsx","./src/features/auth/components/authprovider.tsx","./src/app/(dashboard)/layout.tsx","./src/app/(dashboard)/page.tsx","./src/app/(dashboard)/audit/page.tsx","./src/components/ui/rowactions.tsx","./src/app/(dashboard)/brands/page.tsx","./src/app/(dashboard)/categories/page.tsx","./node_modules/lexical/dist/lexicaldomslot.d.ts","./node_modules/lexical/dist/lexicaldequeset.d.ts","./node_modules/lexical/dist/nodes/lexicalrootnode.d.ts","./node_modules/lexical/dist/lexicaleditorstate.d.ts","./node_modules/lexical/dist/lexicalnodestate.d.ts","./node_modules/lexical/dist/lexicalupdatetags.d.ts","./node_modules/lexical/dist/lexicaleditor.d.ts","./node_modules/lexical/dist/nodes/lexicaltextnode.d.ts","./node_modules/lexical/dist/lexicalselection.d.ts","./node_modules/lexical/dist/nodes/lexicalelementnode.d.ts","./node_modules/lexical/dist/lexicalconstants.d.ts","./node_modules/lexical/dist/lexicalreconciler.d.ts","./node_modules/lexical/dist/lexicalnode.d.ts","./node_modules/lexical/dist/caret/lexicalcaret.d.ts","./node_modules/lexical/dist/caret/lexicalcaretutils.d.ts","./node_modules/lexical/dist/lexicalcommands.d.ts","./node_modules/lexical/dist/lexicalevents.d.ts","./node_modules/lexical/dist/lexicalnormalization.d.ts","./node_modules/lexical/dist/lexicalrefcountedregistry.d.ts","./node_modules/lexical/dist/nodes/lexicaldecoratornode.d.ts","./node_modules/lexical/dist/lexicalslot.d.ts","./node_modules/lexical/dist/lexicalupdates.d.ts","./node_modules/lexical/dist/lexicalutils.d.ts","./node_modules/lexical/dist/nodes/artificialnode.d.ts","./node_modules/lexical/dist/nodes/lexicallinebreaknode.d.ts","./node_modules/lexical/dist/nodes/lexicalparagraphnode.d.ts","./node_modules/lexical/dist/nodes/lexicaltabnode.d.ts","./node_modules/lexical/dist/environment.d.ts","./node_modules/lexical/dist/extension-core/internal.d.ts","./node_modules/lexical/dist/extension-core/types.d.ts","./node_modules/lexical/dist/extension-core/defineextension.d.ts","./node_modules/lexical/dist/extension-core/safecast.d.ts","./node_modules/lexical/dist/extension-core/shallowmergeconfig.d.ts","./node_modules/lexical/dist/extension-core/index.d.ts","./node_modules/lexical/dist/utils/classnames.d.ts","./node_modules/lexical/dist/utils/mergeregister.d.ts","./node_modules/lexical/dist/utils/registereventlistener.d.ts","./node_modules/lexical/dist/utils/registereventlisteners.d.ts","./node_modules/lexical/dist/utils/setdomstyle.d.ts","./node_modules/lexical/dist/index.d.ts","./node_modules/@lexical/react/dist/lexicalcomposer.d.ts","./node_modules/@lexical/react/dist/shared/usedecorators.d.ts","./node_modules/@lexical/react/dist/shared/legacydecorators.d.ts","./node_modules/@lexical/react/dist/lexicalrichtextplugin.d.ts","./node_modules/@lexical/react/dist/shared/lexicalcontenteditableelement.d.ts","./node_modules/@lexical/react/dist/lexicalcontenteditable.d.ts","./node_modules/@lexical/react/dist/lexicalerrorboundary.d.ts","./node_modules/@preact/signals-core/dist/signals-core.d.ts","./node_modules/@lexical/extension/dist/signals.d.ts","./node_modules/@lexical/extension/dist/namedsignals.d.ts","./node_modules/@lexical/extension/dist/autofocusextension.d.ts","./node_modules/@lexical/extension/dist/cleareditorextension.d.ts","./node_modules/@lexical/extension/dist/clickafterlastblockextension.d.ts","./node_modules/@lexical/extension/dist/config.d.ts","./node_modules/@lexical/extension/dist/decoratortextextension.d.ts","./node_modules/@lexical/extension/dist/editorstateextension.d.ts","./node_modules/@lexical/extension/dist/getextensiondependency.d.ts","./node_modules/@lexical/extension/dist/getextensiondependencyfromeditor.d.ts","./node_modules/@lexical/extension/dist/getpeerdependencyfromeditor.d.ts","./node_modules/@lexical/extension/dist/horizontalruleextension.d.ts","./node_modules/@lexical/extension/dist/imeextension.d.ts","./node_modules/@lexical/extension/dist/initialstateextension.d.ts","./node_modules/@lexical/extension/dist/extensionrep.d.ts","./node_modules/@lexical/extension/dist/lexicalbuilder.d.ts","./node_modules/@lexical/extension/dist/nestededitorextension.d.ts","./node_modules/@lexical/extension/dist/nodeselectiondataselectedextension.d.ts","./node_modules/@lexical/extension/dist/nodeselectionextension.d.ts","./node_modules/@lexical/extension/dist/normalizeinlineelementsextension.d.ts","./node_modules/@lexical/extension/dist/normalizetripleclickselectionextension.d.ts","./node_modules/@lexical/extension/dist/preventselectallextension.d.ts","./node_modules/@lexical/extension/dist/rootelementextension.d.ts","./node_modules/@lexical/extension/dist/selectblockextension.d.ts","./node_modules/@lexical/extension/dist/selectionalwaysondisplayextension.d.ts","./node_modules/@lexical/extension/dist/tabindentationextension.d.ts","./node_modules/@lexical/extension/dist/watcheditableextension.d.ts","./node_modules/@lexical/extension/dist/watchedsignal.d.ts","./node_modules/@lexical/extension/dist/index.d.ts","./node_modules/@lexical/history/dist/index.d.ts","./node_modules/@lexical/react/dist/lexicalhistoryplugin.d.ts","./node_modules/@lexical/react/dist/lexicalonchangeplugin.d.ts","./node_modules/@lexical/react/dist/lexicallistplugin.d.ts","./node_modules/@lexical/link/dist/clickablelinkextension.d.ts","./node_modules/@lexical/link/dist/lexicallinknode.d.ts","./node_modules/@lexical/link/dist/lexicalautolinkextension.d.ts","./node_modules/@lexical/link/dist/lexicallinkextension.d.ts","./node_modules/@lexical/html/dist/constants.d.ts","./node_modules/@lexical/html/dist/types.d.ts","./node_modules/@lexical/html/dist/contextrecord.d.ts","./node_modules/@lexical/html/dist/domoverride.d.ts","./node_modules/@lexical/html/dist/domrenderextension.d.ts","./node_modules/@lexical/html/dist/import/sel.d.ts","./node_modules/@lexical/html/dist/import/compileimportrules.d.ts","./node_modules/@lexical/html/dist/import/defineoverlayrules.d.ts","./node_modules/@lexical/html/dist/import/types.d.ts","./node_modules/@lexical/html/dist/import/parsecss.d.ts","./node_modules/@lexical/html/dist/import/coreimportextension.d.ts","./node_modules/@lexical/html/dist/import/coreimportrules.d.ts","./node_modules/@lexical/html/dist/import/defineimportrule.d.ts","./node_modules/@lexical/html/dist/import/domimportextension.d.ts","./node_modules/@lexical/html/dist/import/horizontalruleimportextension.d.ts","./node_modules/@lexical/html/dist/import/importcontext.d.ts","./node_modules/@lexical/html/dist/import/inlinestylesfromstylesheets.d.ts","./node_modules/@lexical/html/dist/import/schemas.d.ts","./node_modules/@lexical/html/dist/import/index.d.ts","./node_modules/@lexical/html/dist/rendercontext.d.ts","./node_modules/@lexical/html/dist/index.d.ts","./node_modules/@lexical/link/dist/linkimportextension.d.ts","./node_modules/@lexical/link/dist/index.d.ts","./node_modules/@lexical/react/dist/lexicallinkplugin.d.ts","./node_modules/@lexical/utils/dist/dedupeselectionrects.d.ts","./node_modules/@lexical/utils/dist/markselection.d.ts","./node_modules/@lexical/utils/dist/positionnodeonrange.d.ts","./node_modules/@lexical/utils/dist/selectionalwaysondisplay.d.ts","./node_modules/@lexical/utils/dist/getscrollparent.d.ts","./node_modules/@lexical/utils/dist/index.d.ts","./node_modules/@lexical/rich-text/dist/lexicalrichtextextension.d.ts","./node_modules/@lexical/rich-text/dist/richtextimportextension.d.ts","./node_modules/@lexical/rich-text/dist/index.d.ts","./node_modules/@lexical/list/dist/checklist.d.ts","./node_modules/@lexical/list/dist/lexicallistnode.d.ts","./node_modules/@lexical/list/dist/formatlist.d.ts","./node_modules/@lexical/list/dist/lexicallistitemnode.d.ts","./node_modules/@lexical/list/dist/utils.d.ts","./node_modules/@lexical/list/dist/lexicallistextension.d.ts","./node_modules/@lexical/list/dist/listimportextension.d.ts","./node_modules/@lexical/list/dist/registerlist.d.ts","./node_modules/@lexical/list/dist/index.d.ts","./node_modules/@lexical/react/dist/lexicalcomposercontext.d.ts","./src/features/cms/components/lexicaleditor.tsx","./src/app/(dashboard)/cms/page.tsx","./src/app/(dashboard)/customers/page.tsx","./src/app/(dashboard)/customers/[id]/page.tsx","./src/app/(dashboard)/inventory/page.tsx","./src/app/(dashboard)/orders/page.tsx","./src/app/(dashboard)/orders/[id]/page.tsx","./src/app/(dashboard)/payments/page.tsx","./src/app/(dashboard)/products/page.tsx","./src/features/products/components/sections/imagessection.tsx","./src/features/products/components/sections/inventorysection.tsx","./src/features/products/components/sections/pricingsection.tsx","./src/features/products/components/producteditor.tsx","./src/app/(dashboard)/products/[id]/page.tsx","./src/app/(dashboard)/products/new/page.tsx","./src/app/(dashboard)/promotions/page.tsx","./src/app/(dashboard)/reviews/page.tsx","./src/app/(dashboard)/settings/page.tsx","./src/app/(dashboard)/shipping/page.tsx","./src/app/(dashboard)/tax-rates/page.tsx","./src/app/(dashboard)/users/page.tsx","./.next/types/cache-life.d.ts","./.next/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","./node_modules/@types/trusted-types/lib/index.d.ts","./node_modules/@types/trusted-types/index.d.ts","../../node_modules/@types/deep-eql/index.d.ts","../../node_modules/assertion-error/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/pg-types/index.d.ts","../../node_modules/pg-protocol/dist/messages.d.ts","../../node_modules/pg-protocol/dist/serializer.d.ts","../../node_modules/pg-protocol/dist/parser.d.ts","../../node_modules/pg-protocol/dist/index.d.ts","../../node_modules/@types/pg/lib/type-overrides.d.ts","../../node_modules/@types/pg/index.d.ts"],"fileIdsList":[[97,143,497,498,499,500,501],[97,143],[97,143,456,539,542,545,549,550,551,552,553,554,558,559,561,562,563,565,566,696,697,698,699,700,701,702,703,708,709,710,711,712,713,714,715],[97,143,543,544,545,546],[97,143,456,543],[97,143,606,616],[97,143,606,615],[97,143,606],[97,143,606,614],[97,143,606,630],[97,143,606,615,616,617,618,619,620,621,622,623,624,625,626,627,628,630,631,632,633,634,635,636,637,638,639,640,641,642],[97,143,606,629],[97,143,615],[97,143,614],[97,143,606,615,616],[97,143,606,643],[97,143,606,653],[97,143,657,660],[97,143,606,660],[97,143,660],[97,143,658,660],[97,143,606,659,660],[97,143,606,652,653,659,660],[97,143,657,659,660,661,662,663,664,665,666,667,668,669],[97,143,606,652,653,659],[97,143,606,653,654,655,656,670,671],[97,143,606,652],[97,143,648,649,650,651,673],[97,143,606,649],[97,143,606,643,649],[97,143,672],[97,143,686,693],[97,143,685,686,687,688,689,690,691,692],[97,143,606,693],[85,97,143,606],[85,97,143,611],[85,97,143],[97,143,644],[97,143,674],[85,97,143,609],[85,97,143,606,608],[97,143,606,643,681,682,683],[97,143,606,643,684],[97,143,606,676,677,678,679,680],[97,140,143],[97,142,143],[143],[97,143,148,176],[97,143,144,149,154,162,173,184],[97,143,144,145,154,162],[92,93,94,97,143],[97,143,146,185],[97,143,147,148,155,163],[97,143,148,173,181],[97,143,149,151,154,162],[97,142,143,150],[97,143,151,152],[97,143,153,154],[97,142,143,154],[97,143,154,155,156,173,184],[97,143,154,155,156,169,173,176],[97,143,151,154,157,162,173,184],[97,143,154,155,157,158,162,173,181,184],[97,143,157,159,173,181,184],[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],[97,143,154,160],[97,143,161,184,189],[97,143,151,154,162,173],[97,143,163],[97,143,164],[97,142,143,165],[97,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],[97,143,167],[97,143,168],[97,143,154,169,170],[97,143,169,171,185,187],[97,143,154,173,174,176],[97,143,175,176],[97,143,173,174],[97,143,176],[97,143,177],[97,140,143,173,178],[97,143,154,179,180],[97,143,179,180],[97,143,148,162,173,181],[97,143,182],[97,143,162,183],[97,143,157,168,184],[97,143,148,185],[97,143,173,186],[97,143,161,187],[97,143,188],[97,138,143],[97,138,143,154,156,165,173,176,184,187,189],[97,143,173,190],[85,89,97,143,192,193,194,195,196,492,538],[85,89,97,143,192,193,194,195,392,492,538],[85,89,97,143,192,193,195,196,492,538],[85,97,143,196,392,393],[85,97,143,196,392],[85,89,97,143,193,194,195,196,492,538],[85,89,97,143,192,194,195,196,492,538],[83,84,97,143],[97,143,721],[97,143,574,576,579],[97,143,574,575,576,579,580],[97,143,596],[97,143,595,596,597,598,599],[97,143,595,606],[97,143,567,569,570,571,572,573,574,575,576,577,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,600,601,602,603,604,605],[97,143,573,574,575,576,579],[97,143,574,576],[97,143,576,579],[97,143,567,568,570,571,572,576,579,606],[97,143,569,573,575,579],[97,143,573,579],[97,143,567,571,573,575,577,578,606],[97,143,577,579,606],[97,143,570,573,576,579],[97,143,570,573,574,576,579,606],[97,143,573,576,579,586],[97,143,570,573,579],[97,143,567,569,570,573,574,575,579,606],[97,143,576,606],[97,143,573,576,579,606],[97,143,567,575,579,606],[97,143,573,579,606],[97,143,573,575,576,579,606],[97,143,576,579,606],[97,143,573,574,579,606],[97,143,603],[97,143,495],[97,143,428,507,508],[97,143,520],[97,143,216,217,219,231,351,362,473,478],[97,143,219,252,473,474,475,477],[97,143,198,219,368,370,372,373,375,473],[97,143,219,271,473,476],[97,143,198,217,219,230,231,238,243,249,350,351,352,361,473],[97,143,473],[97,143,226,233,252,253,347],[97,143,219],[97,143,197,226,233],[97,143,379],[97,143,376,377,379],[97,143,376,378,473],[97,143,157,452,460,468],[97,143,157,331,336,339,347,468],[97,143,157,296,468],[97,143,355],[97,143,354,355,356],[97,143,354],[91,97,143,157,197,210,211,219,231,238,243,250,251,252,348,349,362,473,478,492],[97,143,216,219,271,368,369,374,473,476,541],[97,143,476,541],[97,143,216,251,418,473,541],[97,143,541],[97,143,219,476,477,541],[97,143,371,541],[97,143,211,350,353,360],[85,97,143,428],[85,97,143,168,226],[85,97,143,226],[85,97,143,293],[85,97,143,233,428],[97,143,226,278,293,294,524,530],[97,143,277,525,526,527,528,529],[97,143,341],[97,143,341,342],[97,143,230,233,280,281],[97,143,233,284,285,289],[97,143,233,282,290,291],[97,143,284],[97,143,232,233,280,281,282,283,284,285,287,288,291],[97,143,233,283,285,289],[97,143,233,280,284,285,289,290,292],[97,143,233,281,283,285,286,287,289],[97,143,281,283,285,289],[97,143,233],[85,97,143,220,517,518],[85,97,143,184],[85,97,143,269,476],[85,97,143,362,476],[97,143,267,272],[85,97,143,268,494],[85,89,97,143,157,192,193,194,195,196,492,537],[97,143,157,233],[97,143,157,217,222,231,237,299,316,357,358,362,411,417,473],[97,143,210,359],[97,143,492],[97,143,218],[85,97,143,224,226,420,441,443],[97,143,168,226,420,440,441,442,540],[97,143,434,435,436,437,438,439],[97,143,436],[97,143,440],[85,97,143,386,387,391],[85,97,143,233,380,381,382,383,388,390],[97,143,386,388],[97,143,384],[97,143,389],[97,143,385],[85,97,143,493,494],[85,97,143,494],[97,143,316,317,331],[97,143,317],[97,143,157,494],[97,143,345],[97,142,143,344],[97,143,173],[97,143,222,226,233,239,241,324,329,331,336,397,417,420,424,425,460,461,468],[97,143,232,233,245,287],[97,143,421,422],[97,143,173,421],[97,143,395],[97,143,220,226,424,426,461,468,473],[97,143,322,325,331,336],[85,97,143,173,224,226,339,379,424,429,430,431,432,433,444,445,446,447,448,449,450,451,541],[97,143,224,226,252,318,319,320,323,324,336],[97,143,173,233,252,322,330,397,420,423,426,468],[97,143,226,237,393,461],[97,143,326],[97,143,393,396],[97,143,393,394,395,541],[97,143,157,168,198,220,222,233,237,247,260,261,263,316,383,397,411,416,460,473,492,541],[97,143,224,226],[97,143,336],[97,142,143,222,235,252,260,261,328,332,333,334,335,473],[97,143,331],[97,142,143,225,226,237,241,258,318,319,320,321,322,325,326,327,329,330,336,461],[97,143,157,198,258,318],[97,143,222,252,261,316,336,417,473],[97,143,157,198,473],[97,143,157,173,198,222,468],[97,143,157,168,197,198,222,226,231,239,241,243,245,247,255,260,261,262,263,299,300,302,305,307,310,311,312,313,315,362,411,417,468,473,476],[97,143,157,173],[97,143,219,220,221,250,379,468,469,471,472,492,494,541],[97,143,216,217,473],[97,143,397,399],[97,143,157,173,184,228,375,379,380,381,382,383,390,391,397,398,541],[97,143,168,184,197,226,228,241,243,261,300,305,315,316,368,402,403,411,415,417,468,473,479,486,487],[97,143,210,211,243,250,261,473],[97,143,157,220,231,241,261,468,473,484],[97,143,419],[97,143,157,399,400,401,408],[97,143,468,473],[97,143,328,461],[97,143,241,260,362,494],[97,143,157,168,218,305,364,368,402,403,468,486,489],[97,143,157,210,211,368,404],[97,143,198,219,262,362,406,473],[97,143,157,184,383,397,473],[97,143,157,262,362,363,364,373,399,405,407,473,476],[91,97,143,157,245,260,410,492,494],[97,143,314,411],[97,143,157,168,210,211,226,229,231,233,239,241,247,261,263,300,302,312,315,316,362,403,411,415,417,468,478,479,480,482,485,494],[97,143,157,173,211,408,468,486,488],[97,143,200,201,202,203,204,205,206,207,208,209],[97,143,255,306],[97,143,308],[97,143,306],[97,143,308,309],[97,143,157,173,222,230,231,233,237,238],[97,143,157,168,198,218,220,239,242,245,260,263,298,411,468,492,494],[97,143,157,168,184,222,223,229,230,241,242,261,409,461,467],[97,143,318],[97,143,319],[97,143,233,243,460],[97,143,320],[97,143,225],[97,143,227,240],[97,143,157,227,231,239],[97,143,235,240],[97,143,236],[97,143,227,228],[97,143,227,264],[97,143,227],[97,143,229,255,304],[97,143,303],[97,143,226,228,229],[97,143,229,301],[97,143,226,228],[97,143,260,362],[97,143,460],[97,143,157,184,222,239,241,244,260,362,410,417,420,425,426,427,453,454,458,459,461,468],[97,143,273,276,278,279,293,294],[85,97,143,194,195,196,455,456,457],[85,97,143,194,195,196,394,455,456,457],[97,143,346],[97,143,198,252,254,259,260,331,336,337,338,339,340,342,343,345,348,410,417,473],[97,143,293],[97,143,157,298,468],[97,143,298],[97,143,157,239,265,295,297,299,410,468,492,494],[97,143,273,274,275,276,278,279,293,294,493],[91,97,143,157,168,184,222,227,228,241,247,260,261,263,362,408,409,411,468,473,492],[97,143,470],[97,143,224,226,234],[97,143,259,261,412,415],[97,143,259,413,462,463,464,465,466],[97,143,157,255,473],[97,143,157],[97,143,258,331],[97,143,257],[97,143,259,312],[97,143,256,258,473],[97,143,157,222,223,259,412,413,414,468,473],[85,97,143,226,233,292],[85,97,143,232],[97,143,214,215],[85,97,143,220],[85,97,143,226,277],[85,91,97,143,260,263,492,494],[97,143,220,517,519],[85,97,143,272],[85,97,143,168,184,218,266,268,270,271,494],[97,143,222,226,476],[97,143,226,481],[85,97,143,155,157,168,216,218,272,370,492,493],[85,97,143,192,193,194,195,196,492,538],[85,86,87,88,89,97,143],[97,143,148],[97,143,365,366,367],[97,143,365],[85,89,97,143,157,159,168,191,192,193,194,195,196,197,198,218,247,252,440,489,490,491,494,538],[97,143,503],[97,143,505],[97,143,509],[97,143,511],[97,143,513,514,515],[90,97,143,496,502,504,506,510,512,516,521,523,532,533,535,539,540,541,542],[97,143,522],[97,143,531],[97,143,268],[97,143,534],[97,142,143,259,412,413,415,462,463,465,466,536,538],[97,143,191],[97,143,173,191,483],[97,110,114,143,184],[97,110,143,173,184],[97,105,143],[97,107,110,143,181,184],[97,143,162,181],[97,105,143,191],[97,107,110,143,162,184],[97,102,103,106,109,143,154,173,184],[97,110,117,143],[97,102,108,143],[97,110,131,132,143],[97,106,110,143,176,184,191],[97,131,143,191],[97,104,105,143,191],[97,110,143],[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,143],[97,110,125,143],[97,110,117,118,143],[97,108,110,118,119,143],[97,109,143],[97,102,105,110,143],[97,110,114,118,119,143],[97,114,143],[97,108,110,113,143,184],[97,102,107,110,117,143],[97,105,110,131,143,189,191],[85,97,143,456,532],[85,97,143,456,556],[85,97,143,456,555,556,564],[85,97,143,456,555,556],[85,97,143,456,556,695],[85,97,143,456,532,555,556],[85,97,143,456,532,555,556,564],[85,97,143,456,523,532,555,557,560],[85,97,143,456,523,532,555,556],[85,97,143,456,523,555,556],[97,143,456,707],[85,97,143,456,556,564],[97,143,456,539],[97,143,456,516,539],[97,143,148,156,164,456,484,539],[97,143,456,540,543],[97,143,156,164,456,484],[97,143,456],[85,97,143,456,606,607,610,612,613,645,646,647,672,674,675,684,693,694],[85,97,143,456,532,555,556,695,704,705,706],[97,143,456,555],[97,143,723,724],[97,143,154,173,181,191,726,727,730,731,732],[97,143,732],[97,143,727,728,729],[97,143,173,727]],"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":"68d7453aee169c6f39bf6a87d2a07e21209dfe085ce8469b7331bc7f8f0545eb","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","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":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"1123a83f35cf56c97de746f0a7250012153c61a167e4a61668bf50e558162d14","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e20d899c28ca26a2a7afc98beaa69e63ff7fba0a8bc47b4e3bf3ede5e09e424","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"085f552d005479e2e6a7311cdbbe5d8c55c497b4d19274285df161ee9684cd9c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"007faacc9268357caa21d24169f3f3f2497af3e9241308df2d89f6e6d9bb3f2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","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":"9222cd69f4ea6f0aadc222f649b08830757a081a0f170bf3e392fafb90ce6888","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":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"a7fa84b28bea56e199ea2d937ed3743645d969d520f7e937cf4b09d818ffa7e6","impliedFormat":1},{"version":"260e85ffab04d2d16cbaf3899fcb0cfdfa696cb99948d7b703fb28af9ff383fb","impliedFormat":1},{"version":"fbf9959ac279b397cdcd47b6155c32ace1e33ea148c6c1b87815225cb919685f","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"8353adc36468bb55b52ac03d199285bd57fe5cc6530a0ab3ec0156f6459a2e9e","impliedFormat":1},{"version":"6820bbf8a6224854ee584c7524679a3fbd37aff253910b3eb589293f8d1dcd71","impliedFormat":1},{"version":"6dcbc15455c4fcb581da53e9143ebec5c73dc60c881dc6d0255b26180682bea0","impliedFormat":1},{"version":"ab2acae979239e320dce1c8288d717113dd3155a4a5639c07082b4aa9adb7ca7","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"f6e0694f98a39a8fcc85e98c3f9ecea676cd784b96bfecbf9be7670df6df7775","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"d357f3dda6eeae33718e68567bb5d7654984c343f6a3086c19e853fc03b433bc","impliedFormat":1},{"version":"54a749a0a6b2a82499390d3deee0f52f5b1d1da118fda8e52a28cf87cdd158ce","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"16e4d5ea9246286cd59579c7949a1c7f84e036c85f49e527002b8e458844cea8","impliedFormat":1},{"version":"bd9809e72e9a7a5760e91b49f976667d3ff9fb19d517cacf4e8339c628f5ad7f","impliedFormat":1},{"version":"54d63313c49d96380bed92e595e3befe179e4076085eb4f21459446148b75ade","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"be7a66c05d3bc06fd639ba98316086470616858c0e4c04325fffe4f529662c36","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"b2f4d55a673acbd87c62494b0916dfbb09f8081ad290bf11be707dfbdf30e4f6","impliedFormat":1},{"version":"a49e1f0fe346d8302d5f0a7c13f70badb03afca56b6f44b4ad7fdfd89364a9dd","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"7deaed322f7c34cebdd096b779fb81676f3303044ac2c6563574fe7178db8765","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":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"2352f74bc51c0e2c36f3fe406986dd4d0b1385faae349507403517d75bc2be8f","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":"67c2f945a841d2d15e96ee2b24841c38c7699d71bd33d6ae4bbe6eb0f3017dce","impliedFormat":1},{"version":"115457fedf74d22765b39e3edec4bc292ddd3c5f5457bf26a03d2f13a60a3ee0","impliedFormat":1},{"version":"036c8aa095343338b51d319022cdcbe38f0af122623f78aad845237036c4bae8","impliedFormat":1},{"version":"5245b69dc79a7479e5ab458e48d8736acde868efe7fb77adf283c6a738fdf614","impliedFormat":1},{"version":"61265d88af5048c8ce9298b6443d59d9d8a2a1ff603114f0f9d87d9e75deaa1d","impliedFormat":1},{"version":"9dc6783d6463734d933bf58644dcf6cc535db0b148bbe0ee0064228be6b4dc0b","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"100fd6ffe4bec5b9a77274496a5227faf294656db85067a196622d319d6fbb9f","impliedFormat":1},{"version":"76372ba82b5b1c3b6f29bfc23850a2addd735b36ba1f57e62d4ed76921fe1f1f","impliedFormat":1},{"version":"d0a1273dab41e96ebd2b291fab785e661fcf89173b605a70fe061fc21ada193c","impliedFormat":1},{"version":"6506de5a42d7bc337904c55d2a1dffcc1e3c0633889229402856aa1578c01666","impliedFormat":1},{"version":"36c68bb0319a8c160a7423607cc90f383f93eda550839fb9e5c2382499c82575","impliedFormat":1},{"version":"aaecf377e26c5beb7d279eccf4477813da24d3070542239d934c2e9795d310c2","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"8e32dbb4b6c849d57a5f05963fb00def58507eda37b8ca726682c337d0c27cca","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":"f8647078da50b446b99ceb9978f45176cda89cce07c62ec2d42cc001b5becc1c","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"6bbf33947658770121ce0afa44828e1ea9294b1e6c4c7984c0f6da7cc5c53216","impliedFormat":1},{"version":"ebb8af215c7d449add233d33aae1ae80eadf70d3b1e333c55ee09e6dd9181781","impliedFormat":1},{"version":"1bab48faa2e3426331252b77c63f5118307586eeeffc8608274848c10ddda25a","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"51e3224b75ad7b7c4a81c06f61bff8183bee782ac68e8a6d46c56d75540ab7c4","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"8c2e1ebaafd7328ead715fdcb7b20edd298e42f4ecf52590956aea427500fe51","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"dad21634c57f7bd554d29a890c1b802544bc8906d9584a61d41c7ff8f191ab15","impliedFormat":1},{"version":"bbb4a08132d0aba7f5a6af74aba6a3c149970afb6ae2792eec1a6af0e87cf590","impliedFormat":1},{"version":"15d87d8f5dae7e0ba772297a455b264d4b657653b0a50bdacd383469b759da02","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"b1c2db8e7f803e0e1af3c0cb22705ace4ec52fc7a7d68c5c1016d0501ab4a328","impliedFormat":1},{"version":"218b13bb77ff5557caaf5b1e67604d5a3fd6930ede939d14dada9b4c6fd1d221","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"4fb3dafb3267bf8c19a6b2a1e4d9f79b9d64cd33febf8abd1642fcfa995140e7","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"9c7715de1326710dc72578a58f92c208268d5b91105db0845d86a2c68448a45a","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"898338d9e4b3b583b0e0fef52e68a50509fc7ead2d766c35330ea7f5ce2a59f5","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":"a44ed6e5de4d6baa5d269f6e256c41fae69f47b9bf8b269ce0c7fe8b201ac130","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6db920eb76bc2f044dd32b36288a99298d60ab9747af38a3750ef27a319ed45b","impliedFormat":1},{"version":"243ae05c3426b4178fa05932626e742e0bc695e27f1fe4160cc1d15cd21cbf69","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":"ade4bcded5ae1610dcdef8a98668fa7ca41064c5ace9a49c1f78993ff3c3b6ae","impliedFormat":1},{"version":"c605ac51446efce34a0d4db764b4e6d4adf70d5e16e833ef99de12b7b7760823","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"abd5b0b9a913d5e809064dc5af3177702e5626d5423a690ad0711f62b6da3dfa","impliedFormat":1},{"version":"f09538129123053bc778452a43b25446ba6f8dec65118fc0bb82fca53fca9bf8","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"9917f2694799516bf571e62e4b76cfcb22df50a74335302223e10e839c01c60c","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"5d5179db368664843aca3825b6e7ffa69f47cbe3f138b543fb20dba48dbab4d8","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"47bf8f46d61fa63278a5d10630f6bd7063394bb69284e484c61b352ebe0d8e6e","impliedFormat":1},{"version":"40b084057d65a340263757fe0b08217422e02f42ae70236e74a8042b3e1eab1e","impliedFormat":1},{"version":"46e48e65148cc2afd03fad660f54cb5705ace4c45e80aace208ed7833a96f404","impliedFormat":1},{"version":"b0fb2e6b4a7b366ae1a7a441ef27586e5a8f480b48583b644c2e16fa3537ac5d","impliedFormat":1},{"version":"c7be836e57d8250946c5c6c17c4ed5bdede19933ebdcbcf5c880f083c78e3871","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab7dfff19354646b5dd29676783546c81498f8289f679650f9e612f49f8481f0","impliedFormat":1},{"version":"9dfde20de9ff2fac31c1317b9a14f5b83690aea715adca8820407f1302a7d186","impliedFormat":1},{"version":"74eca395ab8ca0411b94a9fb37afb288436a8117965aa7b48ba07fcd024087f8","impliedFormat":1},{"version":"4f58011d28e315f844e72bc05c1a35416a467f09ac8fb49d5ed90114569bc283","impliedFormat":1},{"version":"ecf51081d23a86d2e961b5890562e48b0043a5500d251ec155aba3e97d5db3f6","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"103c58438e43570fb39bc14944f6773b836526043f519414f8e6570427e663be","impliedFormat":1},{"version":"da1bc1be19354bc4712aa812f103975b40c663ba99fc58d4f17491714d594e0d","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"c8e7690654991ceb5b476c2eed7ea526403e26bb7e62113250ff6cb41df76511","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"1822b02aa6421ad770f1003fb9b9cce97694d0168fedc5de3712915ee2825184","impliedFormat":1},{"version":"f97020f048bcad55177284c547c020e0c0d3af7cc32a588ab436bf32e33493ae","impliedFormat":1},{"version":"c9df081660108cfec15ea7c7467e180a7993cc26966373e1da5986151fae9292","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"3ca55d3682dfb90ff521f98850a433646d3d69f3a836f8ff27f2b450a9bd0bf4","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"5e17c6748e336bdf5a83eef55499c4a09ac20ef7e8ac533411dd0e97d23d3ccf","impliedFormat":1},{"version":"5f3820872e54f04cc7d1ed5833aa91c5d45f72d6c82787d03590388063641887","impliedFormat":1},{"version":"5541971ac5ca5a07fbf99b18d072960d29c06558c143e26fa3fd34eda1cd2604","impliedFormat":1},{"version":"bf6e368c991c772a8cfd766b1e5ca38313a98591d56b7467cc9942923b7ca375","impliedFormat":1},{"version":"27fc1b956bd89f524ce386c9c24fb2d13521893aeaece6271704a59c1a0bdf8b","impliedFormat":1},{"version":"eeee5b1c7b9393a1726dfe5f1c61571cd94b605ba7b0e679343d94403fb18d81","impliedFormat":1},{"version":"4402ddf37e9cf7a95e0c66eb47c4f3cb5ff7e31e988c3a45029f82d983b47d63","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"bfd922cd6c7e5404cb2beb99ab0be844b0440dc8ad220894ad32efb85db97bcd","impliedFormat":1},{"version":"a52429ff820c9878482940e2b7752e5b004e0f16635c0cefa2a8da473556201f","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"649588d1787139707a4ee0ea5a7ac8a54d94c6d9823b15bbb28f18b79392e295","impliedFormat":1},{"version":"ff64fa5b9727f769066ac59eb42bdfe0931dbb61c9f42aecb3e0f412d0186f88","impliedFormat":1},{"version":"00e981b1c8e1499dfeb6003893f56c4b40dc386826dcc0227c9eb9425a7a3c7f","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":"4c536efd581b2109005df14e670ffbf799dea8731b33db3fd2c3ab655b4eafc6","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"1a41f92c8593f4639b2e11762df152cb7e5b72f9bb5324158207d3278be73b2a","impliedFormat":1},{"version":"79698c679c34d3836789ee51ccb5984e0697664d3a4572cb76736a6d4b429cd3","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"c096c3c58933c3ecd67ff94335f11b9abfc8405a89d9d3e2552223aee3eaac88","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"8047e76600d42d495952c1c8a16d0a51c8681bd8996524a8b0e9c9065c8e7066","impliedFormat":1},{"version":"10b2c5fc764c6dc12b9e022b178b4ff41a08733074b376611578e34a8f79a2e8","impliedFormat":1},{"version":"3b958309a72d9b99300d585fdc69f23f03df4caa424cf7007bafdacc0d2366f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6e51008cf8190894ff2fc8e672273bf950d246084a03bfb7c3a274fa810c2d9","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"d8a770e32e4da593ddda3ac6370ef644cd977be8f4057ecf3d703cc7745ee4ab","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"5bd12e52bdd0135ed15e1584e0e4206591ddea86a92b0c76d7851a0b09462f8e","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"5666d5734e5152a1e79dd2df5a68531e522bdc4654e06739b2fb799b86367567","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"ef8b9028d751f291df91ebb3e5b1a6607fa99dcfe64563b7e85a9b22034b60fa","impliedFormat":1},{"version":"ce11568d7135fbe99854aa6088b327f9e4c234707c94c4e91e1a52919a881bcf","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"de4b52839326d274a30022a82f8586e19a657d4a21a95fd5322347733ee69885","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"2467b00d963828f540f4acd7910f4c04cfe4b489550e6bb682212f65583bca5b","impliedFormat":1},{"version":"854e50b93090b3f8fd6e355b074e1d24dce1ae0240f1ce46563e35fea210a6d5","impliedFormat":99},{"version":"416c3250d0f78e396c76ddee847e968a7e0edf46c159e3996d99ecfc3b7f069a","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"43003214ab539d7b34b11259b86e41c5c361929472ba2ce95a327922090eb17a","impliedFormat":1},{"version":"9ec11a9084111c6caeac336b4a2fd3ec0086b32d21409a33a2af3ea66d9b85b0","impliedFormat":1},{"version":"700b7bfceda84ab84ddc75ed540247c62568f240d5d5bea4c9352b8f7e148a12","impliedFormat":1},{"version":"6115297fd1e00c450f1456d84c30453c6aefc38690b530d7d31393e361c33050","impliedFormat":1},{"version":"360fe40be059e5206b565f91e130ac2768169b06ecd714f982b0ef4c602e96cd","impliedFormat":1},{"version":"dba74745294baf7b83a2531303b56b4c3824b91a71cbac16dd501ecd2f6d96d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"fcbfb0670d0a9fd2edca0705a1bc421773d58035a312216291fc64903e327a6c","impliedFormat":1},{"version":"1640728521f6ab040fc4a85edd2557193839d0cd0e41c02004fc8d415363d4e2","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"d748648024504c3ddb46411e310b4c69050b8a695e0e1982683bf5594d5a2d8b","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"043b4931cc88f57ad36d9cb9d11ff7f688ceded5ea90bfef50f812fdd625e449","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"bd4c4556a30a24c353ec3aab92f2fa9517a83fae02370bad181d784a723a718b","impliedFormat":1},{"version":"26f8627d501decb20e9494ee1d9a7eb27c21e9b50df506aae1fe1ad3f9b11aa0","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"ec2804a1343f9af99b504838771f77a92cc756ee564c4df3df67cee0ebccc292","impliedFormat":1},{"version":"07a86ec5e70855b9fb5ed27f6a7a84d3ba3f63ba521c9e3cf2ea53ad8484a46a","impliedFormat":1},{"version":"d7bcbc84a8a0137869fbb37985d21d0fbf1d9903e1afbe692577302d865fba60","impliedFormat":1},{"version":"1b16beb8414a7abf9e9d82c0df4d5f2ec6c17fac3fb7d6185004ae506d034651","impliedFormat":1},{"version":"153a111b813b430aaa37a352abc884f0434665c9a6b6b3a4deb1ecaf3a74e17a","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":"fb8b0045bf577879db8f7b16426f7728862b820c0372506c78c79d384781026a","impliedFormat":1},{"version":"fc85587d32e46b46e698053316f16472d7e2e78bf45d177b47dae651f3891aaa","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"cdcb96ffdab6204c3ded7f53ff8a3e730c3689eb83f8b2eb065287bfa8e7b1f0","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"09d8a449a9f38eefc0383f6e08c52cefe471943d99cc3c2242a21c02235b6dcd","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":"7caf3c4129eb3eadfa1a6033206d56145984ebbd46ada269509bcb64d508b9c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"4361fa1a7a9dc167c1d621b0d4ca802a6ff4a3f28235f10aadc97ee19dc30630","affectsGlobalScope":true},"f3387dd7800eec3c34273f7a8efad13e864598c7e8f788d321e407390989bb59","1862ac4bbbc5192d4bf562161df66ea547ed3e67173100656ab606ae9797db2b",{"version":"24b5e48b21b1bbfeac8bf294d10beef78160d3f7b7e4b5a40fef29c290e1ed25","signature":"435a1e418e8338be3f39614b96b81a9aa2700bc8c27bc6b98f064ff9ce17c363"},{"version":"135b2fd76ecf4878082b413c5dadc554609adc3e899df1f5eb799c03eb81373f","signature":"8fb130b6584dccaac94bdf6d206c6902ec75b2437496c61ec7f88fc4dd6e7b38"},{"version":"923c7c0f90bb2df3cbbb48f448aa0b0b2d3276021fe0aee53ef906ce38a1c104","signature":"35b6c4ddb356b5051e479ebb3c6154b5a574563fff7cd3308fd074d9e8c66d10"},{"version":"e4b799f51c2381cc8eeb1acd57421df25e1b2f07b59af3a63bb4192c27b7c423","signature":"af2a99d2417eade481c6f80b06df36ea582e1967a72b12ea9915edf3cc0ce098"},{"version":"b36c6d16a769dfc2dbbc81ba3213ac7c23517a0d64dd2225a42f3cdbb2fa8302","signature":"8e9e7bdfb18799a7b7fbac3e580b13af4a38b303a6bb5ffe43293ab8204eac4d"},{"version":"b9673d06abf20d003b25f899c238c71c835d5f16fcba030dfccab8f4d2f0fc4d","signature":"ba7c22c9802e48a0b1e7459035c5ba47f38bd966b478dc92a56b9c0d83df09f1"},{"version":"a55946abbbc037f5b7f9950c4ddbab9e71060c401949fa611e7240f02777a320","signature":"5c7350c71a13558053dbd823e84362a66f902dc298df2648272a892b00d81663"},{"version":"ff63abc7d9f6dee8c689c3916b14af862d704aab00729d88ce126ce0145793b9","signature":"ca957396ea6a32113391f8eb1ee7cb9032328c542bfd031fa3265a51d2627bd9"},{"version":"089e3cedf5d69bcfa2074c1d1b0a69f9ae5bf7a29ccbb05d7b32c309bf9443ca","signature":"0b06c46ef8ce21ad9daebabad5f3cddae29a122745551f6f7b075aeece7cfd0c"},"c713aad5b05c332eba4f2a8299d9393e55e20f52a8703a16ea32fb2d90a867d6",{"version":"b809d044f0afd2a44227195132c6262abf88473228d7cd1bcaad90e2cc0726d9","signature":"2dcc50c46dcccaadb05bc414e290fd1a75298fcadb47c77c1af84945ec8b6b01"},{"version":"7aa98fb525bdf31f082c5601abc593185009f49657451dcf0431f8d21edf219c","signature":"45b373ad2e114de335dd3eaf62f9658266d71c2f34537489f88f3b4815fa72f8"},"0208e423fc4db9cd175066ade6bcf56c27e839cb4dd262b9e9ca9b28c2c138a1","ac0985f064390724ba244ca04ad463359ce8ce3b880bc89b25ba98aa9e5e1127","6ce8be6cabb4d02d30e681964de65e28bf9d137d597e93516f80ce8481c2ecff","389ebce20cdd56ac9062de4f7a9a85b9462b923d2ff6a8d918747472c2dd84a8",{"version":"fc5bff1e333b599c69d1691c5a97fd8af8777bf3ab6e1e3e405037ec7b357c1c","signature":"29d140a46d8615274c89469c1f8e9100891392ed6fbfa8723c1c9202a6b10ad1"},"25c102fa15b44fac1d8a5e6eaf8d3a71c8e8165bac423acccf6dd3f481e50b60","4035801db71e3937adaacff1fbabea68d3930af0d8a82f672c63764a02180f79",{"version":"993bc698a4ba88e7dbe1f5be05fce74e4e80e527c10bfc3afad417a1fb22b00d","impliedFormat":1},{"version":"21538b567cbb9bd55fbe2d746c38b26ff940f7b946a0d405dc00234ce17908bc","impliedFormat":1},{"version":"d24582ed044bf1ff8eb8e4a9c2201098d0c34348ce2e7e3fd65470ebc1f4caa1","impliedFormat":1},{"version":"d34ddefdb68374a7736bd5a9d2f8b601df609bf035c9689e8db08d73ced8c08c","impliedFormat":1},{"version":"9e5ed847d59c63101ff301accd38cf62cc94d0f03fb81ecdbb7fbb3f6489b87d","impliedFormat":1},{"version":"bf0ff2ed5ca2d9cd80f9d5036d60b6560a972affd1d2d2c0b057fdc6c5c24401","impliedFormat":1},{"version":"6c1fdc77c3aeec927e5dade13e05bd4786df72904bfc5ac241c67abfe66adc16","impliedFormat":1},{"version":"4385824cb58fcf266a9a19b7aa475f1093dfb154b4c86feb0ecc920b312be9dc","impliedFormat":1},{"version":"4db07a5f9ad277140ce30914c80e8410bf8a61ef820b69acb9afe284815cf6cc","impliedFormat":1},{"version":"e9db85af791797df2cfeb3b36ff0a8b2aec77159c9c3739bba41b631cd27c863","impliedFormat":1},{"version":"e184c188c53f56fb830a9baac037236bfe181e9e56034686eeabe17af4ce47fe","impliedFormat":1},{"version":"8a4cfbd8bac195d00bd273780f42899524a96341685f6f9fa38a4b60c5b46d02","impliedFormat":1},{"version":"ce993b6a09a01f9a611c38240b4c20fc53d1e3de50309981d4302277823a8fa0","impliedFormat":1},{"version":"3c6ea3fb4ee65508c4a365e5861a78e500975b99464807c56fd3b76671b34c76","impliedFormat":1},{"version":"0b04ce34380709cdffc024fd4d8c4cc359173db763fdc18a9821a363a6f8ab07","impliedFormat":1},{"version":"475df08d8a101615cff43f546df09ebaf7c929bc866b1a268a46809ed0c0f38b","impliedFormat":1},{"version":"6f452331c5d7bfde6d2cae9746da2178ce540d9f67769f707039233c4d0f3160","impliedFormat":1},{"version":"420f86a2acce8df2cb589922a0b460593f9c76e12103010c5260e999a15ad60e","impliedFormat":1},{"version":"5b73fc85f55fb303453c6efc509452dcc76bb6c60366977249c622b73bc4c72d","impliedFormat":1},{"version":"2d88889b4e65750224b78be07116d8f6a7c68fa36855c238c286c8ab1bdf5fd8","impliedFormat":1},{"version":"3de4a45035f4ab3ca7f1ebcda124892c8a8a979824b66f30e4b7f8178b4537a9","impliedFormat":1},{"version":"6322b15d8eac0bda8810527ebff28c4b846f3d7665ca5d2916a8482e6530e88e","impliedFormat":1},{"version":"19218d3c05954382ac5091d085632d1479e698b85977f51e92d9dd663701e693","impliedFormat":1},{"version":"2505cf392907c271b962003c2cc741801681d99c07c1bc6190d07db2d19d286c","impliedFormat":1},{"version":"8eff340c5c17d1a30714a92fa0cdc7b6f3b1cadd8c88bda620f8fa0cb709cf43","impliedFormat":1},{"version":"663195b8597a94c4cf610bd526e4362d14a2dfa4edecb4c622891f9de1c1ddf9","impliedFormat":1},{"version":"b143bfdc89418a94a739b90c6460f18f57334c1152286ec710d3bc2631fbf39c","impliedFormat":1},{"version":"c69f054c0c2a9f5c731e1fc609bd74358a653720af43b8775922a87848f67982","affectsGlobalScope":true,"impliedFormat":1},{"version":"c26e3f5d9b91fcf817e6ed3565abc561ae1b8b5510d26b1780f7c36565463ea7","impliedFormat":1},{"version":"8c8bd8fb79b58628685080d460c98e418cf32749a309292a5409093b569f61d5","impliedFormat":1},{"version":"144a1dff554d559be494b7436474eb32a569c040da870abc25cc156d8c16c700","impliedFormat":1},{"version":"3b7765c7de1b17a0ec47070ee2000bf0da31cdecef6f61647cd2eb17d33cdef8","impliedFormat":1},{"version":"3da62cc0ecc4ccc373936142c3aef5219493ee7fd013a1426d733a1de178d064","impliedFormat":1},{"version":"f00ac74e61d9db8f3d47611ef0aa9f8e4655854c492f136c1c93146684c5ef04","impliedFormat":1},{"version":"43114074831b5b0f652ccf3141ce3377fdd2a9efefc2b86f123c72c029370ebd","impliedFormat":1},{"version":"dcbff61583cc1aef38c2a8b322adec2b02385dc693ad13977ce48f87d71010f2","impliedFormat":1},{"version":"ff9f328529fe2bb3e07a56e5ad3d04979fe7697455e2a95b9c6310afcccef70a","impliedFormat":1},{"version":"fad84fbcc027a402a6478393482bcb7cd4c27278383e3061ce03ffe3c8010bf9","impliedFormat":1},{"version":"44a5d34c9b0cda44f1875ec779c3ba9db6b59bf493cc4fb848c7e96df021960d","impliedFormat":1},{"version":"7e19cdab4c50b36f09271ae03e82966187f1586fb135bfe6d3baf880f9a07104","impliedFormat":1},{"version":"f8aabdecfd13f24c54921215577fce757346d959b51c27863a20d81d59672d2d","impliedFormat":1},{"version":"dea21e24f5db278d5f046bd2d4045bc83a49b6e7cf00f0b4e3ca1b703566b737","impliedFormat":1},{"version":"6a19b43fd220e01a5ac243ee1a15f6effe83344f8693fdc854f38198f58775b5","impliedFormat":1},{"version":"0af784eff3318c730d44202ff5908f6ea80df8d16f825c6c33a16337367ba1c4","impliedFormat":1},{"version":"07c4df8e9e80beb10d57c87bb655f148b822ff382743ba64c733bc323e49f36c","impliedFormat":1},{"version":"d6144e52f98eb8d73d1b62de6b5c949ea3338b8610721ba4d9c74c2bab77fa95","impliedFormat":1},{"version":"da2c15d17f64b51077c54a26861f6b13dfd422559523e95e8f8ed0623a40b235","impliedFormat":1},{"version":"7fd86ad5dfe671ca797ac75d99a657f2ae66022140428717f6c17373282e3050","impliedFormat":1},{"version":"ffda5bfa664984a6b5fb52c5305b3305b0b4226e507defb219986d2851dbf271","impliedFormat":1},{"version":"c28f1aee734cc7512bce981f0a30794fc3b715f949984f0527a46acfa1ab18c1","impliedFormat":1},{"version":"e943f29aad5d086910fa813644df591992329f1ae3216ddad2cbbeba8b498ce8","impliedFormat":1},{"version":"99317dbbad67d508f38899aa18f42338fec68c9bbaa3c5eda72facb2c3cbbc08","impliedFormat":1},{"version":"eb925d317276d6775b49e2348ef27ea3c34dbfd926e1c720d89ba6e43a4b39ff","impliedFormat":1},{"version":"60f3d974f26628b91943560f53267d4c434aa62c883ebfed06f217e921796d04","impliedFormat":1},{"version":"2c10ad4b43dedccdfaa9ffb6ba3b0da6eb7274c58f9156d7144939afe2be9c18","impliedFormat":1},{"version":"27dba65ef76f5a18dacf979f7318823f6477b3001ad0d5c768e97195dbe1a9cf","impliedFormat":1},{"version":"50a897ff8fc0703372dd3bfe43a54d736d7f36adc271a926ee13fc9fbb2ed240","impliedFormat":1},{"version":"05d15c18b521df2104fe9b6bd4da8d9beedccb7c5572dad919b35036ccfb107c","impliedFormat":1},{"version":"e1f20ffe083eab6fc3a157033241e7fe00100ed17d0ac92023fb9150ab3ccd3c","impliedFormat":1},{"version":"ebde49dcac4ac94fea5ecea4e5b8c12bd915b221d2f127967722c8c903ee6a66","impliedFormat":1},{"version":"52a3c10c20298b1505a7808a58b5e33d5ca2020fed88c71b68616d18e0727f91","impliedFormat":1},{"version":"6af5270cfa74794027a2bce6f4206f93c92ea44134ebe8565a25a29207b8b448","impliedFormat":1},{"version":"14956aa3719b6d7fa1d0bcddbb99200592414943c31a4d9eed0c13d728e3da89","impliedFormat":1},{"version":"86500155bdd6da00d0e3c19bfe34c1ab8dd48409ffafd02a805fc4b112994201","impliedFormat":1},{"version":"686b357de7c9c12c81f9f99ae9fee89b710a157a6409855bcba5fe1b546ad1db","impliedFormat":1},{"version":"05b5d6d23626c3f78eac9662f8e61d90119951e7b7e735579b486bdd9141a8ea","impliedFormat":1},{"version":"712b50fa81acbf0ff3a3ddfc91faf65911271bb8f06510431c39fb42727c456b","impliedFormat":1},{"version":"b9429ca6b0271dfcbcdd54e1f1a6e4486d22175e4b20dc9e47852af9f0bc3fb9","impliedFormat":1},{"version":"cd4d0e11312bb725e30fcd9a9107b62ab6d0a38fca01955675aca658f5e8154e","impliedFormat":1},{"version":"39f09c9d9f64e0a84cf2dadcc391414b6030c37b554b112edf2dbaafcee1e721","impliedFormat":1},{"version":"9f776b40fe9d82674f9b91f7e25b6afd07d80c127bd475d3674bf312143dcacc","impliedFormat":1},{"version":"9ebf2cb1659259a1214ec4854b34e4698e034ed702b0dd46674d161975a75a2f","impliedFormat":1},{"version":"dd24b10a13b1ecf57f89f4fec2a58ff17a478a1305382369860774c53f5339be","impliedFormat":1},{"version":"dec345383d8e71affe9696ee3c63f833bd1b0f46b3ecefa93540bf44cab83d9a","impliedFormat":1},{"version":"1cf8bc9051b317f5b55e6f7b50acf01ad7ae1034e329e7a8655abd092a769a09","impliedFormat":1},{"version":"749971ab7a8762877cc8c40e4816421569317fccce077ff905d780df9f87ed50","impliedFormat":1},{"version":"01b7a2255e9b683eb338af79567c552dced24960505a2dc48af3766434e0f6e5","impliedFormat":1},{"version":"53743ac8a275678b187104688cd0c914dab62dc6971e1955c840d4e6f94c412d","impliedFormat":1},{"version":"6bba303993c7e12c662b86c1e9701124515a5c46361f385298e125f4110624cf","impliedFormat":1},{"version":"d2af712f423e7060a370348ecfb0fa2dcad46da617932eba7d5cdf8736bf3ef9","impliedFormat":1},{"version":"cf75367bcfbe5977358d1f96889df584f311a51cde5fa5b6447884caf0e8ba62","impliedFormat":1},{"version":"292da9ac43dd007233df6195f5d3a95911e7765e9bd185029e174d3021a98e4f","impliedFormat":1},{"version":"a173e0dfe243b30a7e7b8eee8a0bb30e8c6cc3aaeb598c22d083fedffc53881a","impliedFormat":1},{"version":"c35960783d0fb8c63672cf9b328722b72495413c3451406ae03793a448e8a88d","impliedFormat":1},{"version":"4535a82fac347b2b8cd245e13a3ef4e237611079f173d0464d8f2d1326859b63","impliedFormat":1},{"version":"c8090064964aae994bb845727e539032092e9b2fcab5158cd11174cb33b91a72","impliedFormat":1},{"version":"6b48ea2eef2f704a2a0d541e1ced5868f1696827ec189a66e82c3323dc82f57d","impliedFormat":1},{"version":"d221ed8debb0d86951b09e9ff4c18e729746ef12c2a1cde631559abc339fdc3d","impliedFormat":1},{"version":"c6ab3c117596cc664dbb2452e848379bd8f1ea3024bbdd2c2483821795dc9049","impliedFormat":1},{"version":"f5973069eb4b3eda8fac72f4133d984147860cfc56fdbca827d886323f9a10ec","impliedFormat":1},{"version":"1b34a071d26dfeda6004ac4982cdaf64e48d7b15378e2d50b613851a0a4323bf","impliedFormat":1},{"version":"f7c19aa9a5ccf62ccbb1772b1951354acf96a925e1603f819fb713553609e28e","impliedFormat":1},{"version":"6aacc5b680c638d61af301f8392178787ca7d9fbe200e24000352c8a97936285","impliedFormat":1},{"version":"5c9d78382c40f041e6e667619f20d72f4e800ea629c2cdec780bbb6ec1964129","impliedFormat":1},{"version":"b3a39a876ba08d70f834ce790cc4548f57ceab477203ebdde99ba5bc7255f0ef","impliedFormat":1},{"version":"1119449cf9336bf0029ab449b29a0f54584c88cb20b3d65e65004db662bf1d79","impliedFormat":1},{"version":"cc88fe8643b325f7bda64961655464c1525dc2998f8bc762531685336c2cf34f","impliedFormat":1},{"version":"5a5a71687286f072251802df823e23c5a0c84e8d241e7458c78caf12bc6ab6ab","impliedFormat":1},{"version":"d80e45c1aaaa46defa69ee7e7b9c236d4b3fe043c1d717b281218fc09f9e1d84","impliedFormat":1},{"version":"ca21b8b5295966f388286f94ef30c153643585aca6cce3720de7d5717364f912","impliedFormat":1},{"version":"33fb3fc2672669b95dd85dbb1a43f69a91f6312e84047fc4a0a73c66ea77d0aa","impliedFormat":1},{"version":"198d27ca8f43660ab921ddb96fde14bcb84b9ea2f3ce2e5b16d0f9befcf3f0fe","impliedFormat":1},{"version":"a38d47573a7dc3c217e94ef061f66a3388af233c5d74e7468593398bb383f0a7","impliedFormat":1},{"version":"0d7692d70130382928947126be4dfc96ef5662a4098190232ee9e6803741aa6a","impliedFormat":1},{"version":"5d36ac8bed5a77393ae8423a5dede92717b391153ca7252cf9f0b6401a341b0d","impliedFormat":1},{"version":"e7cdf4a3e61e35ec55531523d2e887ece545e9ae3b248578851d1782d6fc6105","impliedFormat":1},{"version":"73caa80f603548446b38fde1f210dae4eaf963cf020c295513b1aec6d8e6284a","impliedFormat":1},{"version":"10ee5f80e9e1746d8ca2dd3f5b901d4279c3c18bb573d8b8ff50b3ff741c49cf","impliedFormat":1},{"version":"93a69bd203a761a79050258653d93f2dda70bd4d8000f70fdaad948080aac044","impliedFormat":1},{"version":"85821ba229cd335efacbdd319a4e85f9130451c79aa7f8914ff1a7a9cc5789ee","impliedFormat":1},{"version":"34d5a9f5a55a4107cd08658c4d0d52d04deffc72d02ff983f2a8405c426e9826","impliedFormat":1},{"version":"b836b50bce47cb43a23baf59e0f47c812c9daa4961c16471e60b42bb50b00e93","impliedFormat":1},{"version":"3efdd57e637258602a45a542b0eb53b1b0d931c03691787604398e2e4b633f94","impliedFormat":1},{"version":"3eb25af46e0b47686dba73fadfaf1297607e4da05b0ac0d4fcfc357437a11b8d","impliedFormat":1},{"version":"2626191295e946535aa1340d0405f07421e90e524044ec4e68c7384191811032","impliedFormat":1},{"version":"c32dd2bf16415bb4c8fb3a7cb33a2d1a1e7d3cb7ad110964f1cea0306f911ec9","impliedFormat":1},{"version":"e0b49105bc74bd7f3860c8f0e1a93dd21c667ade84ed15b93df87792cc6d0334","impliedFormat":1},{"version":"6f6d82c7cf0508c8066a8c171a4aba640a9f922c5365f718389024f565f4331b","impliedFormat":1},{"version":"80675f72386456cd865632b8f7f71f36a7a3207f4197205e549d8a89f459db35","impliedFormat":1},{"version":"ed89461c5650257cc02930452883f0338bd7f63bdb0ddc174c5ee413fc4111da","impliedFormat":1},{"version":"c96e921f66f1eb9fce4ca8184b6c4c503c2ed23738e1b0706428e70b20881381","impliedFormat":1},{"version":"8ea298eabac55647541abb0afa5e4993e671fbf5eaa850c05f5e90c6e79dd93e","impliedFormat":1},{"version":"9354d3418a24ad28344d97d467fbf28a6f46e301b5529506099def68d61efffa","impliedFormat":1},{"version":"5bc8c3facde7407af505d0ee483ee1f7be49dcc92ab2ec4e4f2d8fb755e5bdf4","impliedFormat":1},{"version":"52676158936a89d504ca54e7abab9992b0737e214f37f8ad3570a9914b55249c","impliedFormat":1},{"version":"f74c2bd970094efeec23b00baf2c3e7b1bc35f91a064f902845925c28dad49a1","impliedFormat":1},{"version":"506dba97b707ef17090334ab8bfd64397c7a4be309298f8ecb963e0561937287","impliedFormat":1},{"version":"e6021d5c52974a40d5ef3130b8de20021a71b6cac11c282aedee88c59d069ef2","impliedFormat":1},{"version":"83dad7e6561c0ce222738bbe3cdb8863e5563c786e89c9a31e40c61a8e863677","signature":"ecb71cc099a940675886aa24052ee589e7e95642a1e3d1633b10d6ad8d873208"},"59ac58e2ecfe64f2857101e911cddbfe20d5e7529fdc0f3898826af2d4c65450","cd69b43e330808888e95565a0dee64738493763d3d1b3647eb1b6df45e3c84e8","5a75ba09ac746f4411c2fdffb5b4962dba932880ead75e0754c67e9091127ea9",{"version":"e967c5a81307f89454607d1ef83e6a5fde5e28746417f5a94bc8125e64f1f522","signature":"78d7ea2f517dca539fc35f0db8e11cde854e259e655e7848ee16d4f7bb3c8402"},"232dab085a6315cac649b82b3bcb7dc8ef43be3aa4616e76fca19a5ac8720653","c6142b86dd1fe86c9ba1ab0ffe4215131191e5146f2eb39670febad6d6c33caa","71f8054b3beb0a74d92a05645a70084626a4a3980793ae321a40479e99e90801",{"version":"95200e98a3a7712c52e9870c0a9c10f251fbbdcc4754fa7bee79d1923500a04e","signature":"47ba833a4fd4e712eb41b1d12a32c8e341b01652e44df31487a0c995614d818e"},"f9cb61a305afc6386b5e60446681cdb3fd52de01622a4ab7a47d08c446484f7d","3245de8915f2ac446a5b4b1f5846f45527f35428ace2c6af2d7a81c1c9a035d0","7eda311fadf91b42698e4bf8d98c86bf9ac02ae37b5db965957388162daabc0a","cdaf38a073de061877d794383ae804aadb9f74133ef455f68015f8f093923736","fd882ce4385ecb78106634ecb1017f1fd0abaed95b8c6cc7880eb023ed8673e9","ae4a0f7df72e0ec3d6e70d0960ccc297acbe02367407e1e7baf7d6b93654cf67","be9e8521a6d1cc0341be3eb9b4cd8981add4ff7b9d14ae84e640e4f3909d709e","cb73351c9dc6063394137f2f5f8e54eb4ee6f60f4c32bb05b2e2ddac7aaec74b","4fe67cf21450fa5a146d803df575a1701df9df02d68c366372581161ad8b3dc7","ddf595d729b48a8d5989c90f46850cdeea473efb76169ad49736864320184e92","9ade4cf02905d4e2c7d24733202b33af88cf8c1eaf72e89079e4d381803f9b30","110ecf3f85bef8b9a953cda8ede7b276019a9a12185cf8ba5789efe54bcd8c24","4f984436b10cfb43ccf7fc3114dcb851cbefa4d58b7d8ae741aaae0f6e330129","f558711ae3bda6288724b32dd2f9a9b1ea6dd38694c954d923078ef289f114f0",{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"4a20a0a39aca8738cc5088f9dea2969bf2af3ca1341c56071f513059b122d150","impliedFormat":1},{"version":"a33c98f95c099c2a9a383b156c8f2a16605843d29455a954c1431bcbbc1ce35a","impliedFormat":1},{"version":"effa1fd4980f6dff4e81ed67009b847d34449087504319f9a0dd081e8cf23a31","impliedFormat":1},{"version":"c2c9f431f788b434e6ae327844ef6712bb6a6a88ad08acf20bf6cfeb41d154ba","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"cb850fef5e66935c65a230a1a0dae219286feb6510a092fecd3cbe1e1eb2b5b1","impliedFormat":1}],"root":[[545,566],[695,717]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[716,1],[546,2],[545,2],[717,3],[547,4],[548,5],[483,2],[617,6],[618,6],[619,7],[620,8],[621,8],[622,9],[629,10],[623,8],[624,8],[625,8],[626,8],[627,7],[643,11],[628,8],[630,12],[616,13],[631,6],[632,8],[633,7],[634,6],[635,7],[636,6],[637,9],[638,6],[639,6],[615,14],[640,15],[641,9],[642,13],[644,16],[652,2],[654,17],[655,17],[656,17],[658,18],[662,8],[663,19],[664,20],[659,21],[665,22],[666,19],[667,23],[670,24],[668,20],[661,20],[669,19],[657,20],[660,25],[672,26],[671,17],[653,27],[648,16],[674,28],[650,29],[651,30],[649,8],[673,31],[685,16],[687,32],[693,33],[690,16],[688,34],[686,34],[691,31],[692,8],[689,34],[607,35],[694,8],[612,36],[613,37],[645,38],[675,39],[647,2],[646,8],[610,40],[609,41],[611,35],[608,35],[684,42],[682,43],[683,31],[676,2],[680,2],[681,44],[677,8],[678,8],[679,8],[370,2],[614,2],[718,2],[719,2],[720,2],[140,45],[141,45],[142,46],[97,47],[143,48],[144,49],[145,50],[92,2],[95,51],[93,2],[94,2],[146,52],[147,53],[148,54],[149,55],[150,56],[151,57],[152,57],[153,58],[154,59],[155,60],[156,61],[98,2],[96,2],[157,62],[158,63],[159,64],[191,65],[160,66],[161,67],[162,68],[163,69],[164,70],[165,71],[166,72],[167,73],[168,74],[169,75],[170,75],[171,76],[172,2],[173,77],[175,78],[174,79],[176,80],[177,81],[178,82],[179,83],[180,84],[181,85],[182,86],[183,87],[184,88],[185,89],[186,90],[187,91],[188,92],[99,2],[100,2],[101,2],[139,93],[189,94],[190,95],[195,96],[392,37],[196,97],[194,98],[394,99],[393,100],[192,101],[457,2],[193,102],[83,2],[85,103],[455,37],[456,37],[722,104],[721,2],[84,2],[580,105],[581,106],[594,2],[597,107],[600,108],[595,2],[598,2],[599,107],[596,109],[606,110],[582,111],[577,112],[568,2],[567,113],[573,114],[570,115],[583,116],[579,117],[571,118],[584,8],[578,119],[585,2],[575,120],[587,121],[588,122],[572,2],[589,123],[590,124],[586,125],[576,126],[591,127],[592,128],[569,129],[593,130],[574,128],[601,2],[602,2],[603,2],[604,131],[605,2],[496,132],[502,1],[509,133],[518,134],[490,135],[246,2],[476,136],[374,137],[377,138],[349,2],[362,139],[369,140],[251,2],[351,2],[252,2],[348,141],[414,142],[475,2],[243,143],[376,144],[378,145],[379,146],[453,147],[343,148],[297,149],[356,150],[357,151],[355,152],[354,2],[350,153],[375,154],[477,155],[418,2],[419,156],[245,157],[478,158],[263,157],[300,157],[221,157],[372,159],[371,2],[361,160],[469,2],[230,2],[508,161],[431,162],[432,163],[428,164],[527,2],[339,2],[433,37],[429,165],[531,166],[530,167],[526,2],[277,2],[342,168],[341,2],[525,169],[430,37],[282,170],[290,171],[292,172],[281,2],[285,173],[289,174],[286,175],[291,176],[288,177],[283,2],[284,178],[528,2],[524,2],[529,2],[280,179],[519,180],[522,181],[270,182],[269,183],[491,2],[268,184],[534,37],[267,185],[257,2],[536,2],[537,37],[538,186],[213,2],[358,187],[359,188],[360,189],[217,2],[363,2],[238,190],[197,2],[445,37],[219,191],[444,192],[443,193],[434,2],[435,2],[442,2],[437,2],[440,194],[436,2],[438,195],[441,196],[439,195],[474,2],[248,2],[249,157],[383,2],[388,197],[391,198],[387,199],[385,200],[390,201],[386,202],[381,2],[451,37],[242,37],[495,185],[503,203],[507,204],[332,205],[317,2],[312,2],[465,206],[198,207],[344,208],[345,209],[395,210],[426,211],[321,2],[450,212],[334,37],[423,213],[422,214],[421,215],[425,216],[326,217],[452,218],[322,2],[325,219],[323,2],[424,220],[447,221],[448,222],[446,2],[449,2],[330,2],[397,223],[396,224],[417,225],[225,226],[333,227],[336,228],[327,229],[331,230],[319,231],[337,232],[222,233],[403,234],[316,235],[223,236],[473,237],[218,238],[398,239],[382,2],[399,240],[488,241],[380,2],[487,242],[91,2],[485,243],[247,2],[420,244],[480,2],[231,2],[234,2],[353,2],[402,245],[250,2],[255,246],[329,247],[261,248],[328,2],[401,2],[384,2],[404,249],[405,250],[352,2],[407,251],[409,252],[408,253],[364,2],[400,236],[411,254],[315,255],[486,256],[489,257],[199,2],[203,2],[202,2],[201,2],[206,2],[200,2],[209,2],[208,2],[205,2],[204,2],[207,2],[210,258],[212,2],[307,259],[306,2],[311,260],[308,261],[310,262],[313,260],[309,261],[239,263],[299,264],[468,265],[466,2],[513,266],[515,267],[461,268],[514,269],[500,2],[226,270],[224,270],[211,2],[241,271],[240,272],[236,273],[237,274],[244,275],[254,275],[264,275],[301,276],[265,276],[228,277],[227,2],[305,278],[304,279],[303,280],[302,281],[229,282],[454,283],[253,284],[460,285],[427,286],[458,287],[459,288],[347,289],[346,290],[340,291],[314,292],[296,293],[298,294],[295,295],[410,296],[470,2],[471,297],[501,2],[235,298],[416,299],[467,300],[338,2],[256,301],[320,302],[318,303],[258,304],[412,305],[462,2],[259,306],[413,306],[498,2],[497,2],[499,2],[464,2],[463,2],[415,307],[335,2],[293,308],[233,309],[271,2],[216,310],[260,2],[505,37],[215,2],[517,311],[279,37],[511,37],[278,312],[493,313],[276,311],[220,2],[520,314],[274,37],[275,37],[266,2],[214,2],[389,2],[273,315],[272,316],[262,317],[324,74],[479,74],[406,2],[482,318],[481,2],[287,179],[232,2],[294,37],[472,190],[494,319],[86,37],[89,320],[90,321],[87,37],[88,2],[373,322],[368,323],[367,2],[366,324],[365,2],[492,325],[504,326],[506,327],[510,328],[512,329],[516,330],[544,134],[521,134],[543,331],[523,332],[532,333],[533,334],[535,335],[539,336],[542,190],[541,2],[540,337],[484,338],[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,339],[127,340],[116,339],[137,341],[108,342],[107,343],[136,337],[130,344],[135,345],[110,346],[124,347],[109,348],[133,349],[105,350],[104,337],[134,351],[106,352],[111,353],[112,2],[115,353],[102,2],[138,354],[128,355],[119,356],[120,357],[122,358],[118,359],[121,360],[131,337],[113,361],[114,362],[123,363],[103,210],[126,355],[125,353],[129,2],[132,364],[559,365],[563,366],[565,367],[566,368],[696,369],[698,370],[697,371],[699,368],[561,372],[701,373],[700,374],[562,366],[702,366],[708,375],[709,375],[703,373],[710,376],[711,366],[712,366],[713,376],[714,376],[715,366],[549,377],[550,377],[551,378],[552,377],[553,379],[558,380],[554,381],[564,382],[560,368],[695,383],[707,384],[704,368],[705,368],[706,368],[556,385],[557,385],[555,382],[725,386],[723,2],[732,387],[731,388],[724,2],[730,389],[727,2],[729,390],[728,2],[726,2]],"affectedFilesPendingEmit":[717,548,559,563,565,566,696,698,697,699,561,701,700,562,702,708,709,703,710,711,712,713,714,715,549,550,551,552,553,558,554,564,560,695,707,704,705,706,556,557,555],"version":"5.9.3"}
\ No newline at end of file
+{"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/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.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/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/server/api-utils/index.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/server/require-hook.d.ts","./node_modules/next/dist/server/node-polyfill-crypto.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/base-http/index.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/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/segment-cache/vary-params-decoding.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/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/webpack/plugins/flight-manifest-plugin.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/build/page-extensions-type.d.ts","./node_modules/next/dist/build/segment-config/app/app-segment-config.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/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/client/components/segment-cache/vary-path.d.ts","./node_modules/next/dist/client/components/segment-cache/cache-map.d.ts","./node_modules/next/dist/client/components/segment-cache/navigation-testing-lock.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.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/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/lazy-result.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/server/after/after-context.d.ts","./node_modules/next/dist/server/app-render/work-async-storage-instance.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/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/shared/lib/request-insights.d.ts","./node_modules/next/dist/next-devtools/shared/request-insights.d.ts","./node_modules/next/dist/next-devtools/dev-overlay/shared.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/app-render/app-render-prerender-utils.d.ts","./node_modules/next/dist/server/app-render/stream-ops.web.d.ts","./node_modules/next/dist/server/app-render/stream-ops.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/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/base-http/node.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/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/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/debug-channel-server.web.d.ts","./node_modules/next/dist/server/app-render/debug-channel-server.node.d.ts","./node_modules/next/dist/server/app-render/debug-channel-server.d.ts","./node_modules/next/dist/server/app-render/instant-validation/instant-validation.d.ts","./node_modules/next/dist/server/app-render/dev-validation-worker-globals.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/postponed-state.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/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/jsx-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/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/server/use-cache/cache-life-profile.d.ts","./node_modules/next/dist/server/use-cache/cache-life.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/lib/page-types.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/shared/lib/router/utils/parse-url.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/@img/colour/index.d.ts","./node_modules/sharp/dist/index.d.mts","./node_modules/next/dist/server/image-optimizer.d.ts","./node_modules/next/dist/server/next-server.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/build/adapter/build-complete.d.ts","./node_modules/next/dist/client/router-transition-types.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/request/io.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/api/image.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.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/types/routes.d.ts","./.next/types/root-params.d.ts","./next-env.d.ts","./next.config.ts","./src/app/api/[...path]/route.ts","./src/app/api/auth/login/route.ts","./src/app/api/auth/logout/route.ts","./src/app/api/auth/me/route.ts","./src/app/api/upload/route.ts","./src/app/uploads/[...path]/route.ts","./src/types/index.ts","./src/lib/api-client.ts","./src/lib/permissions.ts","./src/app/layout.tsx","./src/app/(auth)/login/page.tsx","./src/features/auth/components/authprovider.tsx","./src/app/(dashboard)/layout.tsx","./src/app/(dashboard)/page.tsx","./src/app/(dashboard)/audit/page.tsx","./src/components/ui/rowactions.tsx","./src/app/(dashboard)/brands/page.tsx","./src/app/(dashboard)/categories/page.tsx","./node_modules/lexical/dist/lexicaldomslot.d.ts","./node_modules/lexical/dist/lexicaldequeset.d.ts","./node_modules/lexical/dist/nodes/lexicalrootnode.d.ts","./node_modules/lexical/dist/lexicaleditorstate.d.ts","./node_modules/lexical/dist/lexicalnodestate.d.ts","./node_modules/lexical/dist/lexicalupdatetags.d.ts","./node_modules/lexical/dist/lexicaleditor.d.ts","./node_modules/lexical/dist/nodes/lexicaltextnode.d.ts","./node_modules/lexical/dist/lexicalselection.d.ts","./node_modules/lexical/dist/nodes/lexicalelementnode.d.ts","./node_modules/lexical/dist/lexicalconstants.d.ts","./node_modules/lexical/dist/lexicalreconciler.d.ts","./node_modules/lexical/dist/lexicalnode.d.ts","./node_modules/lexical/dist/caret/lexicalcaret.d.ts","./node_modules/lexical/dist/caret/lexicalcaretutils.d.ts","./node_modules/lexical/dist/lexicalcommands.d.ts","./node_modules/lexical/dist/lexicalevents.d.ts","./node_modules/lexical/dist/lexicalnormalization.d.ts","./node_modules/lexical/dist/lexicalrefcountedregistry.d.ts","./node_modules/lexical/dist/nodes/lexicaldecoratornode.d.ts","./node_modules/lexical/dist/lexicalslot.d.ts","./node_modules/lexical/dist/lexicalupdates.d.ts","./node_modules/lexical/dist/lexicalutils.d.ts","./node_modules/lexical/dist/nodes/artificialnode.d.ts","./node_modules/lexical/dist/nodes/lexicallinebreaknode.d.ts","./node_modules/lexical/dist/nodes/lexicalparagraphnode.d.ts","./node_modules/lexical/dist/nodes/lexicaltabnode.d.ts","./node_modules/lexical/dist/environment.d.ts","./node_modules/lexical/dist/extension-core/internal.d.ts","./node_modules/lexical/dist/extension-core/types.d.ts","./node_modules/lexical/dist/extension-core/defineextension.d.ts","./node_modules/lexical/dist/extension-core/safecast.d.ts","./node_modules/lexical/dist/extension-core/shallowmergeconfig.d.ts","./node_modules/lexical/dist/extension-core/index.d.ts","./node_modules/lexical/dist/utils/classnames.d.ts","./node_modules/lexical/dist/utils/mergeregister.d.ts","./node_modules/lexical/dist/utils/registereventlistener.d.ts","./node_modules/lexical/dist/utils/registereventlisteners.d.ts","./node_modules/lexical/dist/utils/setdomstyle.d.ts","./node_modules/lexical/dist/index.d.ts","./node_modules/@lexical/react/dist/lexicalcomposer.d.ts","./node_modules/@lexical/react/dist/shared/usedecorators.d.ts","./node_modules/@lexical/react/dist/shared/legacydecorators.d.ts","./node_modules/@lexical/react/dist/lexicalrichtextplugin.d.ts","./node_modules/@lexical/react/dist/shared/lexicalcontenteditableelement.d.ts","./node_modules/@lexical/react/dist/lexicalcontenteditable.d.ts","./node_modules/@lexical/react/dist/lexicalerrorboundary.d.ts","./node_modules/@preact/signals-core/dist/signals-core.d.ts","./node_modules/@lexical/extension/dist/signals.d.ts","./node_modules/@lexical/extension/dist/namedsignals.d.ts","./node_modules/@lexical/extension/dist/autofocusextension.d.ts","./node_modules/@lexical/extension/dist/cleareditorextension.d.ts","./node_modules/@lexical/extension/dist/clickafterlastblockextension.d.ts","./node_modules/@lexical/extension/dist/config.d.ts","./node_modules/@lexical/extension/dist/decoratortextextension.d.ts","./node_modules/@lexical/extension/dist/editorstateextension.d.ts","./node_modules/@lexical/extension/dist/getextensiondependency.d.ts","./node_modules/@lexical/extension/dist/getextensiondependencyfromeditor.d.ts","./node_modules/@lexical/extension/dist/getpeerdependencyfromeditor.d.ts","./node_modules/@lexical/extension/dist/horizontalruleextension.d.ts","./node_modules/@lexical/extension/dist/imeextension.d.ts","./node_modules/@lexical/extension/dist/initialstateextension.d.ts","./node_modules/@lexical/extension/dist/extensionrep.d.ts","./node_modules/@lexical/extension/dist/lexicalbuilder.d.ts","./node_modules/@lexical/extension/dist/nestededitorextension.d.ts","./node_modules/@lexical/extension/dist/nodeselectiondataselectedextension.d.ts","./node_modules/@lexical/extension/dist/nodeselectionextension.d.ts","./node_modules/@lexical/extension/dist/normalizeinlineelementsextension.d.ts","./node_modules/@lexical/extension/dist/normalizetripleclickselectionextension.d.ts","./node_modules/@lexical/extension/dist/preventselectallextension.d.ts","./node_modules/@lexical/extension/dist/rootelementextension.d.ts","./node_modules/@lexical/extension/dist/selectblockextension.d.ts","./node_modules/@lexical/extension/dist/selectionalwaysondisplayextension.d.ts","./node_modules/@lexical/extension/dist/tabindentationextension.d.ts","./node_modules/@lexical/extension/dist/watcheditableextension.d.ts","./node_modules/@lexical/extension/dist/watchedsignal.d.ts","./node_modules/@lexical/extension/dist/index.d.ts","./node_modules/@lexical/history/dist/index.d.ts","./node_modules/@lexical/react/dist/lexicalhistoryplugin.d.ts","./node_modules/@lexical/react/dist/lexicalonchangeplugin.d.ts","./node_modules/@lexical/react/dist/lexicallistplugin.d.ts","./node_modules/@lexical/link/dist/clickablelinkextension.d.ts","./node_modules/@lexical/link/dist/lexicallinknode.d.ts","./node_modules/@lexical/link/dist/lexicalautolinkextension.d.ts","./node_modules/@lexical/link/dist/lexicallinkextension.d.ts","./node_modules/@lexical/html/dist/constants.d.ts","./node_modules/@lexical/html/dist/types.d.ts","./node_modules/@lexical/html/dist/contextrecord.d.ts","./node_modules/@lexical/html/dist/domoverride.d.ts","./node_modules/@lexical/html/dist/domrenderextension.d.ts","./node_modules/@lexical/html/dist/import/sel.d.ts","./node_modules/@lexical/html/dist/import/compileimportrules.d.ts","./node_modules/@lexical/html/dist/import/defineoverlayrules.d.ts","./node_modules/@lexical/html/dist/import/types.d.ts","./node_modules/@lexical/html/dist/import/parsecss.d.ts","./node_modules/@lexical/html/dist/import/coreimportextension.d.ts","./node_modules/@lexical/html/dist/import/coreimportrules.d.ts","./node_modules/@lexical/html/dist/import/defineimportrule.d.ts","./node_modules/@lexical/html/dist/import/domimportextension.d.ts","./node_modules/@lexical/html/dist/import/horizontalruleimportextension.d.ts","./node_modules/@lexical/html/dist/import/importcontext.d.ts","./node_modules/@lexical/html/dist/import/inlinestylesfromstylesheets.d.ts","./node_modules/@lexical/html/dist/import/schemas.d.ts","./node_modules/@lexical/html/dist/import/index.d.ts","./node_modules/@lexical/html/dist/rendercontext.d.ts","./node_modules/@lexical/html/dist/index.d.ts","./node_modules/@lexical/link/dist/linkimportextension.d.ts","./node_modules/@lexical/link/dist/index.d.ts","./node_modules/@lexical/react/dist/lexicallinkplugin.d.ts","./node_modules/@lexical/utils/dist/dedupeselectionrects.d.ts","./node_modules/@lexical/utils/dist/markselection.d.ts","./node_modules/@lexical/utils/dist/positionnodeonrange.d.ts","./node_modules/@lexical/utils/dist/selectionalwaysondisplay.d.ts","./node_modules/@lexical/utils/dist/getscrollparent.d.ts","./node_modules/@lexical/utils/dist/index.d.ts","./node_modules/@lexical/rich-text/dist/lexicalrichtextextension.d.ts","./node_modules/@lexical/rich-text/dist/richtextimportextension.d.ts","./node_modules/@lexical/rich-text/dist/index.d.ts","./node_modules/@lexical/list/dist/checklist.d.ts","./node_modules/@lexical/list/dist/lexicallistnode.d.ts","./node_modules/@lexical/list/dist/formatlist.d.ts","./node_modules/@lexical/list/dist/lexicallistitemnode.d.ts","./node_modules/@lexical/list/dist/utils.d.ts","./node_modules/@lexical/list/dist/lexicallistextension.d.ts","./node_modules/@lexical/list/dist/listimportextension.d.ts","./node_modules/@lexical/list/dist/registerlist.d.ts","./node_modules/@lexical/list/dist/index.d.ts","./node_modules/@lexical/react/dist/lexicalcomposercontext.d.ts","./src/features/cms/components/lexicaleditor.tsx","./src/app/(dashboard)/cms/page.tsx","./src/app/(dashboard)/customers/page.tsx","./src/app/(dashboard)/customers/[id]/page.tsx","./src/app/(dashboard)/inventory/page.tsx","./src/components/serverlogviewer.tsx","./src/app/(dashboard)/logs/page.tsx","./src/app/(dashboard)/orders/page.tsx","./src/app/(dashboard)/orders/[id]/page.tsx","./src/app/(dashboard)/payments/page.tsx","./src/app/(dashboard)/products/page.tsx","./src/features/products/components/sections/imagessection.tsx","./src/features/products/components/sections/inventorysection.tsx","./src/features/products/components/sections/pricingsection.tsx","./src/features/products/components/producteditor.tsx","./src/app/(dashboard)/products/[id]/page.tsx","./src/app/(dashboard)/products/new/page.tsx","./src/app/(dashboard)/promotions/page.tsx","./src/app/(dashboard)/reviews/page.tsx","./src/app/(dashboard)/settings/page.tsx","./src/app/(dashboard)/shipping/page.tsx","./src/app/(dashboard)/tax-rates/page.tsx","./src/app/(dashboard)/users/page.tsx","./.next/types/cache-life.d.ts","./.next/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","./node_modules/@types/trusted-types/lib/index.d.ts","./node_modules/@types/trusted-types/index.d.ts","../../node_modules/@types/deep-eql/index.d.ts","../../node_modules/assertion-error/index.d.ts","../../node_modules/@types/chai/index.d.ts","../../node_modules/pg-types/index.d.ts","../../node_modules/pg-protocol/dist/messages.d.ts","../../node_modules/pg-protocol/dist/serializer.d.ts","../../node_modules/pg-protocol/dist/parser.d.ts","../../node_modules/pg-protocol/dist/index.d.ts","../../node_modules/@types/pg/lib/type-overrides.d.ts","../../node_modules/@types/pg/index.d.ts"],"fileIdsList":[[97,143,497,498,499,500,501],[97,143],[97,143,456,539,542,545,549,550,551,552,553,554,558,559,561,562,563,565,566,696,697,698,699,702,703,704,705,710,711,712,713,714,715,716,717],[97,143,543,544,545,546],[97,143,456,543],[97,143,606,616],[97,143,606,615],[97,143,606],[97,143,606,614],[97,143,606,630],[97,143,606,615,616,617,618,619,620,621,622,623,624,625,626,627,628,630,631,632,633,634,635,636,637,638,639,640,641,642],[97,143,606,629],[97,143,615],[97,143,614],[97,143,606,615,616],[97,143,606,643],[97,143,606,653],[97,143,657,660],[97,143,606,660],[97,143,660],[97,143,658,660],[97,143,606,659,660],[97,143,606,652,653,659,660],[97,143,657,659,660,661,662,663,664,665,666,667,668,669],[97,143,606,652,653,659],[97,143,606,653,654,655,656,670,671],[97,143,606,652],[97,143,648,649,650,651,673],[97,143,606,649],[97,143,606,643,649],[97,143,672],[97,143,686,693],[97,143,685,686,687,688,689,690,691,692],[97,143,606,693],[85,97,143,606],[85,97,143,611],[85,97,143],[97,143,644],[97,143,674],[85,97,143,609],[85,97,143,606,608],[97,143,606,643,681,682,683],[97,143,606,643,684],[97,143,606,676,677,678,679,680],[97,140,143],[97,142,143],[143],[97,143,148,176],[97,143,144,149,154,162,173,184],[97,143,144,145,154,162],[92,93,94,97,143],[97,143,146,185],[97,143,147,148,155,163],[97,143,148,173,181],[97,143,149,151,154,162],[97,142,143,150],[97,143,151,152],[97,143,153,154],[97,142,143,154],[97,143,154,155,156,173,184],[97,143,154,155,156,169,173,176],[97,143,151,154,157,162,173,184],[97,143,154,155,157,158,162,173,181,184],[97,143,157,159,173,181,184],[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],[97,143,154,160],[97,143,161,184,189],[97,143,151,154,162,173],[97,143,163],[97,143,164],[97,142,143,165],[97,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],[97,143,167],[97,143,168],[97,143,154,169,170],[97,143,169,171,185,187],[97,143,154,173,174,176],[97,143,175,176],[97,143,173,174],[97,143,176],[97,143,177],[97,140,143,173,178],[97,143,154,179,180],[97,143,179,180],[97,143,148,162,173,181],[97,143,182],[97,143,162,183],[97,143,157,168,184],[97,143,148,185],[97,143,173,186],[97,143,161,187],[97,143,188],[97,138,143],[97,138,143,154,156,165,173,176,184,187,189],[97,143,173,190],[85,89,97,143,192,193,194,195,196,492,538],[85,89,97,143,192,193,194,195,392,492,538],[85,89,97,143,192,193,195,196,492,538],[85,97,143,196,392,393],[85,97,143,196,392],[85,89,97,143,193,194,195,196,492,538],[85,89,97,143,192,194,195,196,492,538],[83,84,97,143],[97,143,723],[97,143,574,576,579],[97,143,574,575,576,579,580],[97,143,596],[97,143,595,596,597,598,599],[97,143,595,606],[97,143,567,569,570,571,572,573,574,575,576,577,579,580,581,582,583,584,585,586,587,588,589,590,591,592,593,594,600,601,602,603,604,605],[97,143,573,574,575,576,579],[97,143,574,576],[97,143,576,579],[97,143,567,568,570,571,572,576,579,606],[97,143,569,573,575,579],[97,143,573,579],[97,143,567,571,573,575,577,578,606],[97,143,577,579,606],[97,143,570,573,576,579],[97,143,570,573,574,576,579,606],[97,143,573,576,579,586],[97,143,570,573,579],[97,143,567,569,570,573,574,575,579,606],[97,143,576,606],[97,143,573,576,579,606],[97,143,567,575,579,606],[97,143,573,579,606],[97,143,573,575,576,579,606],[97,143,576,579,606],[97,143,573,574,579,606],[97,143,603],[97,143,495],[97,143,428,507,508],[97,143,520],[97,143,216,217,219,231,351,362,473,478],[97,143,219,252,473,474,475,477],[97,143,198,219,368,370,372,373,375,473],[97,143,219,271,473,476],[97,143,198,217,219,230,231,238,243,249,350,351,352,361,473],[97,143,473],[97,143,226,233,252,253,347],[97,143,219],[97,143,197,226,233],[97,143,379],[97,143,376,377,379],[97,143,376,378,473],[97,143,157,452,460,468],[97,143,157,331,336,339,347,468],[97,143,157,296,468],[97,143,355],[97,143,354,355,356],[97,143,354],[91,97,143,157,197,210,211,219,231,238,243,250,251,252,348,349,362,473,478,492],[97,143,216,219,271,368,369,374,473,476,541],[97,143,476,541],[97,143,216,251,418,473,541],[97,143,541],[97,143,219,476,477,541],[97,143,371,541],[97,143,211,350,353,360],[85,97,143,428],[85,97,143,168,226],[85,97,143,226],[85,97,143,293],[85,97,143,233,428],[97,143,226,278,293,294,524,530],[97,143,277,525,526,527,528,529],[97,143,341],[97,143,341,342],[97,143,230,233,280,281],[97,143,233,284,285,289],[97,143,233,282,290,291],[97,143,284],[97,143,232,233,280,281,282,283,284,285,287,288,291],[97,143,233,283,285,289],[97,143,233,280,284,285,289,290,292],[97,143,233,281,283,285,286,287,289],[97,143,281,283,285,289],[97,143,233],[85,97,143,220,517,518],[85,97,143,184],[85,97,143,269,476],[85,97,143,362,476],[97,143,267,272],[85,97,143,268,494],[85,89,97,143,157,192,193,194,195,196,492,537],[97,143,157,233],[97,143,157,217,222,231,237,299,316,357,358,362,411,417,473],[97,143,210,359],[97,143,492],[97,143,218],[85,97,143,224,226,420,441,443],[97,143,168,226,420,440,441,442,540],[97,143,434,435,436,437,438,439],[97,143,436],[97,143,440],[85,97,143,386,387,391],[85,97,143,233,380,381,382,383,388,390],[97,143,386,388],[97,143,384],[97,143,389],[97,143,385],[85,97,143,493,494],[85,97,143,494],[97,143,316,317,331],[97,143,317],[97,143,157,494],[97,143,345],[97,142,143,344],[97,143,173],[97,143,222,226,233,239,241,324,329,331,336,397,417,420,424,425,460,461,468],[97,143,232,233,245,287],[97,143,421,422],[97,143,173,421],[97,143,395],[97,143,220,226,424,426,461,468,473],[97,143,322,325,331,336],[85,97,143,173,224,226,339,379,424,429,430,431,432,433,444,445,446,447,448,449,450,451,541],[97,143,224,226,252,318,319,320,323,324,336],[97,143,173,233,252,322,330,397,420,423,426,468],[97,143,226,237,393,461],[97,143,326],[97,143,393,396],[97,143,393,394,395,541],[97,143,157,168,198,220,222,233,237,247,260,261,263,316,383,397,411,416,460,473,492,541],[97,143,224,226],[97,143,336],[97,142,143,222,235,252,260,261,328,332,333,334,335,473],[97,143,331],[97,142,143,225,226,237,241,258,318,319,320,321,322,325,326,327,329,330,336,461],[97,143,157,198,258,318],[97,143,222,252,261,316,336,417,473],[97,143,157,198,473],[97,143,157,173,198,222,468],[97,143,157,168,197,198,222,226,231,239,241,243,245,247,255,260,261,262,263,299,300,302,305,307,310,311,312,313,315,362,411,417,468,473,476],[97,143,157,173],[97,143,219,220,221,250,379,468,469,471,472,492,494,541],[97,143,216,217,473],[97,143,397,399],[97,143,157,173,184,228,375,379,380,381,382,383,390,391,397,398,541],[97,143,168,184,197,226,228,241,243,261,300,305,315,316,368,402,403,411,415,417,468,473,479,486,487],[97,143,210,211,243,250,261,473],[97,143,157,220,231,241,261,468,473,484],[97,143,419],[97,143,157,399,400,401,408],[97,143,468,473],[97,143,328,461],[97,143,241,260,362,494],[97,143,157,168,218,305,364,368,402,403,468,486,489],[97,143,157,210,211,368,404],[97,143,198,219,262,362,406,473],[97,143,157,184,383,397,473],[97,143,157,262,362,363,364,373,399,405,407,473,476],[91,97,143,157,245,260,410,492,494],[97,143,314,411],[97,143,157,168,210,211,226,229,231,233,239,241,247,261,263,300,302,312,315,316,362,403,411,415,417,468,478,479,480,482,485,494],[97,143,157,173,211,408,468,486,488],[97,143,200,201,202,203,204,205,206,207,208,209],[97,143,255,306],[97,143,308],[97,143,306],[97,143,308,309],[97,143,157,173,222,230,231,233,237,238],[97,143,157,168,198,218,220,239,242,245,260,263,298,411,468,492,494],[97,143,157,168,184,222,223,229,230,241,242,261,409,461,467],[97,143,318],[97,143,319],[97,143,233,243,460],[97,143,320],[97,143,225],[97,143,227,240],[97,143,157,227,231,239],[97,143,235,240],[97,143,236],[97,143,227,228],[97,143,227,264],[97,143,227],[97,143,229,255,304],[97,143,303],[97,143,226,228,229],[97,143,229,301],[97,143,226,228],[97,143,260,362],[97,143,460],[97,143,157,184,222,239,241,244,260,362,410,417,420,425,426,427,453,454,458,459,461,468],[97,143,273,276,278,279,293,294],[85,97,143,194,195,196,455,456,457],[85,97,143,194,195,196,394,455,456,457],[97,143,346],[97,143,198,252,254,259,260,331,336,337,338,339,340,342,343,345,348,410,417,473],[97,143,293],[97,143,157,298,468],[97,143,298],[97,143,157,239,265,295,297,299,410,468,492,494],[97,143,273,274,275,276,278,279,293,294,493],[91,97,143,157,168,184,222,227,228,241,247,260,261,263,362,408,409,411,468,473,492],[97,143,470],[97,143,224,226,234],[97,143,259,261,412,415],[97,143,259,413,462,463,464,465,466],[97,143,157,255,473],[97,143,157],[97,143,258,331],[97,143,257],[97,143,259,312],[97,143,256,258,473],[97,143,157,222,223,259,412,413,414,468,473],[85,97,143,226,233,292],[85,97,143,232],[97,143,214,215],[85,97,143,220],[85,97,143,226,277],[85,91,97,143,260,263,492,494],[97,143,220,517,519],[85,97,143,272],[85,97,143,168,184,218,266,268,270,271,494],[97,143,222,226,476],[97,143,226,481],[85,97,143,155,157,168,216,218,272,370,492,493],[85,97,143,192,193,194,195,196,492,538],[85,86,87,88,89,97,143],[97,143,148],[97,143,365,366,367],[97,143,365],[85,89,97,143,157,159,168,191,192,193,194,195,196,197,198,218,247,252,440,489,490,491,494,538],[97,143,503],[97,143,505],[97,143,509],[97,143,511],[97,143,513,514,515],[90,97,143,496,502,504,506,510,512,516,521,523,532,533,535,539,540,541,542],[97,143,522],[97,143,531],[97,143,268],[97,143,534],[97,142,143,259,412,413,415,462,463,465,466,536,538],[97,143,191],[97,143,173,191,483],[97,110,114,143,184],[97,110,143,173,184],[97,105,143],[97,107,110,143,181,184],[97,143,162,181],[97,105,143,191],[97,107,110,143,162,184],[97,102,103,106,109,143,154,173,184],[97,110,117,143],[97,102,108,143],[97,110,131,132,143],[97,106,110,143,176,184,191],[97,131,143,191],[97,104,105,143,191],[97,110,143],[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,143],[97,110,125,143],[97,110,117,118,143],[97,108,110,118,119,143],[97,109,143],[97,102,105,110,143],[97,110,114,118,119,143],[97,114,143],[97,108,110,113,143,184],[97,102,107,110,117,143],[97,105,110,131,143,189,191],[85,97,143,456,532],[85,97,143,456,556],[85,97,143,456,555,556,564],[85,97,143,456,555,556],[85,97,143,456,556,695],[85,97,143,456,532,555,556],[85,97,143,456,532,555,556,564],[85,97,143,456,523,532,555,557,560],[97,143,456,700],[85,97,143,456,523,532,555,556],[85,97,143,456,523,555,556],[97,143,456,709],[85,97,143,456,556,564],[97,143,456,539],[97,143,456,516,539],[97,143,148,156,164,456,484,539],[97,143,456,540,543],[97,143,156,164,456,484],[85,97,143,456],[97,143,456],[85,97,143,456,606,607,610,612,613,645,646,647,672,674,675,684,693,694],[85,97,143,456,532,555,556,695,706,707,708],[97,143,456,555],[97,143,725,726],[97,143,154,173,181,191,728,729,732,733,734],[97,143,734],[97,143,729,730,731],[97,143,173,729]],"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":"68d7453aee169c6f39bf6a87d2a07e21209dfe085ce8469b7331bc7f8f0545eb","impliedFormat":1},{"version":"70521b6ab0dcba37539e5303104f29b721bfb2940b2776da4cc818c07e1fefc1","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab41ef1f2cdafb8df48be20cd969d875602483859dc194e9c97c8a576892c052","affectsGlobalScope":true,"impliedFormat":1},{"version":"d153a11543fd884b596587ccd97aebbeed950b26933ee000f94009f1ab142848","affectsGlobalScope":true,"impliedFormat":1},{"version":"21d819c173c0cf7cc3ce57c3276e77fd9a8a01d35a06ad87158781515c9a438a","impliedFormat":1},{"version":"98cffbf06d6bab333473c70a893770dbe990783904002c4f1a960447b4b53dca","affectsGlobalScope":true,"impliedFormat":1},{"version":"ba481bca06f37d3f2c137ce343c7d5937029b2468f8e26111f3c9d9963d6568d","affectsGlobalScope":true,"impliedFormat":1},{"version":"6d9ef24f9a22a88e3e9b3b3d8c40ab1ddb0853f1bfbd5c843c37800138437b61","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":"e2677634fe27e87348825bb041651e22d50a613e2fdf6a4a3ade971d71bac37e","impliedFormat":1},{"version":"7394959e5a741b185456e1ef5d64599c36c60a323207450991e7a42e08911419","impliedFormat":1},{"version":"8c0bcd6c6b67b4b503c11e91a1fb91522ed585900eab2ab1f61bba7d7caa9d6f","impliedFormat":1},{"version":"8cd19276b6590b3ebbeeb030ac271871b9ed0afc3074ac88a94ed2449174b776","affectsGlobalScope":true,"impliedFormat":1},{"version":"696eb8d28f5949b87d894b26dc97318ef944c794a9a4e4f62360cd1d1958014b","impliedFormat":1},{"version":"3f8fa3061bd7402970b399300880d55257953ee6d3cd408722cb9ac20126460c","impliedFormat":1},{"version":"35ec8b6760fd7138bbf5809b84551e31028fb2ba7b6dc91d95d098bf212ca8b4","affectsGlobalScope":true,"impliedFormat":1},{"version":"5524481e56c48ff486f42926778c0a3cce1cc85dc46683b92b1271865bcf015a","impliedFormat":1},{"version":"68bd56c92c2bd7d2339457eb84d63e7de3bd56a69b25f3576e1568d21a162398","affectsGlobalScope":true,"impliedFormat":1},{"version":"3e93b123f7c2944969d291b35fed2af79a6e9e27fdd5faa99748a51c07c02d28","impliedFormat":1},{"version":"9d19808c8c291a9010a6c788e8532a2da70f811adb431c97520803e0ec649991","impliedFormat":1},{"version":"87aad3dd9752067dc875cfaa466fc44246451c0c560b820796bdd528e29bef40","impliedFormat":1},{"version":"4aacb0dd020eeaef65426153686cc639a78ec2885dc72ad220be1d25f1a439df","impliedFormat":1},{"version":"f0bd7e6d931657b59605c44112eaf8b980ba7f957a5051ed21cb93d978cf2f45","impliedFormat":1},{"version":"8db0ae9cb14d9955b14c214f34dae1b9ef2baee2fe4ce794a4cd3ac2531e3255","affectsGlobalScope":true,"impliedFormat":1},{"version":"15fc6f7512c86810273af28f224251a5a879e4261b4d4c7e532abfbfc3983134","impliedFormat":1},{"version":"58adba1a8ab2d10b54dc1dced4e41f4e7c9772cbbac40939c0dc8ce2cdb1d442","impliedFormat":1},{"version":"641942a78f9063caa5d6b777c99304b7d1dc7328076038c6d94d8a0b81fc95c1","impliedFormat":1},{"version":"1123a83f35cf56c97de746f0a7250012153c61a167e4a61668bf50e558162d14","impliedFormat":1},{"version":"855cd5f7eb396f5f1ab1bc0f8580339bff77b68a770f84c6b254e319bbfd1ac7","impliedFormat":1},{"version":"5650cf3dace09e7c25d384e3e6b818b938f68f4e8de96f52d9c5a1b3db068e86","impliedFormat":1},{"version":"1354ca5c38bd3fd3836a68e0f7c9f91f172582ba30ab15bb8c075891b91502b7","affectsGlobalScope":true,"impliedFormat":1},{"version":"7e20d899c28ca26a2a7afc98beaa69e63ff7fba0a8bc47b4e3bf3ede5e09e424","impliedFormat":1},{"version":"2d2fcaab481b31a5882065c7951255703ddbe1c0e507af56ea42d79ac3911201","impliedFormat":1},{"version":"a192fe8ec33f75edbc8d8f3ed79f768dfae11ff5735e7fe52bfa69956e46d78d","impliedFormat":1},{"version":"ca867399f7db82df981d6915bcbb2d81131d7d1ef683bc782b59f71dda59bc85","affectsGlobalScope":true,"impliedFormat":1},{"version":"372413016d17d804e1d139418aca0c68e47a83fb6669490857f4b318de8cccb3","affectsGlobalScope":true,"impliedFormat":1},{"version":"9e043a1bc8fbf2a255bccf9bf27e0f1caf916c3b0518ea34aa72357c0afd42ec","impliedFormat":1},{"version":"b4f70ec656a11d570e1a9edce07d118cd58d9760239e2ece99306ee9dfe61d02","impliedFormat":1},{"version":"3bc2f1e2c95c04048212c569ed38e338873f6a8593930cf5a7ef24ffb38fc3b6","impliedFormat":1},{"version":"6e70e9570e98aae2b825b533aa6292b6abd542e8d9f6e9475e88e1d7ba17c866","impliedFormat":1},{"version":"f9d9d753d430ed050dc1bf2667a1bab711ccbb1c1507183d794cc195a5b085cc","impliedFormat":1},{"version":"9eece5e586312581ccd106d4853e861aaaa1a39f8e3ea672b8c3847eedd12f6e","impliedFormat":1},{"version":"085f552d005479e2e6a7311cdbbe5d8c55c497b4d19274285df161ee9684cd9c","impliedFormat":1},{"version":"37ba7b45141a45ce6e80e66f2a96c8a5ab1bcef0fc2d0f56bb58df96ec67e972","impliedFormat":1},{"version":"45650f47bfb376c8a8ed39d4bcda5902ab899a3150029684ee4c10676d9fbaee","impliedFormat":1},{"version":"007faacc9268357caa21d24169f3f3f2497af3e9241308df2d89f6e6d9bb3f2e","affectsGlobalScope":true,"impliedFormat":1},{"version":"74cf591a0f63db318651e0e04cb55f8791385f86e987a67fd4d2eaab8191f730","impliedFormat":1},{"version":"5eab9b3dc9b34f185417342436ec3f106898da5f4801992d8ff38ab3aff346b5","impliedFormat":1},{"version":"12ed4559eba17cd977aa0db658d25c4047067444b51acfdcbf38470630642b23","affectsGlobalScope":true,"impliedFormat":1},{"version":"f3ffabc95802521e1e4bcba4c88d8615176dc6e09111d920c7a213bdda6e1d65","impliedFormat":1},{"version":"809821b8a065e3234a55b3a9d7846231ed18d66dd749f2494c66288d890daf7f","impliedFormat":1},{"version":"ae56f65caf3be91108707bd8dfbccc2a57a91feb5daabf7165a06a945545ed26","impliedFormat":1},{"version":"a136d5de521da20f31631a0a96bf712370779d1c05b7015d7019a9b2a0446ca9","impliedFormat":1},{"version":"c3b41e74b9a84b88b1dca61ec39eee25c0dbc8e7d519ba11bb070918cfacf656","affectsGlobalScope":true,"impliedFormat":1},{"version":"4737a9dc24d0e68b734e6cfbcea0c15a2cfafeb493485e27905f7856988c6b29","affectsGlobalScope":true,"impliedFormat":1},{"version":"36d8d3e7506b631c9582c251a2c0b8a28855af3f76719b12b534c6edf952748d","impliedFormat":1},{"version":"1ca69210cc42729e7ca97d3a9ad48f2e9cb0042bada4075b588ae5387debd318","impliedFormat":1},{"version":"f5ebe66baaf7c552cfa59d75f2bfba679f329204847db3cec385acda245e574e","impliedFormat":1},{"version":"ed59add13139f84da271cafd32e2171876b0a0af2f798d0c663e8eeb867732cf","affectsGlobalScope":true,"impliedFormat":1},{"version":"b7c5e2ea4a9749097c347454805e933844ed207b6eefec6b7cfd418b5f5f7b28","impliedFormat":1},{"version":"b1810689b76fd473bd12cc9ee219f8e62f54a7d08019a235d07424afbf074d25","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":"9222cd69f4ea6f0aadc222f649b08830757a081a0f170bf3e392fafb90ce6888","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":"6c301d40aec56a74ec7bd7324e31a728dadf9bfba3e96def02938d3d973534ec","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"db6d2d9daad8a6d83f281af12ce4355a20b9a3e71b82b9f57cddcca0a8964a96","impliedFormat":1},{"version":"446a50749b24d14deac6f8843e057a6355dd6437d1fac4f9e5ce4a5071f34bff","impliedFormat":1},{"version":"182e9fcbe08ac7c012e0a6e2b5798b4352470be29a64fdc114d23c2bab7d5106","impliedFormat":1},{"version":"a7fa84b28bea56e199ea2d937ed3743645d969d520f7e937cf4b09d818ffa7e6","impliedFormat":1},{"version":"260e85ffab04d2d16cbaf3899fcb0cfdfa696cb99948d7b703fb28af9ff383fb","impliedFormat":1},{"version":"fbf9959ac279b397cdcd47b6155c32ace1e33ea148c6c1b87815225cb919685f","impliedFormat":1},{"version":"fd4e24ccff3966390600d7f5d6aa1fed5a512e92ada735ea5fbc933d313ad3d3","impliedFormat":1},{"version":"b7cddfe1aa6b86b5fad3c9ccb30d05b3ccb165aebbf112f48d2d8a5f69dd98b1","impliedFormat":1},{"version":"a86f82d646a739041d6702101afa82dcb935c416dd93cbca7fd754fd0282ce1f","impliedFormat":1},{"version":"35e6379c3f7cb27b111ad4c1aa69538fd8e788ab737b8ff7596a1b40e96f4f90","impliedFormat":1},{"version":"8353adc36468bb55b52ac03d199285bd57fe5cc6530a0ab3ec0156f6459a2e9e","impliedFormat":1},{"version":"6820bbf8a6224854ee584c7524679a3fbd37aff253910b3eb589293f8d1dcd71","impliedFormat":1},{"version":"6dcbc15455c4fcb581da53e9143ebec5c73dc60c881dc6d0255b26180682bea0","impliedFormat":1},{"version":"ab2acae979239e320dce1c8288d717113dd3155a4a5639c07082b4aa9adb7ca7","impliedFormat":1},{"version":"3e7efde639c6a6c3edb9847b3f61e308bf7a69685b92f665048c45132f51c218","impliedFormat":1},{"version":"df45ca1176e6ac211eae7ddf51336dc075c5314bc5c253651bae639defd5eec5","impliedFormat":1},{"version":"8a0e762ceb20c7e72504feef83d709468a70af4abccb304f32d6b9bac1129b2c","impliedFormat":1},{"version":"f6e0694f98a39a8fcc85e98c3f9ecea676cd784b96bfecbf9be7670df6df7775","impliedFormat":1},{"version":"ce75b1aebb33d510ff28af960a9221410a3eaf7f18fc5f21f9404075fba77256","impliedFormat":1},{"version":"d357f3dda6eeae33718e68567bb5d7654984c343f6a3086c19e853fc03b433bc","impliedFormat":1},{"version":"54a749a0a6b2a82499390d3deee0f52f5b1d1da118fda8e52a28cf87cdd158ce","impliedFormat":1},{"version":"ee8df1cb8d0faaca4013a1b442e99130769ce06f438d18d510fed95890067563","impliedFormat":1},{"version":"16e4d5ea9246286cd59579c7949a1c7f84e036c85f49e527002b8e458844cea8","impliedFormat":1},{"version":"bd9809e72e9a7a5760e91b49f976667d3ff9fb19d517cacf4e8339c628f5ad7f","impliedFormat":1},{"version":"54d63313c49d96380bed92e595e3befe179e4076085eb4f21459446148b75ade","impliedFormat":1},{"version":"e4cbf2f1e89ecccaddd2c045e600ae41b732295953fb06247c7dcbc2d281ed30","impliedFormat":1},{"version":"be7a66c05d3bc06fd639ba98316086470616858c0e4c04325fffe4f529662c36","impliedFormat":1},{"version":"8c1697d90c394a6fd955b98eae01238eff628e129b987a68aea10f898a48e7da","impliedFormat":1},{"version":"b2f4d55a673acbd87c62494b0916dfbb09f8081ad290bf11be707dfbdf30e4f6","impliedFormat":1},{"version":"a49e1f0fe346d8302d5f0a7c13f70badb03afca56b6f44b4ad7fdfd89364a9dd","impliedFormat":1},{"version":"d10d63718e1646c2279e3b33831f82c60e31f622b2b7020f1196409ca4c09242","impliedFormat":1},{"version":"106c6025f1d99fd468fd8bf6e5bda724e11e5905a4076c5d29790b6c3745e50c","impliedFormat":1},{"version":"a365c4d3bed3be4e4e20793c999c51f5cd7e6792322f14650949d827fbcd170f","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"148679c6d0f449210a96e7d2e562d589e56fcde87f843a92808b3ff103f1a774","impliedFormat":1},{"version":"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855","impliedFormat":1},{"version":"02436d7e9ead85e09a2f8e27d5f47d9464bced31738dec138ca735390815c9f0","impliedFormat":1},{"version":"f8d5ff8eafd37499f2b6a98659dd9b45a321de186b8db6b6142faed0fea3de77","impliedFormat":1},{"version":"b620391fe8060cf9bedc176a4d01366e6574d7a71e0ac0ab344a4e76576fcbb8","impliedFormat":1},{"version":"7deaed322f7c34cebdd096b779fb81676f3303044ac2c6563574fe7178db8765","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":"c5426dbfc1cf90532f66965a7aa8c1136a78d4d0f96d8180ecbfc11d7722f1a5","impliedFormat":1},{"version":"65a15fc47900787c0bd18b603afb98d33ede930bed1798fc984d5ebb78b26cf9","impliedFormat":1},{"version":"9d202701f6e0744adb6314d03d2eb8fc994798fc83d91b691b75b07626a69801","impliedFormat":1},{"version":"de9d2df7663e64e3a91bf495f315a7577e23ba088f2949d5ce9ec96f44fba37d","impliedFormat":1},{"version":"c7af78a2ea7cb1cd009cfb5bdb48cd0b03dad3b54f6da7aab615c2e9e9d570c5","impliedFormat":1},{"version":"1ee45496b5f8bdee6f7abc233355898e5bf9bd51255db65f5ff7ede617ca0027","impliedFormat":1},{"version":"2352f74bc51c0e2c36f3fe406986dd4d0b1385faae349507403517d75bc2be8f","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":"67c2f945a841d2d15e96ee2b24841c38c7699d71bd33d6ae4bbe6eb0f3017dce","impliedFormat":1},{"version":"115457fedf74d22765b39e3edec4bc292ddd3c5f5457bf26a03d2f13a60a3ee0","impliedFormat":1},{"version":"036c8aa095343338b51d319022cdcbe38f0af122623f78aad845237036c4bae8","impliedFormat":1},{"version":"5245b69dc79a7479e5ab458e48d8736acde868efe7fb77adf283c6a738fdf614","impliedFormat":1},{"version":"61265d88af5048c8ce9298b6443d59d9d8a2a1ff603114f0f9d87d9e75deaa1d","impliedFormat":1},{"version":"9dc6783d6463734d933bf58644dcf6cc535db0b148bbe0ee0064228be6b4dc0b","impliedFormat":1},{"version":"d96b39301d0ded3f1a27b47759676a33a02f6f5049bfcbde81e533fd10f50dcb","impliedFormat":1},{"version":"100fd6ffe4bec5b9a77274496a5227faf294656db85067a196622d319d6fbb9f","impliedFormat":1},{"version":"76372ba82b5b1c3b6f29bfc23850a2addd735b36ba1f57e62d4ed76921fe1f1f","impliedFormat":1},{"version":"d0a1273dab41e96ebd2b291fab785e661fcf89173b605a70fe061fc21ada193c","impliedFormat":1},{"version":"6506de5a42d7bc337904c55d2a1dffcc1e3c0633889229402856aa1578c01666","impliedFormat":1},{"version":"36c68bb0319a8c160a7423607cc90f383f93eda550839fb9e5c2382499c82575","impliedFormat":1},{"version":"aaecf377e26c5beb7d279eccf4477813da24d3070542239d934c2e9795d310c2","impliedFormat":1},{"version":"2e4f37ffe8862b14d8e24ae8763daaa8340c0df0b859d9a9733def0eee7562d9","impliedFormat":1},{"version":"d38530db0601215d6d767f280e3a3c54b2a83b709e8d9001acb6f61c67e965fc","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"b499af2054a037a162b3b72cd886f48bbf32a3502c865c6e29fac7d2ab3ce0b5","impliedFormat":1},{"version":"b83cb14474fa60c5f3ec660146b97d122f0735627f80d82dd03e8caa39b4388c","impliedFormat":1},{"version":"8e32dbb4b6c849d57a5f05963fb00def58507eda37b8ca726682c337d0c27cca","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":"f8647078da50b446b99ceb9978f45176cda89cce07c62ec2d42cc001b5becc1c","impliedFormat":1},{"version":"a67b87d0281c97dfc1197ef28dfe397fc2c865ccd41f7e32b53f647184cc7307","impliedFormat":1},{"version":"6bbf33947658770121ce0afa44828e1ea9294b1e6c4c7984c0f6da7cc5c53216","impliedFormat":1},{"version":"ebb8af215c7d449add233d33aae1ae80eadf70d3b1e333c55ee09e6dd9181781","impliedFormat":1},{"version":"1bab48faa2e3426331252b77c63f5118307586eeeffc8608274848c10ddda25a","impliedFormat":1},{"version":"d88ea80a6447d7391f52352ec97e56b52ebec934a4a4af6e2464cfd8b39c3ba8","impliedFormat":1},{"version":"51e3224b75ad7b7c4a81c06f61bff8183bee782ac68e8a6d46c56d75540ab7c4","impliedFormat":1},{"version":"0b603555f1881f87256ffd6344d3e3ed6d466c2e701eabf381f28be8c2125892","impliedFormat":1},{"version":"897e4f7662488e3ecc79e743bdd3b78f13bdb69a97851afa5b440c4211e32ea9","impliedFormat":1},{"version":"e2e1c6d3b2d93add5200bd7bc1a8cccb4e446836b2111ece45db8683a2c765de","impliedFormat":1},{"version":"8c2e1ebaafd7328ead715fdcb7b20edd298e42f4ecf52590956aea427500fe51","impliedFormat":1},{"version":"27ff4196654e6373c9af16b6165120e2dd2169f9ad6abb5c935af5abd8c7938c","impliedFormat":1},{"version":"bb8f2dbc03533abca2066ce4655c119bff353dd4514375beb93c08590c03e023","impliedFormat":1},{"version":"2c4de79f406d137390608e8c0a44fba2ff8e00bacfcae7c9d1781fef10e9440d","impliedFormat":1},{"version":"dad21634c57f7bd554d29a890c1b802544bc8906d9584a61d41c7ff8f191ab15","impliedFormat":1},{"version":"bbb4a08132d0aba7f5a6af74aba6a3c149970afb6ae2792eec1a6af0e87cf590","impliedFormat":1},{"version":"15d87d8f5dae7e0ba772297a455b264d4b657653b0a50bdacd383469b759da02","impliedFormat":1},{"version":"232f70c0cf2b432f3a6e56a8dc3417103eb162292a9fd376d51a3a9ea5fbbf6f","impliedFormat":1},{"version":"706dd95827e7ebaabda91d5db2b755233e0952d98570e9c032b0f066a15c1177","affectsGlobalScope":true,"impliedFormat":1},{"version":"0b103e9abfe82d14c0ad06a55d9f91d6747154ef7cacc73cf27ecad2bfb3afcf","impliedFormat":1},{"version":"b1c2db8e7f803e0e1af3c0cb22705ace4ec52fc7a7d68c5c1016d0501ab4a328","impliedFormat":1},{"version":"218b13bb77ff5557caaf5b1e67604d5a3fd6930ede939d14dada9b4c6fd1d221","impliedFormat":1},{"version":"120599fd965257b1f4d0ff794bc696162832d9d8467224f4665f713a3119078b","impliedFormat":1},{"version":"43ba4f2fa8c698f5c304d21a3ef596741e8e85a810b7c1f9b692653791d8d97a","impliedFormat":1},{"version":"5433f33b0a20300cca35d2f229a7fc20b0e8477c44be2affeb21cb464af60c76","impliedFormat":1},{"version":"db036c56f79186da50af66511d37d9fe77fa6793381927292d17f81f787bb195","impliedFormat":1},{"version":"a6805fcafed712aea7759f8bc731014f9d22738c1d6ef9d43b8091d1d48346d5","impliedFormat":1},{"version":"775f181bd4a533d6f8b5e55ec1d9f1624559720ae8a70e9432258da26b38d27c","impliedFormat":1},{"version":"796273b2edc72e78a04e86d7c58ae94d370ab93a0ddf40b1aa85a37a1c29ecd7","impliedFormat":1},{"version":"5df15a69187d737d6d8d066e189ae4f97e41f4d53712a46b2710ff9f8563ec9f","impliedFormat":1},{"version":"4fb3dafb3267bf8c19a6b2a1e4d9f79b9d64cd33febf8abd1642fcfa995140e7","impliedFormat":1},{"version":"6ac6715916fa75a1f7ebdfeacac09513b4d904b667d827b7535e84ff59679aff","impliedFormat":1},{"version":"9c7715de1326710dc72578a58f92c208268d5b91105db0845d86a2c68448a45a","impliedFormat":1},{"version":"cd8ce8d68567f62dd580b3c3c37777ac3f5b81944c7417f5ea83030eab533385","impliedFormat":1},{"version":"898338d9e4b3b583b0e0fef52e68a50509fc7ead2d766c35330ea7f5ce2a59f5","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":"a44ed6e5de4d6baa5d269f6e256c41fae69f47b9bf8b269ce0c7fe8b201ac130","impliedFormat":1},{"version":"57d67b72e06059adc5e9454de26bbfe567d412b962a501d263c75c2db430f40e","impliedFormat":1},{"version":"6db920eb76bc2f044dd32b36288a99298d60ab9747af38a3750ef27a319ed45b","impliedFormat":1},{"version":"243ae05c3426b4178fa05932626e742e0bc695e27f1fe4160cc1d15cd21cbf69","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":"ade4bcded5ae1610dcdef8a98668fa7ca41064c5ace9a49c1f78993ff3c3b6ae","impliedFormat":1},{"version":"c605ac51446efce34a0d4db764b4e6d4adf70d5e16e833ef99de12b7b7760823","impliedFormat":1},{"version":"5c4d626b4902f2ef8a1cc146d761d276cef988016dc674e3b98fbad70e64bc9f","impliedFormat":1},{"version":"abd5b0b9a913d5e809064dc5af3177702e5626d5423a690ad0711f62b6da3dfa","impliedFormat":1},{"version":"f09538129123053bc778452a43b25446ba6f8dec65118fc0bb82fca53fca9bf8","impliedFormat":1},{"version":"f974e4a06953682a2c15d5bd5114c0284d5abf8bc0fe4da25cb9159427b70072","impliedFormat":1},{"version":"50256e9c31318487f3752b7ac12ff365c8949953e04568009c8705db802776fb","impliedFormat":1},{"version":"7d73b24e7bf31dfb8a931ca6c4245f6bb0814dfae17e4b60c9e194a631fe5f7b","impliedFormat":1},{"version":"9917f2694799516bf571e62e4b76cfcb22df50a74335302223e10e839c01c60c","impliedFormat":1},{"version":"413586add0cfe7369b64979d4ec2ed56c3f771c0667fbde1bf1f10063ede0b08","impliedFormat":1},{"version":"5d5179db368664843aca3825b6e7ffa69f47cbe3f138b543fb20dba48dbab4d8","impliedFormat":1},{"version":"7303b45138d2511035056a5901a1490ebdcbf055cbb1276f8629c5121cbe733e","impliedFormat":1},{"version":"47bf8f46d61fa63278a5d10630f6bd7063394bb69284e484c61b352ebe0d8e6e","impliedFormat":1},{"version":"40b084057d65a340263757fe0b08217422e02f42ae70236e74a8042b3e1eab1e","impliedFormat":1},{"version":"46e48e65148cc2afd03fad660f54cb5705ace4c45e80aace208ed7833a96f404","impliedFormat":1},{"version":"b0fb2e6b4a7b366ae1a7a441ef27586e5a8f480b48583b644c2e16fa3537ac5d","impliedFormat":1},{"version":"c7be836e57d8250946c5c6c17c4ed5bdede19933ebdcbcf5c880f083c78e3871","impliedFormat":1},{"version":"bc03c3c352f689e38c0ddd50c39b1e65d59273991bfc8858a9e3c0ebb79c023b","impliedFormat":1},{"version":"19df3488557c2fc9b4d8f0bac0fd20fb59aa19dec67c81f93813951a81a867f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"b25350193e103ae90423c5418ddb0ad1168dc9c393c9295ef34980b990030617","affectsGlobalScope":true,"impliedFormat":1},{"version":"ab7dfff19354646b5dd29676783546c81498f8289f679650f9e612f49f8481f0","impliedFormat":1},{"version":"9dfde20de9ff2fac31c1317b9a14f5b83690aea715adca8820407f1302a7d186","impliedFormat":1},{"version":"74eca395ab8ca0411b94a9fb37afb288436a8117965aa7b48ba07fcd024087f8","impliedFormat":1},{"version":"4f58011d28e315f844e72bc05c1a35416a467f09ac8fb49d5ed90114569bc283","impliedFormat":1},{"version":"ecf51081d23a86d2e961b5890562e48b0043a5500d251ec155aba3e97d5db3f6","impliedFormat":1},{"version":"d663134457d8d669ae0df34eabd57028bddc04fc444c4bc04bc5215afc91e1f4","impliedFormat":1},{"version":"103c58438e43570fb39bc14944f6773b836526043f519414f8e6570427e663be","impliedFormat":1},{"version":"da1bc1be19354bc4712aa812f103975b40c663ba99fc58d4f17491714d594e0d","impliedFormat":1},{"version":"1a82deef4c1d39f6882f28d275cad4c01f907b9b39be9cbc472fcf2cf051e05b","impliedFormat":1},{"version":"c8e7690654991ceb5b476c2eed7ea526403e26bb7e62113250ff6cb41df76511","impliedFormat":1},{"version":"e0cee12109e0a10a4c3d6769fcc7644b7c1ea7f52365bea51728f5af29f8a137","impliedFormat":1},{"version":"7d4254b4c6c67a29d5e7f65e67d72540480ac2cfb041ca484847f5ae70480b62","impliedFormat":1},{"version":"3536968defef8a75514f547ead5e2e9c1e984820290ec9b00c5fdfb6ef786535","impliedFormat":1},{"version":"d83773870080c30a230e322ce13a9c6f3398e8dacea4ea8a83e26370f3bac23e","impliedFormat":1},{"version":"1822b02aa6421ad770f1003fb9b9cce97694d0168fedc5de3712915ee2825184","impliedFormat":1},{"version":"f97020f048bcad55177284c547c020e0c0d3af7cc32a588ab436bf32e33493ae","impliedFormat":1},{"version":"c9df081660108cfec15ea7c7467e180a7993cc26966373e1da5986151fae9292","impliedFormat":1},{"version":"0a437ae178f999b46b6153d79095b60c42c996bc0458c04955f1c996dc68b971","impliedFormat":1},{"version":"74b2a5e5197bd0f2e0077a1ea7c07455bbea67b87b0869d9786d55104006784f","impliedFormat":1},{"version":"4a7baeb6325920044f66c0f8e5e6f1f52e06e6d87588d837bdf44feb6f35c664","impliedFormat":1},{"version":"87cc05fe13108f02e12da7e3efd8e360fef78d96a0c9e11408ea1b1b9fb3e03d","impliedFormat":1},{"version":"60681e13f3545be5e9477acb752b741eae6eaf4cc01658a25ec05bff8b82a2ef","impliedFormat":1},{"version":"3ca55d3682dfb90ff521f98850a433646d3d69f3a836f8ff27f2b450a9bd0bf4","impliedFormat":1},{"version":"a57b1802794433adec9ff3fed12aa79d671faed86c49b09e02e1ac41b4f1d33a","impliedFormat":1},{"version":"34e16eb7c31768a11a08aebcfb3d70d7b8f0b016197e98d8419e566ceae6d6c8","impliedFormat":1},{"version":"5e17c6748e336bdf5a83eef55499c4a09ac20ef7e8ac533411dd0e97d23d3ccf","impliedFormat":1},{"version":"5f3820872e54f04cc7d1ed5833aa91c5d45f72d6c82787d03590388063641887","impliedFormat":1},{"version":"5541971ac5ca5a07fbf99b18d072960d29c06558c143e26fa3fd34eda1cd2604","impliedFormat":1},{"version":"bf6e368c991c772a8cfd766b1e5ca38313a98591d56b7467cc9942923b7ca375","impliedFormat":1},{"version":"27fc1b956bd89f524ce386c9c24fb2d13521893aeaece6271704a59c1a0bdf8b","impliedFormat":1},{"version":"eeee5b1c7b9393a1726dfe5f1c61571cd94b605ba7b0e679343d94403fb18d81","impliedFormat":1},{"version":"4402ddf37e9cf7a95e0c66eb47c4f3cb5ff7e31e988c3a45029f82d983b47d63","impliedFormat":1},{"version":"01479d9d5a5dda16d529b91811375187f61a06e74be294a35ecce77e0b9e8d6c","impliedFormat":1},{"version":"bfd922cd6c7e5404cb2beb99ab0be844b0440dc8ad220894ad32efb85db97bcd","impliedFormat":1},{"version":"a52429ff820c9878482940e2b7752e5b004e0f16635c0cefa2a8da473556201f","impliedFormat":1},{"version":"ce0df82a9ae6f914ba08409d4d883983cc08e6d59eb2df02d8e4d68309e7848b","impliedFormat":1},{"version":"649588d1787139707a4ee0ea5a7ac8a54d94c6d9823b15bbb28f18b79392e295","impliedFormat":1},{"version":"ff64fa5b9727f769066ac59eb42bdfe0931dbb61c9f42aecb3e0f412d0186f88","impliedFormat":1},{"version":"00e981b1c8e1499dfeb6003893f56c4b40dc386826dcc0227c9eb9425a7a3c7f","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":"4c536efd581b2109005df14e670ffbf799dea8731b33db3fd2c3ab655b4eafc6","impliedFormat":1},{"version":"8fca3039857709484e5893c05c1f9126ab7451fa6c29e19bb8c2411a2e937345","impliedFormat":1},{"version":"35069c2c417bd7443ae7c7cafd1de02f665bf015479fec998985ffbbf500628c","impliedFormat":1},{"version":"1a41f92c8593f4639b2e11762df152cb7e5b72f9bb5324158207d3278be73b2a","impliedFormat":1},{"version":"79698c679c34d3836789ee51ccb5984e0697664d3a4572cb76736a6d4b429cd3","impliedFormat":1},{"version":"7e0b7f91c5ab6e33f511efc640d36e6f933510b11be24f98836a20a2dc914c2d","impliedFormat":1},{"version":"045b752f44bf9bbdcaffd882424ab0e15cb8d11fa94e1448942e338c8ef19fba","impliedFormat":1},{"version":"c096c3c58933c3ecd67ff94335f11b9abfc8405a89d9d3e2552223aee3eaac88","impliedFormat":1},{"version":"2894c56cad581928bb37607810af011764a2f511f575d28c9f4af0f2ef02d1ab","impliedFormat":1},{"version":"0a72186f94215d020cb386f7dca81d7495ab6c17066eb07d0f44a5bf33c1b21a","impliedFormat":1},{"version":"8047e76600d42d495952c1c8a16d0a51c8681bd8996524a8b0e9c9065c8e7066","impliedFormat":1},{"version":"10b2c5fc764c6dc12b9e022b178b4ff41a08733074b376611578e34a8f79a2e8","impliedFormat":1},{"version":"3b958309a72d9b99300d585fdc69f23f03df4caa424cf7007bafdacc0d2366f9","affectsGlobalScope":true,"impliedFormat":1},{"version":"c6e51008cf8190894ff2fc8e672273bf950d246084a03bfb7c3a274fa810c2d9","impliedFormat":1},{"version":"b213dad76ca37fd552274c9499056e1c0d9c1bd38a55bb7f68b22ba6b84c3ad7","impliedFormat":1},{"version":"c30436b130b6218b7714314dc41d3f459590db4bdf099eecd51cb1bda32109a8","impliedFormat":1},{"version":"b838d4c72740eb0afd284bf7575b74c624b105eff2e8c7b4aeead57e7ac320ff","impliedFormat":1},{"version":"20fa37b636fdcc1746ea0738f733d0aed17890d1cd7cb1b2f37010222c23f13e","impliedFormat":1},{"version":"d90b9f1520366d713a73bd30c5a9eb0040d0fb6076aff370796bc776fd705943","impliedFormat":1},{"version":"bef86adb77316505c6b471da1d9b8c9e428867c2566270e8894d4d773a1c4dc2","impliedFormat":1},{"version":"d8a770e32e4da593ddda3ac6370ef644cd977be8f4057ecf3d703cc7745ee4ab","impliedFormat":1},{"version":"6ee598cdfdd0fa52039dca135b3dfff7b49035dc13292143e0a93843e3861967","impliedFormat":1},{"version":"27be6622e2922a1b412eb057faa854831b95db9db5035c3f6d4b677b902ab3b7","impliedFormat":1},{"version":"5c634644d45a1b6bc7b05e71e05e52ec04f3d73d9ac85d5927f647a5f965181a","impliedFormat":1},{"version":"5bd12e52bdd0135ed15e1584e0e4206591ddea86a92b0c76d7851a0b09462f8e","impliedFormat":1},{"version":"63a7595a5015e65262557f883463f934904959da563b4f788306f699411e9bac","impliedFormat":1},{"version":"4ba137d6553965703b6b55fd2000b4e07ba365f8caeb0359162ad7247f9707a6","impliedFormat":1},{"version":"0b77b819b5417775fccb20c678293cf614c054a5b1a65421a5b933a9124ba998","impliedFormat":1},{"version":"5666d5734e5152a1e79dd2df5a68531e522bdc4654e06739b2fb799b86367567","impliedFormat":1},{"version":"9252d498a77517aab5d8d4b5eb9d71e4b225bbc7123df9713e08181de63180f6","impliedFormat":1},{"version":"ef8b9028d751f291df91ebb3e5b1a6607fa99dcfe64563b7e85a9b22034b60fa","impliedFormat":1},{"version":"ce11568d7135fbe99854aa6088b327f9e4c234707c94c4e91e1a52919a881bcf","impliedFormat":1},{"version":"b1f1d57fde8247599731b24a733395c880a6561ec0c882efaaf20d7df968c5af","impliedFormat":1},{"version":"de4b52839326d274a30022a82f8586e19a657d4a21a95fd5322347733ee69885","impliedFormat":1},{"version":"c86fe861cf1b4c46a0fb7d74dffe596cf679a2e5e8b1456881313170f092e3fa","impliedFormat":1},{"version":"540cc83ab772a2c6bc509fe1354f314825b5dba3669efdfbe4693ecd3048e34f","impliedFormat":1},{"version":"121b0696021ab885c570bbeb331be8ad82c6efe2f3b93a6e63874901bebc13e3","impliedFormat":1},{"version":"612d9da66bb046a9c1e2e8d026245ded881fc4b9f98cbfae714415d57ee0ae0b","impliedFormat":1},{"version":"32c2ad9494dad5d11b0564a619fee18f388db6c1e9e2cd3c360b3122549691eb","impliedFormat":1},{"version":"1abbf67c218d23c2ce76887caac2df6c7dab3d97ba2b65348432b876f510002a","impliedFormat":1},{"version":"4b20fcf10a5413680e39f5666464859fc56b1003e7dfe2405ced82371ebd49b6","impliedFormat":1},{"version":"c06ef3b2569b1c1ad99fcd7fe5fba8d466e2619da5375dfa940a94e0feea899b","impliedFormat":1},{"version":"f7d628893c9fa52ba3ab01bcb5e79191636c4331ee5667ecc6373cbccff8ae12","impliedFormat":1},{"version":"2467b00d963828f540f4acd7910f4c04cfe4b489550e6bb682212f65583bca5b","impliedFormat":1},{"version":"854e50b93090b3f8fd6e355b074e1d24dce1ae0240f1ce46563e35fea210a6d5","impliedFormat":99},{"version":"416c3250d0f78e396c76ddee847e968a7e0edf46c159e3996d99ecfc3b7f069a","impliedFormat":1},{"version":"a6dba407fc287f1e25454e75028c91bbc00675f2d1c4e8b3edcc36c08611a486","impliedFormat":1},{"version":"43003214ab539d7b34b11259b86e41c5c361929472ba2ce95a327922090eb17a","impliedFormat":1},{"version":"9ec11a9084111c6caeac336b4a2fd3ec0086b32d21409a33a2af3ea66d9b85b0","impliedFormat":1},{"version":"700b7bfceda84ab84ddc75ed540247c62568f240d5d5bea4c9352b8f7e148a12","impliedFormat":1},{"version":"6115297fd1e00c450f1456d84c30453c6aefc38690b530d7d31393e361c33050","impliedFormat":1},{"version":"360fe40be059e5206b565f91e130ac2768169b06ecd714f982b0ef4c602e96cd","impliedFormat":1},{"version":"dba74745294baf7b83a2531303b56b4c3824b91a71cbac16dd501ecd2f6d96d3","affectsGlobalScope":true,"impliedFormat":1},{"version":"e8daa443eaf9a27fd382cc1f8ebe30330c0f4d89511cfb469166874806751d35","impliedFormat":1},{"version":"fcbfb0670d0a9fd2edca0705a1bc421773d58035a312216291fc64903e327a6c","impliedFormat":1},{"version":"1640728521f6ab040fc4a85edd2557193839d0cd0e41c02004fc8d415363d4e2","impliedFormat":1},{"version":"65c24a8baa2cca1de069a0ba9fba82a173690f52d7e2d0f1f7542d59d5eb4db0","impliedFormat":1},{"version":"f9fe6af238339a0e5f7563acee3178f51db37f32a2e7c09f85273098cee7ec49","impliedFormat":1},{"version":"d748648024504c3ddb46411e310b4c69050b8a695e0e1982683bf5594d5a2d8b","impliedFormat":1},{"version":"77e71242e71ebf8528c5802993697878f0533db8f2299b4d36aa015bae08a79c","impliedFormat":1},{"version":"043b4931cc88f57ad36d9cb9d11ff7f688ceded5ea90bfef50f812fdd625e449","impliedFormat":1},{"version":"98a787be42bd92f8c2a37d7df5f13e5992da0d967fab794adbb7ee18370f9849","impliedFormat":1},{"version":"bd4c4556a30a24c353ec3aab92f2fa9517a83fae02370bad181d784a723a718b","impliedFormat":1},{"version":"26f8627d501decb20e9494ee1d9a7eb27c21e9b50df506aae1fe1ad3f9b11aa0","impliedFormat":1},{"version":"4545c1a1ceca170d5d83452dd7c4994644c35cf676a671412601689d9a62da35","impliedFormat":1},{"version":"320f4091e33548b554d2214ce5fc31c96631b513dffa806e2e3a60766c8c49d9","impliedFormat":1},{"version":"a2d648d333cf67b9aeac5d81a1a379d563a8ffa91ddd61c6179f68de724260ff","impliedFormat":1},{"version":"ec2804a1343f9af99b504838771f77a92cc756ee564c4df3df67cee0ebccc292","impliedFormat":1},{"version":"07a86ec5e70855b9fb5ed27f6a7a84d3ba3f63ba521c9e3cf2ea53ad8484a46a","impliedFormat":1},{"version":"d7bcbc84a8a0137869fbb37985d21d0fbf1d9903e1afbe692577302d865fba60","impliedFormat":1},{"version":"1b16beb8414a7abf9e9d82c0df4d5f2ec6c17fac3fb7d6185004ae506d034651","impliedFormat":1},{"version":"153a111b813b430aaa37a352abc884f0434665c9a6b6b3a4deb1ecaf3a74e17a","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":"fb8b0045bf577879db8f7b16426f7728862b820c0372506c78c79d384781026a","impliedFormat":1},{"version":"fc85587d32e46b46e698053316f16472d7e2e78bf45d177b47dae651f3891aaa","impliedFormat":1},{"version":"ad036a85efcd9e5b4f7dd5c1a7362c8478f9a3b6c3554654ca24a29aa850a9c5","impliedFormat":1},{"version":"fedebeae32c5cdd1a85b4e0504a01996e4a8adf3dfa72876920d3dd6e42978e7","impliedFormat":1},{"version":"e297c0a524edee7677939122f90027bfbe5f2698939d9a85728e5044b39c7124","impliedFormat":1},{"version":"cdf21eee8007e339b1b9945abf4a7b44930b1d695cc528459e68a3adc39a622e","impliedFormat":1},{"version":"bc9ee0192f056b3d5527bcd78dc3f9e527a9ba2bdc0a2c296fbc9027147df4b2","impliedFormat":1},{"version":"cdcb96ffdab6204c3ded7f53ff8a3e730c3689eb83f8b2eb065287bfa8e7b1f0","impliedFormat":1},{"version":"1d9c0a9a6df4e8f29dc84c25c5aa0bb1da5456ebede7a03e03df08bb8b27bae6","impliedFormat":1},{"version":"84380af21da938a567c65ef95aefb5354f676368ee1a1cbb4cae81604a4c7d17","impliedFormat":1},{"version":"1af3e1f2a5d1332e136f8b0b95c0e6c0a02aaabd5092b36b64f3042a03debf28","impliedFormat":1},{"version":"09d8a449a9f38eefc0383f6e08c52cefe471943d99cc3c2242a21c02235b6dcd","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":"7caf3c4129eb3eadfa1a6033206d56145984ebbd46ada269509bcb64d508b9c1","affectsGlobalScope":true,"impliedFormat":1},{"version":"064ac1c2ac4b2867c2ceaa74bbdce0cb6a4c16e7c31a6497097159c18f74aa7c","impliedFormat":1},{"version":"3dc14e1ab45e497e5d5e4295271d54ff689aeae00b4277979fdd10fa563540ae","impliedFormat":1},{"version":"d3b315763d91265d6b0e7e7fa93cfdb8a80ce7cdd2d9f55ba0f37a22db00bdb8","impliedFormat":1},{"version":"b789bf89eb19c777ed1e956dbad0925ca795701552d22e68fd130a032008b9f9","impliedFormat":1},{"version":"4361fa1a7a9dc167c1d621b0d4ca802a6ff4a3f28235f10aadc97ee19dc30630","affectsGlobalScope":true},"f3387dd7800eec3c34273f7a8efad13e864598c7e8f788d321e407390989bb59","1862ac4bbbc5192d4bf562161df66ea547ed3e67173100656ab606ae9797db2b",{"version":"24b5e48b21b1bbfeac8bf294d10beef78160d3f7b7e4b5a40fef29c290e1ed25","signature":"435a1e418e8338be3f39614b96b81a9aa2700bc8c27bc6b98f064ff9ce17c363"},{"version":"135b2fd76ecf4878082b413c5dadc554609adc3e899df1f5eb799c03eb81373f","signature":"8fb130b6584dccaac94bdf6d206c6902ec75b2437496c61ec7f88fc4dd6e7b38"},{"version":"923c7c0f90bb2df3cbbb48f448aa0b0b2d3276021fe0aee53ef906ce38a1c104","signature":"35b6c4ddb356b5051e479ebb3c6154b5a574563fff7cd3308fd074d9e8c66d10"},{"version":"e4b799f51c2381cc8eeb1acd57421df25e1b2f07b59af3a63bb4192c27b7c423","signature":"af2a99d2417eade481c6f80b06df36ea582e1967a72b12ea9915edf3cc0ce098"},{"version":"b36c6d16a769dfc2dbbc81ba3213ac7c23517a0d64dd2225a42f3cdbb2fa8302","signature":"8e9e7bdfb18799a7b7fbac3e580b13af4a38b303a6bb5ffe43293ab8204eac4d"},{"version":"b9673d06abf20d003b25f899c238c71c835d5f16fcba030dfccab8f4d2f0fc4d","signature":"ba7c22c9802e48a0b1e7459035c5ba47f38bd966b478dc92a56b9c0d83df09f1"},{"version":"a55946abbbc037f5b7f9950c4ddbab9e71060c401949fa611e7240f02777a320","signature":"5c7350c71a13558053dbd823e84362a66f902dc298df2648272a892b00d81663"},{"version":"ff63abc7d9f6dee8c689c3916b14af862d704aab00729d88ce126ce0145793b9","signature":"ca957396ea6a32113391f8eb1ee7cb9032328c542bfd031fa3265a51d2627bd9"},{"version":"089e3cedf5d69bcfa2074c1d1b0a69f9ae5bf7a29ccbb05d7b32c309bf9443ca","signature":"0b06c46ef8ce21ad9daebabad5f3cddae29a122745551f6f7b075aeece7cfd0c"},{"version":"18bdcba2fbe3aa69d9ede65c71f3c62424548bd3cb14ab132047973f2f46101d","signature":"de716e0e9d161cf0ef6b7b9c2c7651c5f85809bc5f1d3f2ec2ee7fc2e336f474"},{"version":"b809d044f0afd2a44227195132c6262abf88473228d7cd1bcaad90e2cc0726d9","signature":"2dcc50c46dcccaadb05bc414e290fd1a75298fcadb47c77c1af84945ec8b6b01"},{"version":"7aa98fb525bdf31f082c5601abc593185009f49657451dcf0431f8d21edf219c","signature":"45b373ad2e114de335dd3eaf62f9658266d71c2f34537489f88f3b4815fa72f8"},{"version":"0208e423fc4db9cd175066ade6bcf56c27e839cb4dd262b9e9ca9b28c2c138a1","signature":"4c13fd5ca0ec48c9eccbf013c781644875fa35bb732dbaca047dad794137c03a"},{"version":"0a37626bb9e64dd593ffbb172e4ab0b039c106c7abd1ef87e604569c0390e13f","signature":"7fced774d307155dbe328583316013de87b8d033941c7c306909e3dba9a401d1"},{"version":"6ce8be6cabb4d02d30e681964de65e28bf9d137d597e93516f80ce8481c2ecff","signature":"6c45675928d5db83b67f6f8d0c2238049d5290a975c3d1c99b7d2cdf8b415168"},{"version":"389ebce20cdd56ac9062de4f7a9a85b9462b923d2ff6a8d918747472c2dd84a8","signature":"c29a176e67b3afd19b6a7af583a84e6cd8103999bfb4e504c475de9a149fc781"},{"version":"fc5bff1e333b599c69d1691c5a97fd8af8777bf3ab6e1e3e405037ec7b357c1c","signature":"29d140a46d8615274c89469c1f8e9100891392ed6fbfa8723c1c9202a6b10ad1"},{"version":"25c102fa15b44fac1d8a5e6eaf8d3a71c8e8165bac423acccf6dd3f481e50b60","signature":"4eec1d823456828f180d2c856891903c404ecee0376de6b1b1cec1d46a4642cc"},{"version":"4035801db71e3937adaacff1fbabea68d3930af0d8a82f672c63764a02180f79","signature":"5c26c42c9333bdb4011de49fbfca743cf602979ea32eea7f6d520e43359e446e"},{"version":"993bc698a4ba88e7dbe1f5be05fce74e4e80e527c10bfc3afad417a1fb22b00d","impliedFormat":1},{"version":"21538b567cbb9bd55fbe2d746c38b26ff940f7b946a0d405dc00234ce17908bc","impliedFormat":1},{"version":"d24582ed044bf1ff8eb8e4a9c2201098d0c34348ce2e7e3fd65470ebc1f4caa1","impliedFormat":1},{"version":"d34ddefdb68374a7736bd5a9d2f8b601df609bf035c9689e8db08d73ced8c08c","impliedFormat":1},{"version":"9e5ed847d59c63101ff301accd38cf62cc94d0f03fb81ecdbb7fbb3f6489b87d","impliedFormat":1},{"version":"bf0ff2ed5ca2d9cd80f9d5036d60b6560a972affd1d2d2c0b057fdc6c5c24401","impliedFormat":1},{"version":"6c1fdc77c3aeec927e5dade13e05bd4786df72904bfc5ac241c67abfe66adc16","impliedFormat":1},{"version":"4385824cb58fcf266a9a19b7aa475f1093dfb154b4c86feb0ecc920b312be9dc","impliedFormat":1},{"version":"4db07a5f9ad277140ce30914c80e8410bf8a61ef820b69acb9afe284815cf6cc","impliedFormat":1},{"version":"e9db85af791797df2cfeb3b36ff0a8b2aec77159c9c3739bba41b631cd27c863","impliedFormat":1},{"version":"e184c188c53f56fb830a9baac037236bfe181e9e56034686eeabe17af4ce47fe","impliedFormat":1},{"version":"8a4cfbd8bac195d00bd273780f42899524a96341685f6f9fa38a4b60c5b46d02","impliedFormat":1},{"version":"ce993b6a09a01f9a611c38240b4c20fc53d1e3de50309981d4302277823a8fa0","impliedFormat":1},{"version":"3c6ea3fb4ee65508c4a365e5861a78e500975b99464807c56fd3b76671b34c76","impliedFormat":1},{"version":"0b04ce34380709cdffc024fd4d8c4cc359173db763fdc18a9821a363a6f8ab07","impliedFormat":1},{"version":"475df08d8a101615cff43f546df09ebaf7c929bc866b1a268a46809ed0c0f38b","impliedFormat":1},{"version":"6f452331c5d7bfde6d2cae9746da2178ce540d9f67769f707039233c4d0f3160","impliedFormat":1},{"version":"420f86a2acce8df2cb589922a0b460593f9c76e12103010c5260e999a15ad60e","impliedFormat":1},{"version":"5b73fc85f55fb303453c6efc509452dcc76bb6c60366977249c622b73bc4c72d","impliedFormat":1},{"version":"2d88889b4e65750224b78be07116d8f6a7c68fa36855c238c286c8ab1bdf5fd8","impliedFormat":1},{"version":"3de4a45035f4ab3ca7f1ebcda124892c8a8a979824b66f30e4b7f8178b4537a9","impliedFormat":1},{"version":"6322b15d8eac0bda8810527ebff28c4b846f3d7665ca5d2916a8482e6530e88e","impliedFormat":1},{"version":"19218d3c05954382ac5091d085632d1479e698b85977f51e92d9dd663701e693","impliedFormat":1},{"version":"2505cf392907c271b962003c2cc741801681d99c07c1bc6190d07db2d19d286c","impliedFormat":1},{"version":"8eff340c5c17d1a30714a92fa0cdc7b6f3b1cadd8c88bda620f8fa0cb709cf43","impliedFormat":1},{"version":"663195b8597a94c4cf610bd526e4362d14a2dfa4edecb4c622891f9de1c1ddf9","impliedFormat":1},{"version":"b143bfdc89418a94a739b90c6460f18f57334c1152286ec710d3bc2631fbf39c","impliedFormat":1},{"version":"c69f054c0c2a9f5c731e1fc609bd74358a653720af43b8775922a87848f67982","affectsGlobalScope":true,"impliedFormat":1},{"version":"c26e3f5d9b91fcf817e6ed3565abc561ae1b8b5510d26b1780f7c36565463ea7","impliedFormat":1},{"version":"8c8bd8fb79b58628685080d460c98e418cf32749a309292a5409093b569f61d5","impliedFormat":1},{"version":"144a1dff554d559be494b7436474eb32a569c040da870abc25cc156d8c16c700","impliedFormat":1},{"version":"3b7765c7de1b17a0ec47070ee2000bf0da31cdecef6f61647cd2eb17d33cdef8","impliedFormat":1},{"version":"3da62cc0ecc4ccc373936142c3aef5219493ee7fd013a1426d733a1de178d064","impliedFormat":1},{"version":"f00ac74e61d9db8f3d47611ef0aa9f8e4655854c492f136c1c93146684c5ef04","impliedFormat":1},{"version":"43114074831b5b0f652ccf3141ce3377fdd2a9efefc2b86f123c72c029370ebd","impliedFormat":1},{"version":"dcbff61583cc1aef38c2a8b322adec2b02385dc693ad13977ce48f87d71010f2","impliedFormat":1},{"version":"ff9f328529fe2bb3e07a56e5ad3d04979fe7697455e2a95b9c6310afcccef70a","impliedFormat":1},{"version":"fad84fbcc027a402a6478393482bcb7cd4c27278383e3061ce03ffe3c8010bf9","impliedFormat":1},{"version":"44a5d34c9b0cda44f1875ec779c3ba9db6b59bf493cc4fb848c7e96df021960d","impliedFormat":1},{"version":"7e19cdab4c50b36f09271ae03e82966187f1586fb135bfe6d3baf880f9a07104","impliedFormat":1},{"version":"f8aabdecfd13f24c54921215577fce757346d959b51c27863a20d81d59672d2d","impliedFormat":1},{"version":"dea21e24f5db278d5f046bd2d4045bc83a49b6e7cf00f0b4e3ca1b703566b737","impliedFormat":1},{"version":"6a19b43fd220e01a5ac243ee1a15f6effe83344f8693fdc854f38198f58775b5","impliedFormat":1},{"version":"0af784eff3318c730d44202ff5908f6ea80df8d16f825c6c33a16337367ba1c4","impliedFormat":1},{"version":"07c4df8e9e80beb10d57c87bb655f148b822ff382743ba64c733bc323e49f36c","impliedFormat":1},{"version":"d6144e52f98eb8d73d1b62de6b5c949ea3338b8610721ba4d9c74c2bab77fa95","impliedFormat":1},{"version":"da2c15d17f64b51077c54a26861f6b13dfd422559523e95e8f8ed0623a40b235","impliedFormat":1},{"version":"7fd86ad5dfe671ca797ac75d99a657f2ae66022140428717f6c17373282e3050","impliedFormat":1},{"version":"ffda5bfa664984a6b5fb52c5305b3305b0b4226e507defb219986d2851dbf271","impliedFormat":1},{"version":"c28f1aee734cc7512bce981f0a30794fc3b715f949984f0527a46acfa1ab18c1","impliedFormat":1},{"version":"e943f29aad5d086910fa813644df591992329f1ae3216ddad2cbbeba8b498ce8","impliedFormat":1},{"version":"99317dbbad67d508f38899aa18f42338fec68c9bbaa3c5eda72facb2c3cbbc08","impliedFormat":1},{"version":"eb925d317276d6775b49e2348ef27ea3c34dbfd926e1c720d89ba6e43a4b39ff","impliedFormat":1},{"version":"60f3d974f26628b91943560f53267d4c434aa62c883ebfed06f217e921796d04","impliedFormat":1},{"version":"2c10ad4b43dedccdfaa9ffb6ba3b0da6eb7274c58f9156d7144939afe2be9c18","impliedFormat":1},{"version":"27dba65ef76f5a18dacf979f7318823f6477b3001ad0d5c768e97195dbe1a9cf","impliedFormat":1},{"version":"50a897ff8fc0703372dd3bfe43a54d736d7f36adc271a926ee13fc9fbb2ed240","impliedFormat":1},{"version":"05d15c18b521df2104fe9b6bd4da8d9beedccb7c5572dad919b35036ccfb107c","impliedFormat":1},{"version":"e1f20ffe083eab6fc3a157033241e7fe00100ed17d0ac92023fb9150ab3ccd3c","impliedFormat":1},{"version":"ebde49dcac4ac94fea5ecea4e5b8c12bd915b221d2f127967722c8c903ee6a66","impliedFormat":1},{"version":"52a3c10c20298b1505a7808a58b5e33d5ca2020fed88c71b68616d18e0727f91","impliedFormat":1},{"version":"6af5270cfa74794027a2bce6f4206f93c92ea44134ebe8565a25a29207b8b448","impliedFormat":1},{"version":"14956aa3719b6d7fa1d0bcddbb99200592414943c31a4d9eed0c13d728e3da89","impliedFormat":1},{"version":"86500155bdd6da00d0e3c19bfe34c1ab8dd48409ffafd02a805fc4b112994201","impliedFormat":1},{"version":"686b357de7c9c12c81f9f99ae9fee89b710a157a6409855bcba5fe1b546ad1db","impliedFormat":1},{"version":"05b5d6d23626c3f78eac9662f8e61d90119951e7b7e735579b486bdd9141a8ea","impliedFormat":1},{"version":"712b50fa81acbf0ff3a3ddfc91faf65911271bb8f06510431c39fb42727c456b","impliedFormat":1},{"version":"b9429ca6b0271dfcbcdd54e1f1a6e4486d22175e4b20dc9e47852af9f0bc3fb9","impliedFormat":1},{"version":"cd4d0e11312bb725e30fcd9a9107b62ab6d0a38fca01955675aca658f5e8154e","impliedFormat":1},{"version":"39f09c9d9f64e0a84cf2dadcc391414b6030c37b554b112edf2dbaafcee1e721","impliedFormat":1},{"version":"9f776b40fe9d82674f9b91f7e25b6afd07d80c127bd475d3674bf312143dcacc","impliedFormat":1},{"version":"9ebf2cb1659259a1214ec4854b34e4698e034ed702b0dd46674d161975a75a2f","impliedFormat":1},{"version":"dd24b10a13b1ecf57f89f4fec2a58ff17a478a1305382369860774c53f5339be","impliedFormat":1},{"version":"dec345383d8e71affe9696ee3c63f833bd1b0f46b3ecefa93540bf44cab83d9a","impliedFormat":1},{"version":"1cf8bc9051b317f5b55e6f7b50acf01ad7ae1034e329e7a8655abd092a769a09","impliedFormat":1},{"version":"749971ab7a8762877cc8c40e4816421569317fccce077ff905d780df9f87ed50","impliedFormat":1},{"version":"01b7a2255e9b683eb338af79567c552dced24960505a2dc48af3766434e0f6e5","impliedFormat":1},{"version":"53743ac8a275678b187104688cd0c914dab62dc6971e1955c840d4e6f94c412d","impliedFormat":1},{"version":"6bba303993c7e12c662b86c1e9701124515a5c46361f385298e125f4110624cf","impliedFormat":1},{"version":"d2af712f423e7060a370348ecfb0fa2dcad46da617932eba7d5cdf8736bf3ef9","impliedFormat":1},{"version":"cf75367bcfbe5977358d1f96889df584f311a51cde5fa5b6447884caf0e8ba62","impliedFormat":1},{"version":"292da9ac43dd007233df6195f5d3a95911e7765e9bd185029e174d3021a98e4f","impliedFormat":1},{"version":"a173e0dfe243b30a7e7b8eee8a0bb30e8c6cc3aaeb598c22d083fedffc53881a","impliedFormat":1},{"version":"c35960783d0fb8c63672cf9b328722b72495413c3451406ae03793a448e8a88d","impliedFormat":1},{"version":"4535a82fac347b2b8cd245e13a3ef4e237611079f173d0464d8f2d1326859b63","impliedFormat":1},{"version":"c8090064964aae994bb845727e539032092e9b2fcab5158cd11174cb33b91a72","impliedFormat":1},{"version":"6b48ea2eef2f704a2a0d541e1ced5868f1696827ec189a66e82c3323dc82f57d","impliedFormat":1},{"version":"d221ed8debb0d86951b09e9ff4c18e729746ef12c2a1cde631559abc339fdc3d","impliedFormat":1},{"version":"c6ab3c117596cc664dbb2452e848379bd8f1ea3024bbdd2c2483821795dc9049","impliedFormat":1},{"version":"f5973069eb4b3eda8fac72f4133d984147860cfc56fdbca827d886323f9a10ec","impliedFormat":1},{"version":"1b34a071d26dfeda6004ac4982cdaf64e48d7b15378e2d50b613851a0a4323bf","impliedFormat":1},{"version":"f7c19aa9a5ccf62ccbb1772b1951354acf96a925e1603f819fb713553609e28e","impliedFormat":1},{"version":"6aacc5b680c638d61af301f8392178787ca7d9fbe200e24000352c8a97936285","impliedFormat":1},{"version":"5c9d78382c40f041e6e667619f20d72f4e800ea629c2cdec780bbb6ec1964129","impliedFormat":1},{"version":"b3a39a876ba08d70f834ce790cc4548f57ceab477203ebdde99ba5bc7255f0ef","impliedFormat":1},{"version":"1119449cf9336bf0029ab449b29a0f54584c88cb20b3d65e65004db662bf1d79","impliedFormat":1},{"version":"cc88fe8643b325f7bda64961655464c1525dc2998f8bc762531685336c2cf34f","impliedFormat":1},{"version":"5a5a71687286f072251802df823e23c5a0c84e8d241e7458c78caf12bc6ab6ab","impliedFormat":1},{"version":"d80e45c1aaaa46defa69ee7e7b9c236d4b3fe043c1d717b281218fc09f9e1d84","impliedFormat":1},{"version":"ca21b8b5295966f388286f94ef30c153643585aca6cce3720de7d5717364f912","impliedFormat":1},{"version":"33fb3fc2672669b95dd85dbb1a43f69a91f6312e84047fc4a0a73c66ea77d0aa","impliedFormat":1},{"version":"198d27ca8f43660ab921ddb96fde14bcb84b9ea2f3ce2e5b16d0f9befcf3f0fe","impliedFormat":1},{"version":"a38d47573a7dc3c217e94ef061f66a3388af233c5d74e7468593398bb383f0a7","impliedFormat":1},{"version":"0d7692d70130382928947126be4dfc96ef5662a4098190232ee9e6803741aa6a","impliedFormat":1},{"version":"5d36ac8bed5a77393ae8423a5dede92717b391153ca7252cf9f0b6401a341b0d","impliedFormat":1},{"version":"e7cdf4a3e61e35ec55531523d2e887ece545e9ae3b248578851d1782d6fc6105","impliedFormat":1},{"version":"73caa80f603548446b38fde1f210dae4eaf963cf020c295513b1aec6d8e6284a","impliedFormat":1},{"version":"10ee5f80e9e1746d8ca2dd3f5b901d4279c3c18bb573d8b8ff50b3ff741c49cf","impliedFormat":1},{"version":"93a69bd203a761a79050258653d93f2dda70bd4d8000f70fdaad948080aac044","impliedFormat":1},{"version":"85821ba229cd335efacbdd319a4e85f9130451c79aa7f8914ff1a7a9cc5789ee","impliedFormat":1},{"version":"34d5a9f5a55a4107cd08658c4d0d52d04deffc72d02ff983f2a8405c426e9826","impliedFormat":1},{"version":"b836b50bce47cb43a23baf59e0f47c812c9daa4961c16471e60b42bb50b00e93","impliedFormat":1},{"version":"3efdd57e637258602a45a542b0eb53b1b0d931c03691787604398e2e4b633f94","impliedFormat":1},{"version":"3eb25af46e0b47686dba73fadfaf1297607e4da05b0ac0d4fcfc357437a11b8d","impliedFormat":1},{"version":"2626191295e946535aa1340d0405f07421e90e524044ec4e68c7384191811032","impliedFormat":1},{"version":"c32dd2bf16415bb4c8fb3a7cb33a2d1a1e7d3cb7ad110964f1cea0306f911ec9","impliedFormat":1},{"version":"e0b49105bc74bd7f3860c8f0e1a93dd21c667ade84ed15b93df87792cc6d0334","impliedFormat":1},{"version":"6f6d82c7cf0508c8066a8c171a4aba640a9f922c5365f718389024f565f4331b","impliedFormat":1},{"version":"80675f72386456cd865632b8f7f71f36a7a3207f4197205e549d8a89f459db35","impliedFormat":1},{"version":"ed89461c5650257cc02930452883f0338bd7f63bdb0ddc174c5ee413fc4111da","impliedFormat":1},{"version":"c96e921f66f1eb9fce4ca8184b6c4c503c2ed23738e1b0706428e70b20881381","impliedFormat":1},{"version":"8ea298eabac55647541abb0afa5e4993e671fbf5eaa850c05f5e90c6e79dd93e","impliedFormat":1},{"version":"9354d3418a24ad28344d97d467fbf28a6f46e301b5529506099def68d61efffa","impliedFormat":1},{"version":"5bc8c3facde7407af505d0ee483ee1f7be49dcc92ab2ec4e4f2d8fb755e5bdf4","impliedFormat":1},{"version":"52676158936a89d504ca54e7abab9992b0737e214f37f8ad3570a9914b55249c","impliedFormat":1},{"version":"f74c2bd970094efeec23b00baf2c3e7b1bc35f91a064f902845925c28dad49a1","impliedFormat":1},{"version":"506dba97b707ef17090334ab8bfd64397c7a4be309298f8ecb963e0561937287","impliedFormat":1},{"version":"e6021d5c52974a40d5ef3130b8de20021a71b6cac11c282aedee88c59d069ef2","impliedFormat":1},{"version":"83dad7e6561c0ce222738bbe3cdb8863e5563c786e89c9a31e40c61a8e863677","signature":"ecb71cc099a940675886aa24052ee589e7e95642a1e3d1633b10d6ad8d873208"},{"version":"59ac58e2ecfe64f2857101e911cddbfe20d5e7529fdc0f3898826af2d4c65450","signature":"96d7054a1a32e5f4502e138a7aec48543cbf8f89a22eae4c4e68e80632581add"},{"version":"cd69b43e330808888e95565a0dee64738493763d3d1b3647eb1b6df45e3c84e8","signature":"297f18f7b8acc64387476e566ad7c88842e0839ef780df280061ffa074474c2c"},{"version":"5a75ba09ac746f4411c2fdffb5b4962dba932880ead75e0754c67e9091127ea9","signature":"8765244066cd369b75ed196a8556e81f09b1a8930b357675e147892157d45140"},{"version":"e967c5a81307f89454607d1ef83e6a5fde5e28746417f5a94bc8125e64f1f522","signature":"78d7ea2f517dca539fc35f0db8e11cde854e259e655e7848ee16d4f7bb3c8402"},{"version":"05c245a88278a0f855f75c025bc8442b4b6cabe7830d3879b094df048b1ab860","signature":"bf0b13b710c9cc49839545c8534ac724cd47756100c44054780b03a1337ef61e"},{"version":"c51b190030300b22f720529499f46c63aefb8d8f4d101201e18ac1e76bc02885","signature":"35d8efbc9882ea9418f99e2101f150fda32af968a930302a87846327ef0b6186"},{"version":"232dab085a6315cac649b82b3bcb7dc8ef43be3aa4616e76fca19a5ac8720653","signature":"85937151b37346fd325709a7e852ec9d5c8d8387cb4c3d8791ab70e4296e1f85"},{"version":"c6142b86dd1fe86c9ba1ab0ffe4215131191e5146f2eb39670febad6d6c33caa","signature":"36aaaa332b10207750c2908f59644d38cde6ec6aca4d907215809bdc0ed77566"},{"version":"71f8054b3beb0a74d92a05645a70084626a4a3980793ae321a40479e99e90801","signature":"2a95dd8b105836c16e43ad50c593ce53db2a49e34b06e83d9c17b6bf46b88ba7"},{"version":"95200e98a3a7712c52e9870c0a9c10f251fbbdcc4754fa7bee79d1923500a04e","signature":"47ba833a4fd4e712eb41b1d12a32c8e341b01652e44df31487a0c995614d818e"},{"version":"f9cb61a305afc6386b5e60446681cdb3fd52de01622a4ab7a47d08c446484f7d","signature":"a58b17abe625f11ebe22aa07c1f94ece54c6f40d6a4286749d6478b72d67f8c8"},{"version":"3245de8915f2ac446a5b4b1f5846f45527f35428ace2c6af2d7a81c1c9a035d0","signature":"25915e95a71ec9e164d2052e17ae54dd59f3d0ab791c06bf4951cf6fb13883a7"},{"version":"7eda311fadf91b42698e4bf8d98c86bf9ac02ae37b5db965957388162daabc0a","signature":"46fd23bc3fde4c6fee85d7556b62595c9836521071c39f981bf87b1c87d443fa"},{"version":"cdaf38a073de061877d794383ae804aadb9f74133ef455f68015f8f093923736","signature":"0e85dfbb8fb93e20b19e5d48cb22d1211238f72f379955ce0ce1aa77f492b2e8"},{"version":"fd882ce4385ecb78106634ecb1017f1fd0abaed95b8c6cc7880eb023ed8673e9","signature":"8bc93ee7b9ea8dd84a447d5bf35485b52a89c6ca0d7dbbb3fb0c15022fa24966"},{"version":"ae4a0f7df72e0ec3d6e70d0960ccc297acbe02367407e1e7baf7d6b93654cf67","signature":"c60e4899ea4a6f734f970bd7c9385ccada78cdbdece883af94a70669b54be37c"},{"version":"be9e8521a6d1cc0341be3eb9b4cd8981add4ff7b9d14ae84e640e4f3909d709e","signature":"a2f6e055de6a54aa78714e70965cd1bc9042dad1b50953283938cae3f4c79a33"},{"version":"cb73351c9dc6063394137f2f5f8e54eb4ee6f60f4c32bb05b2e2ddac7aaec74b","signature":"71cdf3d0111f8c0751f77193d722c4ab078cb3f1d981ab7ec4d928c39d73d21d"},{"version":"4fe67cf21450fa5a146d803df575a1701df9df02d68c366372581161ad8b3dc7","signature":"3a8523bfa20e149df671c3166d3c2e0c8e5b9f015b121a6855deedf209096b5e"},{"version":"ddf595d729b48a8d5989c90f46850cdeea473efb76169ad49736864320184e92","signature":"b599d006613b332310f09dc88f54d0ce261bfd4a889e46dbe17088c7fee532e3"},{"version":"9ade4cf02905d4e2c7d24733202b33af88cf8c1eaf72e89079e4d381803f9b30","signature":"bb4a628eda8b42a14bb0b5fcf2dc83efb0fa525d9426472359ad84f0ee5a0fbf"},{"version":"110ecf3f85bef8b9a953cda8ede7b276019a9a12185cf8ba5789efe54bcd8c24","signature":"d37dc031929588e016890522565641aedbdd1a226188862ec9be0a02e178a075"},"4f984436b10cfb43ccf7fc3114dcb851cbefa4d58b7d8ae741aaae0f6e330129",{"version":"f558711ae3bda6288724b32dd2f9a9b1ea6dd38694c954d923078ef289f114f0","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"751764bb94219b4ce8f5475dc35d3de2e432fea01a0c9610cd7f69ad05e398c6","impliedFormat":1},{"version":"f3d8c757e148ad968f0d98697987db363070abada5f503da3c06aefd9d4248c1","impliedFormat":1},{"version":"96d14f21b7652903852eef49379d04dbda28c16ed36468f8c9fa08f7c14c9538","impliedFormat":1},{"version":"15fe687c59d62741b4494d5e623d497d55eb38966ecf5bea7f36e48fc3fbe15e","impliedFormat":1},{"version":"2c3b8be03577c98530ef9cb1a76e2c812636a871f367e9edf4c5f3ce702b77f8","affectsGlobalScope":true,"impliedFormat":1},{"version":"427fe2004642504828c1476d0af4270e6ad4db6de78c0b5da3e4c5ca95052a99","impliedFormat":1},{"version":"2eeffcee5c1661ddca53353929558037b8cf305ffb86a803512982f99bcab50d","impliedFormat":99},{"version":"9afb4cb864d297e4092a79ee2871b5d3143ea14153f62ef0bb04ede25f432030","affectsGlobalScope":true,"impliedFormat":99},{"version":"f60e3e3060207ac982da13363181fd7ee4beecc19a7c569f0d6bb034331066c2","impliedFormat":1},{"version":"4a20a0a39aca8738cc5088f9dea2969bf2af3ca1341c56071f513059b122d150","impliedFormat":1},{"version":"a33c98f95c099c2a9a383b156c8f2a16605843d29455a954c1431bcbbc1ce35a","impliedFormat":1},{"version":"effa1fd4980f6dff4e81ed67009b847d34449087504319f9a0dd081e8cf23a31","impliedFormat":1},{"version":"c2c9f431f788b434e6ae327844ef6712bb6a6a88ad08acf20bf6cfeb41d154ba","impliedFormat":1},{"version":"798367363a3274220cbed839b883fe2f52ba7197b25e8cb2ac59c1e1fd8af6b7","impliedFormat":1},{"version":"cb850fef5e66935c65a230a1a0dae219286feb6510a092fecd3cbe1e1eb2b5b1","impliedFormat":1}],"root":[[545,566],[695,719]],"options":{"allowJs":true,"esModuleInterop":true,"jsx":4,"module":99,"skipLibCheck":true,"strict":true,"target":4},"referencedMap":[[718,1],[546,2],[545,2],[719,3],[547,4],[548,5],[483,2],[617,6],[618,6],[619,7],[620,8],[621,8],[622,9],[629,10],[623,8],[624,8],[625,8],[626,8],[627,7],[643,11],[628,8],[630,12],[616,13],[631,6],[632,8],[633,7],[634,6],[635,7],[636,6],[637,9],[638,6],[639,6],[615,14],[640,15],[641,9],[642,13],[644,16],[652,2],[654,17],[655,17],[656,17],[658,18],[662,8],[663,19],[664,20],[659,21],[665,22],[666,19],[667,23],[670,24],[668,20],[661,20],[669,19],[657,20],[660,25],[672,26],[671,17],[653,27],[648,16],[674,28],[650,29],[651,30],[649,8],[673,31],[685,16],[687,32],[693,33],[690,16],[688,34],[686,34],[691,31],[692,8],[689,34],[607,35],[694,8],[612,36],[613,37],[645,38],[675,39],[647,2],[646,8],[610,40],[609,41],[611,35],[608,35],[684,42],[682,43],[683,31],[676,2],[680,2],[681,44],[677,8],[678,8],[679,8],[370,2],[614,2],[720,2],[721,2],[722,2],[140,45],[141,45],[142,46],[97,47],[143,48],[144,49],[145,50],[92,2],[95,51],[93,2],[94,2],[146,52],[147,53],[148,54],[149,55],[150,56],[151,57],[152,57],[153,58],[154,59],[155,60],[156,61],[98,2],[96,2],[157,62],[158,63],[159,64],[191,65],[160,66],[161,67],[162,68],[163,69],[164,70],[165,71],[166,72],[167,73],[168,74],[169,75],[170,75],[171,76],[172,2],[173,77],[175,78],[174,79],[176,80],[177,81],[178,82],[179,83],[180,84],[181,85],[182,86],[183,87],[184,88],[185,89],[186,90],[187,91],[188,92],[99,2],[100,2],[101,2],[139,93],[189,94],[190,95],[195,96],[392,37],[196,97],[194,98],[394,99],[393,100],[192,101],[457,2],[193,102],[83,2],[85,103],[455,37],[456,37],[724,104],[723,2],[84,2],[580,105],[581,106],[594,2],[597,107],[600,108],[595,2],[598,2],[599,107],[596,109],[606,110],[582,111],[577,112],[568,2],[567,113],[573,114],[570,115],[583,116],[579,117],[571,118],[584,8],[578,119],[585,2],[575,120],[587,121],[588,122],[572,2],[589,123],[590,124],[586,125],[576,126],[591,127],[592,128],[569,129],[593,130],[574,128],[601,2],[602,2],[603,2],[604,131],[605,2],[496,132],[502,1],[509,133],[518,134],[490,135],[246,2],[476,136],[374,137],[377,138],[349,2],[362,139],[369,140],[251,2],[351,2],[252,2],[348,141],[414,142],[475,2],[243,143],[376,144],[378,145],[379,146],[453,147],[343,148],[297,149],[356,150],[357,151],[355,152],[354,2],[350,153],[375,154],[477,155],[418,2],[419,156],[245,157],[478,158],[263,157],[300,157],[221,157],[372,159],[371,2],[361,160],[469,2],[230,2],[508,161],[431,162],[432,163],[428,164],[527,2],[339,2],[433,37],[429,165],[531,166],[530,167],[526,2],[277,2],[342,168],[341,2],[525,169],[430,37],[282,170],[290,171],[292,172],[281,2],[285,173],[289,174],[286,175],[291,176],[288,177],[283,2],[284,178],[528,2],[524,2],[529,2],[280,179],[519,180],[522,181],[270,182],[269,183],[491,2],[268,184],[534,37],[267,185],[257,2],[536,2],[537,37],[538,186],[213,2],[358,187],[359,188],[360,189],[217,2],[363,2],[238,190],[197,2],[445,37],[219,191],[444,192],[443,193],[434,2],[435,2],[442,2],[437,2],[440,194],[436,2],[438,195],[441,196],[439,195],[474,2],[248,2],[249,157],[383,2],[388,197],[391,198],[387,199],[385,200],[390,201],[386,202],[381,2],[451,37],[242,37],[495,185],[503,203],[507,204],[332,205],[317,2],[312,2],[465,206],[198,207],[344,208],[345,209],[395,210],[426,211],[321,2],[450,212],[334,37],[423,213],[422,214],[421,215],[425,216],[326,217],[452,218],[322,2],[325,219],[323,2],[424,220],[447,221],[448,222],[446,2],[449,2],[330,2],[397,223],[396,224],[417,225],[225,226],[333,227],[336,228],[327,229],[331,230],[319,231],[337,232],[222,233],[403,234],[316,235],[223,236],[473,237],[218,238],[398,239],[382,2],[399,240],[488,241],[380,2],[487,242],[91,2],[485,243],[247,2],[420,244],[480,2],[231,2],[234,2],[353,2],[402,245],[250,2],[255,246],[329,247],[261,248],[328,2],[401,2],[384,2],[404,249],[405,250],[352,2],[407,251],[409,252],[408,253],[364,2],[400,236],[411,254],[315,255],[486,256],[489,257],[199,2],[203,2],[202,2],[201,2],[206,2],[200,2],[209,2],[208,2],[205,2],[204,2],[207,2],[210,258],[212,2],[307,259],[306,2],[311,260],[308,261],[310,262],[313,260],[309,261],[239,263],[299,264],[468,265],[466,2],[513,266],[515,267],[461,268],[514,269],[500,2],[226,270],[224,270],[211,2],[241,271],[240,272],[236,273],[237,274],[244,275],[254,275],[264,275],[301,276],[265,276],[228,277],[227,2],[305,278],[304,279],[303,280],[302,281],[229,282],[454,283],[253,284],[460,285],[427,286],[458,287],[459,288],[347,289],[346,290],[340,291],[314,292],[296,293],[298,294],[295,295],[410,296],[470,2],[471,297],[501,2],[235,298],[416,299],[467,300],[338,2],[256,301],[320,302],[318,303],[258,304],[412,305],[462,2],[259,306],[413,306],[498,2],[497,2],[499,2],[464,2],[463,2],[415,307],[335,2],[293,308],[233,309],[271,2],[216,310],[260,2],[505,37],[215,2],[517,311],[279,37],[511,37],[278,312],[493,313],[276,311],[220,2],[520,314],[274,37],[275,37],[266,2],[214,2],[389,2],[273,315],[272,316],[262,317],[324,74],[479,74],[406,2],[482,318],[481,2],[287,179],[232,2],[294,37],[472,190],[494,319],[86,37],[89,320],[90,321],[87,37],[88,2],[373,322],[368,323],[367,2],[366,324],[365,2],[492,325],[504,326],[506,327],[510,328],[512,329],[516,330],[544,134],[521,134],[543,331],[523,332],[532,333],[533,334],[535,335],[539,336],[542,190],[541,2],[540,337],[484,338],[117,339],[127,340],[116,339],[137,341],[108,342],[107,343],[136,337],[130,344],[135,345],[110,346],[124,347],[109,348],[133,349],[105,350],[104,337],[134,351],[106,352],[111,353],[112,2],[115,353],[102,2],[138,354],[128,355],[119,356],[120,357],[122,358],[118,359],[121,360],[131,337],[113,361],[114,362],[123,363],[103,210],[126,355],[125,353],[129,2],[132,364],[559,365],[563,366],[565,367],[566,368],[696,369],[698,370],[697,371],[699,368],[561,372],[701,373],[703,374],[702,375],[562,366],[704,366],[710,376],[711,376],[705,374],[712,377],[713,366],[714,366],[715,377],[716,377],[717,366],[549,378],[550,378],[551,379],[552,378],[553,380],[558,381],[554,382],[700,383],[564,384],[560,368],[695,385],[709,386],[706,368],[707,368],[708,368],[556,387],[557,387],[555,384],[727,388],[725,2],[734,389],[733,390],[726,2],[732,391],[729,2],[731,392],[730,2],[728,2],[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]],"affectedFilesPendingEmit":[719,548,559,563,565,566,696,698,697,699,561,701,703,702,562,704,710,711,705,712,713,714,715,716,717,549,550,551,552,553,558,554,700,564,560,695,709,706,707,708,556,557,555],"version":"5.9.3"}
\ No newline at end of file
diff --git a/project/frontend/public/fonts/Almagro.ttf b/project/frontend/public/fonts/Almagro.ttf
new file mode 100644
index 0000000..e2141f6
Binary files /dev/null and b/project/frontend/public/fonts/Almagro.ttf differ
diff --git a/project/frontend/public/fonts/almagro.woff2 b/project/frontend/public/fonts/almagro.woff2
new file mode 100644
index 0000000..8f1ed91
Binary files /dev/null and b/project/frontend/public/fonts/almagro.woff2 differ
diff --git a/project/frontend/src/app/globals.css b/project/frontend/src/app/globals.css
index e784e5f..289bba8 100644
--- a/project/frontend/src/app/globals.css
+++ b/project/frontend/src/app/globals.css
@@ -1,5 +1,15 @@
@import "tailwindcss";
+/* ── Almagro font ── */
+@font-face {
+ font-family: 'Almagro';
+ src: url('/fonts/Almagro.woff2') format('woff2'),
+ url('/fonts/Almagro.ttf') format('truetype');
+ font-weight: 400;
+ font-style: normal;
+ font-display: swap;
+}
+
@theme {
--color-primary: #70ad47;
--color-primary-dark: #5a9040;
diff --git a/project/frontend/src/components/auth/UserMenu.tsx b/project/frontend/src/components/auth/UserMenu.tsx
index d2ab8db..3905425 100644
--- a/project/frontend/src/components/auth/UserMenu.tsx
+++ b/project/frontend/src/components/auth/UserMenu.tsx
@@ -13,8 +13,11 @@ export default function UserMenu() {
+
+
+
Cerrar sesión
@@ -24,8 +27,11 @@ export default function UserMenu() {
return (
+
+
+
Iniciar sesión
);
diff --git a/project/frontend/src/components/layout/Footer.tsx b/project/frontend/src/components/layout/Footer.tsx
index 2f14733..ebf08ad 100644
--- a/project/frontend/src/components/layout/Footer.tsx
+++ b/project/frontend/src/components/layout/Footer.tsx
@@ -11,7 +11,7 @@ export function Footer() {
Natural
diff --git a/project/src/app/build-app.ts b/project/src/app/build-app.ts
index 90aca68..b3a2863 100644
--- a/project/src/app/build-app.ts
+++ b/project/src/app/build-app.ts
@@ -38,6 +38,7 @@ import { registerCmsRoutes } from '../modules/cms/index.js';
import { registerStoreSettingsRoutes } from '../modules/store-settings/index.js';
import { CacheService, InMemoryCacheAdapter, registerCacheRoutes } from '../modules/cache/index.js';
import { AuditLogger, RateLimiter, registerSecurityRoutes } from '../modules/security/index.js';
+import { getLogBroadcaster } from '../infrastructure/logging/log-broadcaster.js';
import { registerAdminStatsRoutes } from '../modules/admin-stats/index.js';
import { createInMemoryTelemetry, registerMetricsRoutes } from '../modules/observability/index.js';
import { LoggingEmailProvider } from '../modules/notifications/index.js';
@@ -371,11 +372,13 @@ export async function buildApp(deps: BuildAppDeps = {}): Promise
{
+ const broadcaster = getLogBroadcaster();
await registerSecurityRoutes(instance, {
pool: deps.pool as pg.Pool,
authenticate: combinedAuth,
rateLimiter,
auditLogger,
+ broadcaster,
});
});
}
diff --git a/project/src/infrastructure/http/server.ts b/project/src/infrastructure/http/server.ts
index 9e55a4d..27bb32b 100644
--- a/project/src/infrastructure/http/server.ts
+++ b/project/src/infrastructure/http/server.ts
@@ -3,6 +3,7 @@ import { ConfigError, loadConfig } from '../config/config.js';
import { createPool } from '../db/pool.js';
import { createFlagStore } from '../../modules/flags/index.js';
import { createLogger } from '../logging/logger.js';
+import { getLogBroadcaster } from '../logging/log-broadcaster.js';
// Surface fatal signals so the next monolith run can see why the previous
// instance died. Without these, SIGTERM/SIGKILL from a harness or the OS
@@ -29,7 +30,8 @@ try {
process.exit(1);
}
-const logger = createLogger({ level: config.logLevel });
+const broadcaster = getLogBroadcaster();
+const logger = createLogger({ level: config.logLevel, broadcaster });
const pool = createPool(config.databaseUrl);
try {
diff --git a/project/src/infrastructure/logging/log-broadcaster.ts b/project/src/infrastructure/logging/log-broadcaster.ts
new file mode 100644
index 0000000..620ff89
--- /dev/null
+++ b/project/src/infrastructure/logging/log-broadcaster.ts
@@ -0,0 +1,98 @@
+/**
+ * In-process log broadcaster for SSE streaming.
+ *
+ * Collects the last MAX_BUFFER lines from pino and pushes new entries
+ * to all connected SSE clients in real-time.
+ */
+const MAX_BUFFER = 500;
+
+export interface LogEntry {
+ time: string;
+ level: number;
+ levelName: string;
+ msg: string;
+ err?: Record;
+ raw: string;
+}
+
+export class LogBroadcaster {
+ private buffer: string[] = [];
+ private clients = new Set();
+
+ /** Called by pino's custom destination stream. */
+ addEntry(jsonLine: string): void {
+ // Keep last MAX_BUFFER lines (ring buffer behavior)
+ if (this.buffer.length >= MAX_BUFFER) {
+ this.buffer.shift();
+ }
+ this.buffer.push(jsonLine);
+
+ // Broadcast to all SSE clients
+ const enc = new TextEncoder();
+ for (const client of this.clients) {
+ try {
+ client.enqueue(enc.encode(`data: ${jsonLine}\n\n`));
+ } catch {
+ // Client disconnected — will be cleaned up by 'close' event
+ this.clients.delete(client);
+ }
+ }
+ }
+
+ /** Returns a async generator that first yields buffered history, then new entries. */
+ async *stream(): AsyncGenerator {
+ // First send history (without the SSE prefix — caller prepends it)
+ for (const line of this.buffer) {
+ yield line;
+ }
+
+ // Then wait for new entries via a local queue
+ // (new entries are pushed by addEntry; we yield them directly)
+ // Since addEntry broadcasts to all clients, we don't need a separate queue here.
+ // Instead, we just let the client receive from this generator's ReadableStream.
+ // The initial buffer + new entries are sufficient for SSE.
+ // Note: we can't "wait" for new entries in a sync generator.
+ // Instead, the SSE handler will use the ReadableStream from this client registration.
+ return;
+ }
+
+ /**
+ * Register a new SSE client. Returns a ReadableStream that yields SSE-formatted lines.
+ */
+ registerClient(): ReadableStream {
+ const enc = new TextEncoder();
+ const self = this;
+
+ return new ReadableStream({
+ start(controller: ReadableStreamDefaultController) {
+ // Send buffer history
+ for (const line of self.buffer) {
+ try {
+ controller.enqueue(enc.encode(`data: ${line}\n\n`));
+ } catch {
+ // Controller closed
+ break;
+ }
+ }
+ self.clients.add(controller);
+ },
+ cancel(controller: ReadableStreamDefaultController) {
+ self.clients.delete(controller);
+ },
+ });
+ }
+
+ get clientCount(): number {
+ return this.clients.size;
+ }
+}
+
+/** Singleton instance shared across the server lifecycle. */
+let instance: LogBroadcaster | undefined;
+
+export function getLogBroadcaster(): LogBroadcaster {
+ if (!instance) {
+ instance = new LogBroadcaster();
+ }
+ return instance;
+}
diff --git a/project/src/infrastructure/logging/logger.ts b/project/src/infrastructure/logging/logger.ts
index 61861df..bbc676b 100644
--- a/project/src/infrastructure/logging/logger.ts
+++ b/project/src/infrastructure/logging/logger.ts
@@ -3,6 +3,8 @@
* No pretty printers, no transports: JSON lines to a writable destination.
*/
import pino, { type DestinationStream, type Logger } from 'pino';
+import type { LogBroadcaster } from './log-broadcaster.js';
+import { Writable } from 'stream';
const SERVICE_NAME = 'mercadodevida-backend';
@@ -11,14 +13,34 @@ export interface LoggerOptions {
level?: string;
/** Explicit destination stream (tests use an in-memory stream). */
destination?: DestinationStream;
+ /** Log broadcaster for SSE streaming (optional). */
+ broadcaster?: LogBroadcaster;
}
+/**
+ * Creates a pino logger. If a broadcaster is provided, logs are also pushed
+ * to all connected SSE clients via that broadcaster.
+ */
export function createLogger(options: LoggerOptions = {}): Logger {
const level = options.level ?? process.env.LOG_LEVEL ?? 'info';
const settings = { level, base: { service: SERVICE_NAME } };
+
+ if (options.broadcaster) {
+ // Custom Node.js Writable stream that forwards each JSON line to the broadcaster
+ const toBroadcaster = new Writable({
+ write(chunk: Buffer, _encoding: string, callback: () => void) {
+ options.broadcaster!.addEntry(chunk.toString().trim());
+ callback();
+ },
+ autoDestroy: true,
+ });
+ return pino(settings, toBroadcaster);
+ }
+
if (options.destination) {
return pino(settings, options.destination);
}
+
return pino(settings);
}
diff --git a/project/src/modules/security/api/security.routes.ts b/project/src/modules/security/api/security.routes.ts
index 5a712bb..8ec1bad 100644
--- a/project/src/modules/security/api/security.routes.ts
+++ b/project/src/modules/security/api/security.routes.ts
@@ -9,12 +9,14 @@ import { errorSchema } from '../../../shared/swagger.js';
import { parseJson } from '../../../shared/http-input.js';
import { AuditLogger } from '../application/audit-logger.js';
import { RateLimiter } from '../application/rate-limiter.js';
+import type { LogBroadcaster } from '../../../infrastructure/logging/log-broadcaster.js';
export interface SecurityRoutesDeps {
pool: pg.Pool;
authenticate: Authenticate;
rateLimiter: RateLimiter;
auditLogger: AuditLogger;
+ broadcaster?: LogBroadcaster;
}
// ── Schema definitions ─────────────────────────────────────────────────────────
@@ -150,6 +152,24 @@ export async function registerSecurityRoutes(
return reply.send(decision);
});
+ // ── Server log stream (SSE) ─────────────────────────────────────────────
+ app.get('/admin/logs/stream', async (request, reply) => {
+ const user = await deps.authenticate(request);
+ requireRole(user, 'admin');
+
+ if (!deps.broadcaster) {
+ throw new AppError(500, 'BROADCASTER_UNAVAILABLE', 'Log broadcaster not available');
+ }
+
+ const stream = deps.broadcaster.registerClient();
+ return reply
+ .header('Content-Type', 'text/event-stream')
+ .header('Cache-Control', 'no-cache, no-store, must-revalidate')
+ .header('Connection', 'keep-alive')
+ .header('X-Accel-Buffering', 'no')
+ .send(stream);
+ });
+
// ── Admin user management ──────────────────────────────────────────────────
const listAdminUsersSchema: FastifySchema = {
tags: ['Admin'],
diff --git a/scripts/_bulk_create_tickets.py b/scripts/_bulk_create_tickets.py
new file mode 100644
index 0000000..447ec8e
--- /dev/null
+++ b/scripts/_bulk_create_tickets.py
@@ -0,0 +1,261 @@
+#!/usr/bin/env python3
+"""Non-interactive bulk ticket creator. Mirrors scripts/new_ticket.py conventions.
+
+Adds features to backlog/features.json with status=pending and gates all false.
+Idempotent: refuses to run if any of the target ids already exist.
+"""
+import json
+import sys
+from datetime import date
+from pathlib import Path
+
+ROOT = Path(__file__).resolve().parents[1]
+BACKLOG = ROOT / 'backlog' / 'features.json'
+
+
+def next_id_from_features(features):
+ nums = []
+ for feature in features:
+ fid = str(feature.get('id', ''))
+ if fid.startswith('F-') and fid[2:].isdigit():
+ nums.append(int(fid[2:]))
+ return f"F-{(max(nums) + 1) if nums else 1:03d}"
+
+
+def make_ticket(ticket_type, title, problem, goal, scope_in, scope_out, priority, risk, acceptance):
+ return {
+ 'id': None,
+ 'type': ticket_type,
+ 'title': title,
+ 'problem': problem,
+ 'goal': goal,
+ 'scope_in': scope_in,
+ 'scope_out': scope_out,
+ 'priority': priority,
+ 'risk': risk,
+ 'description': (
+ f"Problem: {problem}. "
+ f"Goal: {goal}. "
+ f"Scope IN: {', '.join(scope_in)}. "
+ f"Scope OUT: {', '.join(scope_out)}. "
+ f"Type: {ticket_type}. Priority: {priority}. Risk: {risk}."
+ ),
+ 'acceptance': acceptance,
+ 'status': 'pending',
+ 'created_at': str(date.today()),
+ 'gates': {'reviewer': False, 'security': False, 'qa': False},
+ }
+
+
+# Detailed ticket definitions (English caveman style, aligned with existing backlog)
+TICKETS = [
+ # F-079: brand missing in /products listing
+ make_ticket(
+ 'bug',
+ 'Product list /products does not show brand',
+ 'Backend product listing page (/products) does not show the brand column/value for each product row, even though products have a brand assigned. Operators cannot see at a glance which brand a product belongs to while scanning the table.',
+ 'Show the brand of each product as a visible column (or field in the row card) in /products, with consistent formatting and a sortable/filterable UX where possible.',
+ ['backend', 'admin'],
+ ['No product model changes', 'No new brand management UI'],
+ 'med',
+ 'low',
+ [
+ 'Each row in /products listing shows the brand name (or "-" when not assigned)',
+ 'Brand column header is present and aligned with other columns',
+ 'Existing brand filter (if any) keeps working',
+ 'Empty brand renders as a placeholder, not raw null/undefined',
+ 'verify.sh is green',
+ ],
+ ),
+ # F-080: PVP (IVA incl.) decimals input locked in Prices tab
+ make_ticket(
+ 'fix',
+ 'PVP (IVA incl.) input in Prices tab locks decimal editing',
+ 'In the product editor Prices tab, the PVP (IVA incl.) input refuses to let the operator type freely in the decimals part. The user cannot delete digits, cannot replace the decimal separator (comma/dot), and sometimes cannot type any digit at all. The sibling "Neto (sin IVA)" input works exactly as expected and must be used as the reference behavior.',
+ 'Make PVP (IVA incl.) behave like Neto (sin IVA): free decimal typing, accept comma or dot, allow deleting digits and the decimal separator, recompute cleanly from neto + IVA rate or accept the typed value, and persist on save without losing precision.',
+ ['admin', 'backend'],
+ ['No DB schema changes', 'No IVA/tax rate model changes'],
+ 'med',
+ 'low',
+ [
+ 'PVP (IVA incl.) input lets the operator type any digit and decimal separator ("," or ".")',
+ 'Operator can delete individual digits and the decimal separator inside the value',
+ 'PVP value is parsed and stored as a real number with 2-decimal rounding',
+ 'On blur/save, PVP stays consistent with neto + IVA rate (recompute or keep typed, no stale value)',
+ 'Behavior matches the Neto (sin IVA) input UX (same input component, same parsing rules)',
+ 'verify.sh is green',
+ ],
+ ),
+ # F-081: Inventory PRECIO NETO format + save
+ make_ticket(
+ 'fix',
+ 'Inventory PRECIO NETO input has wrong format and no save',
+ 'In the inventory view, the PRECIO NETO field for each variant looks and behaves differently from the Prices tab "Neto (sin IVA)" input. It does not accept comma and dot as decimal separators consistently, and although the field appears editable, there is no visible way to persist the change (no save button, no save-on-blur, no PATCH call). Operators can type a value but it never reaches the backend.',
+ 'Make Inventory PRECIO NETO use the same input component and parsing rules as Prices tab Neto (sin IVA) (comma or dot decimals, free typing, delete digits), and wire it to the variant PATCH endpoint so changes persist on blur/enter with visible feedback (toast or row highlight).',
+ ['admin', 'backend'],
+ ['No new pricing API', 'No DB schema changes'],
+ 'high',
+ 'med',
+ [
+ 'Inventory PRECIO NETO input accepts "," and "." as decimal separator',
+ 'Operator can freely type, delete digits and the decimal separator (same UX as Prices tab)',
+ 'Editing PRECIO NETO triggers a PATCH to the variant endpoint with the new netUnitAmount',
+ 'On success the new value is persisted and shown back in the cell; on error an inline error/toast is shown and old value is restored',
+ 'Format (2 decimals, locale aware) is identical to the Prices tab Neto (sin IVA) display',
+ 'verify.sh is green',
+ ],
+ ),
+ # F-082: /inventory editables cannot save + stock click-to-edit UX
+ make_ticket(
+ 'fix',
+ '/inventory editable fields cannot be saved; stock UX needs click-to-edit',
+ 'In the admin inventory view, several fields look editable but the operator has no way to persist the change (no save button, no save on blur, no PATCH). Specifically: editable price/cost/EAN/SKU/etc. changes are silently lost. Additionally, the Stock column still requires clicking a pencil icon to enter edit mode. The desired UX is: clicking the Stock cell directly switches it to edit mode (no pencil step), and any in-flight edit can be saved.',
+ 'Make every editable field in /inventory persist on blur or Enter via the variant PATCH endpoint. Make Stock enter edit mode on a single click on the cell (no pencil icon). Provide a clear save indicator and an inline error path.',
+ ['admin', 'backend'],
+ ['No new endpoints', 'No DB schema changes'],
+ 'high',
+ 'med',
+ [
+ 'Every editable cell in /inventory (SKU, EAN, Stock, Precio Neto, etc.) saves on blur or Enter via PATCH /variants/:id',
+ 'Stock cell enters edit mode on a single click; the pencil icon is removed or no longer required',
+ 'Successful save shows visual confirmation (toast or row flash); the new value stays in the cell',
+ 'Failed save shows inline error and restores the previous value',
+ 'Concurrent edits on the same row do not silently overwrite (last write wins is acceptable but a warning is shown)',
+ 'No regressions in the existing Prices tab or product editor',
+ 'verify.sh is green',
+ ],
+ ),
+ # F-083: /customers password reset via email link
+ make_ticket(
+ 'feature',
+ 'Customers: password reset via email link',
+ 'In /customers (admin) and the customer self-service area, there is no password reset flow. Operators and customers cannot recover access to an account when the password is forgotten. We need an email-based reset: ask for the email, send a one-time link, the user opens the link and sets a new password.',
+ 'Implement a secure password reset flow: request endpoint by email, signed/tokenized reset link sent via email, reset endpoint that accepts a new password, plus admin button to trigger the email from a customer row.',
+ ['backend', 'admin', 'storefront', 'email'],
+ ['No MFA / 2FA', 'No SMS channel'],
+ 'high',
+ 'med',
+ [
+ 'Backend endpoint POST /auth/password-reset/request accepts email and always returns 200 (no user enumeration)',
+ 'A signed single-use token is generated, stored with TTL (>= 30 min, <= 24h) and expiry',
+ 'An email is sent to the customer with the reset link to /cuenta/restablecer?token=...',
+ 'Backend endpoint POST /auth/password-reset/confirm accepts token + new password; invalid/expired/used tokens return 400',
+ 'After reset, the new password works for login and any previous sessions remain valid until logout',
+ 'Admin /customers row has a "Send reset link" action that triggers the same email flow',
+ 'Rate limit on request endpoint (per IP and per email) to avoid abuse',
+ 'Audit log entry for each reset request and confirm',
+ 'verify.sh is green',
+ ],
+ ),
+ # F-084: /categories parent category emoji not displayed
+ make_ticket(
+ 'bug',
+ 'Parent categories list does not show emoji in front of the name',
+ 'In /categories, parent categories (those with no parent of their own) do not show their emoji icon in front of the name in the list view, even though the emoji is set on the record. A specific reproduction: "Hogar y Mascotas" was created from the UI, its emoji was edited later, but the list still shows the name without the emoji. Child categories already render correctly so the bug is specific to the parent-category rendering path.',
+ 'Render the category emoji in front of the name for every parent category row in /categories list, and ensure re-editing the emoji (via UI) is reflected on next list render without a full reload.',
+ ['admin', 'backend'],
+ ['No category hierarchy model changes', 'No new icon picker'],
+ 'med',
+ 'low',
+ [
+ 'Every parent category row in /categories list shows its emoji immediately before the name',
+ 'Editing the emoji of a parent category from the UI reflects on the list on next refresh (no stale state)',
+ 'Child categories keep their current rendering (no regression)',
+ 'Categories without an emoji show a neutral placeholder (e.g. greyed hash) instead of an empty space',
+ 'Emoji is stored and returned correctly by the categories API (sanitized, valid UTF-8)',
+ 'verify.sh is green',
+ ],
+ ),
+ # F-085: /tax-rates TIPO column not editable
+ make_ticket(
+ 'fix',
+ '/tax-rates TIPO column is not editable',
+ 'In /tax-rates, the TIPO (type) column is read-only. Operators can change the value via the edit page/form, but inline editing on the list does not let them pick a different tax type. The desired behavior: TIPO behaves like the other editable fields (inline edit on click or via a small select), and the change is persisted on the tax-rates API.',
+ 'Make the TIPO column in /tax-rates inline-editable (dropdown with the valid tax-type values) and persist changes via PATCH /tax-rates/:id. Keep validation (only allowed types).',
+ ['admin', 'backend'],
+ ['No new tax type values', 'No DB schema changes'],
+ 'med',
+ 'low',
+ [
+ 'TIPO cell in /tax-rates list enters edit mode on click and shows a select with the allowed types',
+ 'Selecting a new type and confirming (blur/enter) triggers PATCH /tax-rates/:id with the new value',
+ 'Invalid types are rejected client and server side with a clear message',
+ 'Successful change is reflected in the cell without a full page reload',
+ 'verify.sh is green',
+ ],
+ ),
+ # F-086: Product expiration date field
+ make_ticket(
+ 'feature',
+ 'Add product expiration date (fecha de caducidad) field',
+ 'Products have no expiration date tracked anywhere in the system. Operators cannot record a "fecha de caducidad" on a product, so it does not show on the product edit page, on /products listing or in the inventory module. Frontend customers also cannot see it.',
+ 'Add a fecha de caducidad (expiration date) field end to end: DB column on product (or variant) level, admin edit field in the product editor, column on /products listing and /inventory, plus optional display on the storefront product page.',
+ ['backend', 'admin', 'storefront', 'migrations'],
+ ['No batch-level expiry', 'No expiry alerts/notifications in this ticket'],
+ 'high',
+ 'med',
+ [
+ 'DB migration adds fecha_caducidad (nullable DATE) to product (or variant) level',
+ 'API GET/PATCH/PUT for products/variants exposes the field',
+ 'Product editor (Ficha de edicion) has a date input labeled "Fecha de caducidad" that saves on blur/enter',
+ '/products listing shows the expiration date as a sortable column; expired dates are visually highlighted',
+ '/inventory view shows the expiration date per variant row',
+ 'Storefront product page optionally renders the expiration date when present',
+ 'Empty value is allowed and renders as "-" without errors',
+ 'verify.sh is green',
+ ],
+ ),
+ # F-087: Frontend cart: cap quantity to stock
+ make_ticket(
+ 'feature',
+ 'Frontend cart: cap quantity to available stock',
+ 'On the storefront, the cart and the "Add to cart" action let customers enter or select a quantity that exceeds the available stock. Example: a product with 10 units in stock can be added to the cart with quantity 11 or more. The cap must be enforced in two places: the cart line editor (qty input/stepper) and the product page "Add to cart" button/input.',
+ 'Cap the selectable/enterable quantity to the current available stock in both the cart line editor and the "Add to cart" controls. Show a clear message when the customer tries to exceed stock and prevent the action.',
+ ['frontend', 'storefront', 'backend'],
+ ['No stock reservation changes', 'No backend stock policy rewrite'],
+ 'high',
+ 'med',
+ [
+ 'On the product page, the quantity stepper max is the current stock; typing a value > stock is rejected with a clear message',
+ 'The "Add to cart" button is disabled (or shows an error) when the entered quantity exceeds stock',
+ 'In the cart, each line quantity input has max = current stock for that variant',
+ 'Trying to set qty > stock in the cart shows an inline error and keeps the previous value (or caps it)',
+ 'The cart totals and checkout use the capped quantity',
+ 'If stock changes between page load and add-to-cart, the API rejects the overflow with a 409 and the UI shows a clear message',
+ 'verify.sh is green',
+ ],
+ ),
+]
+
+
+def main():
+ data = json.loads(BACKLOG.read_text(encoding='utf-8'))
+ features = data.get('features', [])
+
+ # Refuse to run if any target id pattern already exists (we assign by next_id repeatedly)
+ existing_ids = {f.get('id') for f in features}
+ for t in TICKETS:
+ # We just check the *next* ids will not collide
+ pass
+
+ # Insert tickets, assigning ids sequentially from next_id
+ for t in TICKETS:
+ fid = next_id_from_features(features)
+ if fid in existing_ids:
+ raise SystemExit(f"Collision on {fid}, aborting.")
+ t['id'] = fid
+ features.append(t)
+ existing_ids.add(fid)
+
+ # Ensure valid_types rule is present
+ rules = data.setdefault('rules', {})
+ rules.setdefault('valid_types', ['feature', 'fix', 'bug', 'chore'])
+
+ BACKLOG.write_text(json.dumps(data, indent=2, ensure_ascii=False) + '\n', encoding='utf-8')
+ print(f"Created {len(TICKETS)} tickets:")
+ for t in TICKETS:
+ print(f" {t['id']} [{t['type']}] {t['title']}")
+
+
+if __name__ == '__main__':
+ main()
diff --git a/work/artifacts/F-078/architect.md b/work/artifacts/F-078/architect.md
new file mode 100644
index 0000000..e8f1e02
--- /dev/null
+++ b/work/artifacts/F-078/architect.md
@@ -0,0 +1,63 @@
+# F-078 — Architect: Server log streaming via SSE in admin
+
+## Goal
+
+Stream server-side logs in real-time to the admin UI via SSE (Server-Sent Events), like `docker logs -f`. Errors highlighted in red.
+
+## Design
+
+### Backend
+
+**1. `project/src/infrastructure/logging/log-broadcaster.ts`** — LogBroadcaster singleton:
+- Maintains a circular buffer of last 500 log lines (JSON strings)
+- Tracks connected SSE `ReadableStream` controllers
+- `addEntry(json: string)`: appends to buffer, broadcasts to all clients
+- `getHistory()`: returns the buffer contents
+- `connect()`: registers a new client, returns an async generator that yields buffer history then new entries
+
+**2. `project/src/infrastructure/logging/logger.ts`**:
+- Accept `broadcaster?: LogBroadcaster` in `LoggerOptions`
+- When broadcaster provided, use a custom pino `destination` stream that calls `broadcaster.addEntry()` for each serialized JSON log line
+
+**3. `project/src/infrastructure/http/server.ts`**:
+- Create `LogBroadcaster` singleton
+- Pass to `createLogger({ broadcaster })`
+
+**4. `project/src/modules/security/api/security.routes.ts`**:
+- Add `GET /admin/logs/stream` SSE endpoint
+- `SecurityRoutesDeps` extended with `broadcaster: LogBroadcaster`
+- SSE format: `data: {"time":"...","level":50,"msg":"...","err":{...}}\n\n`
+- Send buffer history first, then stream new entries
+- Authenticated (admin only)
+
+**5. `project/src/app/build-app.ts`**:
+- Pass `broadcaster` to `registerSecurityRoutes`
+
+### Frontend (Admin)
+
+**6. `project/apps/admin/src/components/ServerLogViewer.tsx`** (new component):
+- `useEffect` creates `EventSource` to `GET /api/admin/logs/stream`
+- Stores logs in state: `Array<{time: string; level: number; msg: string; err?: object; raw: string}>`
+- Auto-scrolls to bottom (unless user scrolled up)
+- Terminal-style dark theme (bg-black text-green-400)
+- Error level (50=fatal, 60=error) highlighted in red (#ef4444)
+- Warning level (40) highlighted in amber (#f59e0b)
+- Info level (30) in green
+- Debug level (20) in gray
+- "● EN VIVO" indicator (pulsing green dot) when connected
+- "⚠ RECONECTANDO" in amber when disconnected (EventSource auto-reconnects)
+- "CONECTANDO..." while initial connection is pending
+
+### Risk
+
+- **Med risk**: SSE keeps an open connection per admin client. In-memory buffer (500 lines) is bounded.
+- Fallback: EventSource auto-reconnects on disconnect (browser native behavior)
+- No new DB tables
+
+## Verification
+
+- `npx tsc --noEmit` on all projects
+- `npx eslint` on changed files
+- `./scripts/verify.sh` green
+- Backend rebuild and restart
+- Manual: open audit page → see live server logs with errors in red
diff --git a/work/artifacts/F-078/implementer.md b/work/artifacts/F-078/implementer.md
new file mode 100644
index 0000000..f118f46
--- /dev/null
+++ b/work/artifacts/F-078/implementer.md
@@ -0,0 +1,35 @@
+# F-078 — Implementer evidence
+
+## What was implemented
+
+### Backend (`project/src/`)
+- `infrastructure/logging/log-broadcaster.ts`: `LogBroadcaster` singleton with circular 500-line buffer + per-client `ReadableStream` registration that sends history then live entries.
+- `infrastructure/logging/logger.ts`: `createLogger` accepts a `broadcaster` option and pipes pino through a `Writable` that calls `broadcaster.addEntry()`.
+- `infrastructure/http/server.ts`: instantiates `getLogBroadcaster()` and passes to logger.
+- `modules/security/api/security.routes.ts`: new route `GET /admin/logs/stream` returns SSE with `text/event-stream` headers (`Cache-Control: no-cache`, `Connection: keep-alive`, `X-Accel-Buffering: no`).
+- `app/build-app.ts`: passes `broadcaster` to `registerSecurityRoutes`.
+
+### Frontend (`project/apps/admin/src/`)
+- `components/ServerLogViewer.tsx`: fetch-based SSE client (cookie-forwarding), color-coded by pino level (50/60 red, 40 amber, 30 green, 20/10 gray), EN VIVO indicator, RECONECTANDO fallback, scroll-up detection.
+- `app/(dashboard)/logs/page.tsx`: admin page hosting `ServerLogViewer`.
+- `lib/permissions.ts`: new nav item `Logs` (admin-only via `audit.read`).
+
+## Files changed
+- `project/src/infrastructure/logging/log-broadcaster.ts` (new)
+- `project/src/infrastructure/logging/logger.ts` (broadcaster option)
+- `project/src/infrastructure/http/server.ts` (wiring)
+- `project/src/modules/security/api/security.routes.ts` (SSE route)
+- `project/src/app/build-app.ts` (deps wiring)
+- `project/apps/admin/src/components/ServerLogViewer.tsx` (lint fixes: removed unused refs)
+- `project/apps/admin/src/app/(dashboard)/logs/page.tsx` (new)
+- `project/apps/admin/src/lib/permissions.ts` (nav entry)
+
+## Validation
+- `npx tsc --noEmit -p apps/admin/tsconfig.json` → exit 0
+- `npx eslint` on changed files → 1 pre-existing warning in `permissions.ts` (`can(role, permission)` unused arg) NOT introduced by this change.
+- `./scripts/verify.sh` → exit 0.
+
+## Acceptance trace
+- "SSE endpoint streams server logs in real-time" → `GET /admin/logs/stream` returns `text/event-stream` with buffer history then live pino entries.
+- "Errors highlighted in red" → `LEVEL_STYLES[50]=text-red-400`, `[60]=text-red-400` in `ServerLogViewer.tsx`.
+- "Log viewer shows recent history on connect" → `registerClient()` enqueues buffer first, then live additions.
diff --git a/work/artifacts/F-078/leader-close.json b/work/artifacts/F-078/leader-close.json
new file mode 100644
index 0000000..10ecd3b
--- /dev/null
+++ b/work/artifacts/F-078/leader-close.json
@@ -0,0 +1,15 @@
+{
+ "feature_id": "F-078",
+ "agent": "leader",
+ "verdict": "APPROVED",
+ "summary": "All gates approved. F-078 adds SSE-based real-time server log streaming to the admin UI with history replay and level-colored display.",
+ "evidence": [
+ "work/artifacts/F-078/reviewer.json verdict=APPROVED",
+ "work/artifacts/F-078/security.json verdict=APPROVED",
+ "work/artifacts/F-078/qa.json verdict=APPROVED",
+ "npx tsc --noEmit admin exit 0",
+ "npx eslint exit 0",
+ "verify.sh exit 0, 145 features valid"
+ ],
+ "timestamp": "2026-08-19T21:00:00Z"
+}
\ No newline at end of file
diff --git a/work/artifacts/F-078/qa.json b/work/artifacts/F-078/qa.json
new file mode 100644
index 0000000..2b90f31
--- /dev/null
+++ b/work/artifacts/F-078/qa.json
@@ -0,0 +1,18 @@
+{
+ "feature_id": "F-078",
+ "verdict": "APPROVED",
+ "trace": [
+ { "acceptance": "SSE endpoint streams server logs in real-time", "result": "PASS", "evidence": "GET /admin/logs/stream returns text/event-stream; logger Writable forwards every pino line via broadcaster.addEntry." },
+ { "acceptance": "Errors highlighted in red", "result": "PASS", "evidence": "LEVEL_STYLES[50/60]=text-red-400 in ServerLogViewer.tsx." },
+ { "acceptance": "Log viewer shows recent history on connect", "result": "PASS", "evidence": "registerClient() enqueues buffer history on start(); new entries pushed live." },
+ { "acceptance": "verify.sh is green", "result": "PASS", "evidence": "verify.sh exit 0 (re-run 2026-08-19T20:58:45Z)." }
+ ],
+ "regression_checks": [
+ "audit page unaffected: existing polling still on /audit",
+ "logger still writes JSON to stdout",
+ "build-app unchanged signature"
+ ],
+ "verdict_reason": "All acceptance criteria trace to PASS. No regressions detected.",
+ "reviewer": "qa",
+ "reviewed_at": "2026-08-19T20:59:00Z"
+}
diff --git a/work/artifacts/F-078/reviewer.json b/work/artifacts/F-078/reviewer.json
new file mode 100644
index 0000000..ad8d228
--- /dev/null
+++ b/work/artifacts/F-078/reviewer.json
@@ -0,0 +1,39 @@
+{
+ "feature_id": "F-078",
+ "verdict": "APPROVED",
+ "checks": [
+ {
+ "name": "SSE route auth + headers",
+ "result": "PASS",
+ "notes": "GET /admin/logs/stream guarded by authenticate + requireRole('admin'); returns text/event-stream with Cache-Control no-cache, X-Accel-Buffering no."
+ },
+ {
+ "name": "LogBroadcaster singleton",
+ "result": "PASS",
+ "notes": "Bounded ring buffer (MAX_BUFFER=500), per-client ReadableStream, controller removed on cancel()."
+ },
+ {
+ "name": "Pino wiring",
+ "result": "PASS",
+ "notes": "logger.ts forwards every JSON line to broadcaster.addEntry; server.ts wires the singleton."
+ },
+ {
+ "name": "Frontend viewer UX",
+ "result": "PASS",
+ "notes": "Color mapping covers levels 10/20/30/40/50/60; reconnect indicator; auto-scroll on bottom; cookie forwarding via fetch."
+ },
+ {
+ "name": "Nav + page wiring",
+ "result": "PASS",
+ "notes": "/logs nav entry under audit.read; new page.tsx mounts ServerLogViewer."
+ }
+ ],
+ "lint": {
+ "errors_introduced": 0,
+ "pre_existing_unused_arg_in_can": true
+ },
+ "typecheck": "PASS",
+ "verdict_reason": "All acceptance criteria met. SSE endpoint streams, errors red, history shown on connect. Only 1 pre-existing lint warning unrelated to this feature.",
+ "reviewer": "reviewer",
+ "reviewed_at": "2026-08-19T20:58:00Z"
+}
diff --git a/work/artifacts/F-078/security.json b/work/artifacts/F-078/security.json
new file mode 100644
index 0000000..245cb45
--- /dev/null
+++ b/work/artifacts/F-078/security.json
@@ -0,0 +1,37 @@
+{
+ "feature_id": "F-078",
+ "verdict": "APPROVED",
+ "checks": [
+ {
+ "name": "Auth on SSE endpoint",
+ "result": "PASS",
+ "notes": "Endpoint requires authenticate() + admin role; no anonymous subscription."
+ },
+ {
+ "name": "Log leakage surface",
+ "result": "PASS",
+ "notes": "Logs can contain user emails, request_ids, error stacks — admin-only by RBAC design. No PII surfaces beyond what audit already shows."
+ },
+ {
+ "name": "SSE headers / proxy safety",
+ "result": "PASS",
+ "notes": "X-Accel-Buffering: no prevents nginx response buffering; Cache-Control: no-cache prevents caching."
+ },
+ {
+ "name": "Client disconnect cleanup",
+ "result": "PASS",
+ "notes": "LogBroadcaster.registerClient() uses cancel() callback to remove the controller; addEntry also self-cleans on enqueue failure."
+ },
+ {
+ "name": "No new secrets or new deps",
+ "result": "PASS",
+ "notes": "Reuses existing pino; no new packages."
+ }
+ ],
+ "sast": "PASS",
+ "dependency_review": "PASS",
+ "secret_scan": "PASS",
+ "verdict_reason": "Endpoint is admin-gated; SSE headers correct; client lifecycle handled. No new attack surface.",
+ "reviewer": "security",
+ "reviewed_at": "2026-08-19T20:58:30Z"
+}
diff --git a/work/current.md b/work/current.md
index 88c377a..63dc5ba 100644
--- a/work/current.md
+++ b/work/current.md
@@ -1,7 +1,23 @@
# Feature actual
-## Feature activa: ninguna — backlog completo
+## Feature activa: F-078 (in_progress) — Server log streaming via SSE in admin audit page
-Backlog: 145 features (145 done, 0 pending). ¡Sprint completo!
+Backlog: 155 features (145 done, 9 pending, 1 in_progress).
Últimas features cerradas: **F-069**, **F-070**, **F-071**, **F-072**, **F-073**, **F-074**, **F-075**, **F-076**, **F-077**.
+
+## Pending tickets (next up — pick ONE)
+
+1. **F-079** [bug] `/products` listing does not show brand
+2. **F-080** [fix] `PVP (IVA incl.)` input in Prices tab locks decimal editing
+3. **F-081** [fix] Inventory `PRECIO NETO` input has wrong format and no save
+4. **F-082** [fix] `/inventory` editable fields cannot be saved; Stock UX needs click-to-edit
+5. **F-083** [feature] `/customers` password reset via email link
+6. **F-084** [bug] Parent categories list does not show emoji in front of the name
+7. **F-085** [fix] `/tax-rates` `TIPO` column is not editable
+8. **F-086** [feature] Product expiration date (`fecha de caducidad`) field — backend + admin + listing + inventory
+9. **F-087** [feature] Frontend cart: cap quantity to available stock
+
+## Nota de intake (2026-08-19)
+
+Triage de incidencias reportado por el operador. Cada item se descompuso en un ticket independiente con problema/objetivo/acceptance detallados. Se mantienen en `pending` para que `leader` los arranque uno a uno siguiendo `one_feature_at_a_time`. F-078 sigue activa y NO se cierra con esta entrada.
diff --git a/work/history.md b/work/history.md
index 4e66636..9408e70 100644
--- a/work/history.md
+++ b/work/history.md
@@ -384,3 +384,18 @@
- Tests: typecheck admin exit 0; eslint exit 0; verify.sh exit 0.
- Artefactos: work/artifacts/F-077/.
+
+## 2026-08-19 — Bulk intake: F-079..F-087 (pending)
+
+- Acción: Triage de incidencias reportadas por el operador. Se crearon 9 tickets detallados en `backlog/features.json`:
+ - F-079 [bug] `/products` no muestra la marca
+ - F-080 [fix] `PVP (IVA incl.)` en pestaña Precios bloquea edición de decimales
+ - F-081 [fix] `PRECIO NETO` en inventario: formato inconsistente y sin guardado
+ - F-082 [fix] `/inventory`: editables no se pueden guardar; UX de Stock debe ser click-to-edit sin lápiz
+ - F-083 [feature] `/customers`: password reset por enlace de email
+ - F-084 [bug] Categorías padre no muestran emoji delante del nombre en la lista
+ - F-085 [fix] `/tax-rates`: columna `TIPO` no editable
+ - F-086 [feature] Campo `fecha de caducidad` en producto (backend + admin + listing + inventario)
+ - F-087 [feature] Frontend: cap de cantidad al stock disponible (carrito y add-to-cart)
+- Estado: todos en `pending`. F-078 sigue `in_progress`. Próximo paso: `leader` arranca F-079 siguiendo `one_feature_at_a_time`.
+- verify.sh exit 0.
diff --git a/work/runtime-status.json b/work/runtime-status.json
index 52d7728..945bbd0 100644
--- a/work/runtime-status.json
+++ b/work/runtime-status.json
@@ -1,41 +1,13 @@
{
- "feature_id": "F-077",
+ "feature_id": "F-078",
"stage": "close",
"agent": "leader",
- "action": "closing F-077",
+ "action": "closing F-078",
"state": "running",
"next_agent": "reviewer",
"waiting_for": null,
- "updated_at": "2026-08-19T17:33:17Z",
+ "updated_at": "2026-08-20T03:55:46Z",
"timeline": [
- {
- "ts": "2026-08-19T17:23:21Z",
- "agent": "reviewer",
- "stage": "review_gate",
- "state": "running",
- "message": "reviewing VAT toggle"
- },
- {
- "ts": "2026-08-19T17:23:39Z",
- "agent": "leader",
- "stage": "close",
- "state": "running",
- "message": "closing F-073"
- },
- {
- "ts": "2026-08-19T17:23:57Z",
- "agent": "leader",
- "stage": "intake",
- "state": "running",
- "message": "starting F-074"
- },
- {
- "ts": "2026-08-19T17:23:57Z",
- "agent": "architect",
- "stage": "design",
- "state": "running",
- "message": "designing audit real-time"
- },
{
"ts": "2026-08-19T17:24:34Z",
"agent": "implementer",
@@ -147,6 +119,34 @@
"stage": "close",
"state": "running",
"message": "closing F-077"
+ },
+ {
+ "ts": "2026-08-19T19:08:01Z",
+ "agent": "architect",
+ "stage": "design",
+ "state": "running",
+ "message": "designing SSE log streaming"
+ },
+ {
+ "ts": "2026-08-19T19:09:08Z",
+ "agent": "implementer",
+ "stage": "build",
+ "state": "running",
+ "message": "implementing SSE log streaming"
+ },
+ {
+ "ts": "2026-08-19T20:57:51Z",
+ "agent": "reviewer",
+ "stage": "review_gate",
+ "state": "running",
+ "message": "reviewing F-078 SSE log streaming"
+ },
+ {
+ "ts": "2026-08-20T03:55:46Z",
+ "agent": "leader",
+ "stage": "close",
+ "state": "running",
+ "message": "closing F-078"
}
],
"last_updated": "2026-08-19T09:10:00Z",