@igstack/app-catalog-backend-core 3.0.0 → 4.0.0-alpha-20260919004140
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/db/syncAppCatalog.mjs +1 -0
- package/dist/db/syncAppCatalog.mjs.map +1 -1
- package/dist/generated/prisma/internal/class.mjs +4 -4
- package/dist/generated/prisma/internal/class.mjs.map +1 -1
- package/dist/generated/prisma/internal/prismaNamespace.d.mts +1 -0
- package/dist/generated/prisma/internal/prismaNamespace.d.mts.map +1 -1
- package/dist/generated/prisma/models/DbResource.d.mts +44 -1
- package/dist/generated/prisma/models/DbResource.d.mts.map +1 -1
- package/dist/index.d.mts +2 -2
- package/dist/modules/appCatalog/service.d.mts.map +1 -1
- package/dist/modules/appCatalog/service.mjs +2 -0
- package/dist/modules/appCatalog/service.mjs.map +1 -1
- package/dist/types/common/appCatalogTypes.d.mts +27 -1
- package/dist/types/common/appCatalogTypes.d.mts.map +1 -1
- package/package.json +4 -4
- package/prisma/schema.prisma +2 -0
- package/src/db/syncAppCatalog.ts +1 -0
- package/src/generated/prisma/internal/class.ts +4 -4
- package/src/generated/prisma/internal/prismaNamespace.ts +1 -0
- package/src/generated/prisma/internal/prismaNamespaceBrowser.ts +1 -0
- package/src/generated/prisma/models/DbResource.ts +45 -1
- package/src/modules/appCatalog/service.ts +5 -0
- package/src/prisma-json-types.d.ts +3 -0
- package/src/types/common/appCatalogTypes.ts +31 -0
|
@@ -157,6 +157,7 @@ async function syncAppCatalog(resources, tagsDefinitions, approvalMethods, scree
|
|
|
157
157
|
aiPrompt: resource.aiPrompt ?? null,
|
|
158
158
|
urlIssues: resource.urlIssues ?? [],
|
|
159
159
|
tiers: resource.tiers ?? null,
|
|
160
|
+
quickJumps: resource.quickJumps ?? null,
|
|
160
161
|
parentSlug: resource.parentSlug ?? null,
|
|
161
162
|
tier: resource.tier ?? null,
|
|
162
163
|
aliases: resource.aliases ?? [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"syncAppCatalog.mjs","names":[],"sources":["../../src/db/syncAppCatalog.ts"],"sourcesContent":["import type {\n GroupingTagDefinition,\n Resource,\n} from '../types/common/appCatalogTypes'\nimport { getDbClient } from './client'\nimport { TABLE_SYNC_MAGAZINE } from './tableSyncMagazine'\nimport { tableSyncPrisma } from './tableSyncPrismaAdapter'\nimport { readFile, readdir, stat } from 'node:fs/promises'\nimport { group } from 'radashi'\nimport { upsertAsset } from '../modules/assets/upsertAsset'\nimport type { ApprovalMethod, Group, Person } from '../types'\nimport type { PrismaClient } from '../generated/prisma/client'\nimport { naturalSort } from '../utils/naturalSort'\nimport { parseSourceSlug } from '../utils/parseSourceSlug'\n\nexport interface SyncAppCatalogResult {\n created: number\n updated: number\n deleted: number\n total: number\n}\n\ninterface AssetSyncResult {\n screenshotIds: string[]\n iconName: string | null\n}\n\nfunction isFileNotFoundError(error: unknown): boolean {\n return (\n error instanceof Error &&\n 'code' in error &&\n (error as NodeJS.ErrnoException).code === 'ENOENT'\n )\n}\n\nasync function processAssetDirectory(\n dirPath: string,\n appSlug: string,\n assetType: 'screenshot' | 'icon',\n prisma: PrismaClient,\n): Promise<string[]> {\n try {\n const files = await readdir(dirPath)\n const sortedFiles = naturalSort(files)\n const assetIds: string[] = []\n\n for (let i = 0; i < sortedFiles.length; i++) {\n const fileName = sortedFiles[i]\n if (!fileName) continue\n\n const assetName =\n assetType === 'screenshot'\n ? `${appSlug}-screenshot-${i + 1}`\n : `${appSlug}-icon`\n\n const id = await upsertAsset({\n prisma,\n buffer: await readFile(`${dirPath}/${fileName}`),\n originalFilename: fileName,\n name: assetName,\n assetType,\n })\n assetIds.push(id)\n\n // For icons, only process the first file\n if (assetType === 'icon') {\n break\n }\n }\n\n return assetIds\n } catch (error: unknown) {\n if (isFileNotFoundError(error)) {\n return []\n }\n throw error\n }\n}\n\nasync function syncAppAssets(\n appSlug: string,\n appPath: string,\n prisma: PrismaClient,\n): Promise<AssetSyncResult> {\n const screenshotIds = await processAssetDirectory(\n `${appPath}/screenshots`,\n appSlug,\n 'screenshot',\n prisma,\n )\n\n const iconIds = await processAssetDirectory(\n `${appPath}/icons`,\n appSlug,\n 'icon',\n prisma,\n )\n\n return {\n screenshotIds,\n iconName: iconIds.length > 0 ? `${appSlug}-icon` : null,\n }\n}\n\nasync function syncAssetsFromFileSystem(\n resources: Resource[],\n allAppsAssetsPath: string,\n) {\n const appDirectories = await readdir(allAppsAssetsPath)\n const prisma = getDbClient()\n const bySlug = group(resources, (a) => a.slug)\n\n for (const appDirName of appDirectories) {\n try {\n const stats = await stat(`${allAppsAssetsPath}/${appDirName}`)\n if (!stats.isDirectory()) {\n continue\n }\n } catch (error: unknown) {\n if (isFileNotFoundError(error)) {\n continue\n }\n throw error\n }\n\n const appSlug = appDirName\n if (!bySlug[appSlug]) {\n throw new Error(\n `App '${appSlug}' does not exist in the app catalog. Existing apps: ${Object.keys(bySlug).join(', ')}`,\n )\n }\n\n try {\n const { screenshotIds, iconName } = await syncAppAssets(\n appSlug,\n `${allAppsAssetsPath}/${appDirName}`,\n prisma,\n )\n\n const updateData: {\n screenshotIds?: string[]\n iconName?: string | null\n } = {}\n\n if (screenshotIds.length > 0) {\n updateData.screenshotIds = screenshotIds\n }\n if (iconName !== null) {\n updateData.iconName = iconName\n }\n\n if (Object.keys(updateData).length > 0) {\n await prisma.dbResource.update({\n where: { slug: appSlug },\n data: updateData,\n })\n }\n } catch (error: unknown) {\n const errorMessage =\n error instanceof Error ? error.message : String(error)\n throw new Error(\n `Error while upserting assets for app '${appSlug}': ${errorMessage}`,\n )\n }\n }\n}\n\n/**\n * Optional data to sync alongside the core app catalog.\n */\nexport interface SyncAppCatalogOptions {\n persons?: Person[]\n groups?: Group[]\n}\n\n/**\n * Syncs app catalog data to the database using table sync.\n * This will create new resources, update existing ones, and delete any that are no longer in the input.\n *\n * Note: Call connectDb() before and disconnectDb() after if running in a script.\n */\nexport async function syncAppCatalog(\n resources: Resource[],\n tagsDefinitions: GroupingTagDefinition[],\n approvalMethods: ApprovalMethod[],\n screenshotsPath?: string,\n options?: SyncAppCatalogOptions,\n): Promise<SyncAppCatalogResult> {\n try {\n const prisma = getDbClient()\n\n // Sync Persons first (groups depend on persons via memberships)\n if (options?.persons) {\n const dbPersons = options.persons.map((p) => ({\n slug: p.slug,\n firstName: p.firstName,\n lastName: p.lastName,\n email: p.email ?? null,\n }))\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbPerson,\n }).sync(dbPersons)\n }\n\n // Sync Groups (without memberships first)\n if (options?.groups) {\n const dbGroups = options.groups.map((g) => ({\n slug: g.slug,\n displayName: g.displayName ?? null,\n email: g.email ?? null,\n }))\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbGroup,\n }).sync(dbGroups)\n\n // Now sync GroupMemberships\n const allMemberships = options.groups.flatMap((g) =>\n g.memberSlugs.map((personSlug) => ({\n groupSlug: g.slug,\n personSlug,\n })),\n )\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbGroupMembership,\n }).sync(allMemberships)\n }\n\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbApprovalMethod,\n }).sync(approvalMethods)\n\n const sync = tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbResource,\n })\n\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbAppTagDefinition,\n }).sync(tagsDefinitions)\n\n // Collect all unique source slugs for sync\n const uniqueSourceSlugs = new Set<string>()\n for (const resource of resources) {\n for (const source of resource.sources ?? []) {\n const url = typeof source === 'string' ? source : source.url\n const sourceSlug = parseSourceSlug(url)\n uniqueSourceSlugs.add(sourceSlug)\n }\n }\n\n // Sync Source entries using tableSyncPrisma\n const sources = Array.from(uniqueSourceSlugs).map((slug) => ({\n slug,\n userPrompt: null,\n }))\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.Source,\n }).sync(sources)\n\n // Sort resources: parents first (no parentSlug), then children — for FK integrity\n const sortedResources = [...resources].sort((a, b) => {\n const aIsChild = a.parentSlug ? 1 : 0\n const bIsChild = b.parentSlug ? 1 : 0\n return aIsChild - bIsChild\n })\n\n // Transform Resource to DbResource format (scalar fields only)\n const dbResources = sortedResources.map((resource) => {\n const slug =\n resource.slug ||\n resource.displayName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n\n return {\n slug,\n type: resource.type ?? 'application',\n displayName: resource.displayName,\n abbreviation: resource.abbreviation ?? null,\n nicknames: resource.nicknames ?? [],\n description: resource.description,\n teams: resource.teams ?? [],\n accessRequest: resource.accessRequest ?? null,\n notes: resource.notes ?? null,\n tags: resource.tags ?? [],\n appUrl: resource.appUrl ?? null,\n links: resource.links ?? null,\n iconName: resource.iconName ?? null,\n screenshotIds: resource.screenshotIds ?? [],\n deprecated: resource.deprecated ?? null,\n aiPrompt: resource.aiPrompt ?? null,\n // aiMemory intentionally excluded from bulk sync — it is AI-owned and\n // preserved across restarts. Static-config values are seeded below (if DB is null).\n urlIssues: resource.urlIssues ?? [],\n tiers: resource.tiers ?? null,\n // Fields from former SubResource\n parentSlug: resource.parentSlug ?? null,\n tier: resource.tier ?? null,\n aliases: resource.aliases ?? [],\n ownerPersonSlug: resource.ownerPersonSlug ?? null,\n approverSlugs: resource.approverSlugs ?? [],\n accessComments: resource.accessComments ?? null,\n extra: resource.extra ?? null,\n lastCheckedAt: resource.lastCheckedAt\n ? new Date(resource.lastCheckedAt)\n : null,\n nextCheckAfter: resource.nextCheckAfter\n ? new Date(resource.nextCheckAfter)\n : null,\n lastContentChangeAt: resource.lastContentChangeAt\n ? new Date(resource.lastContentChangeAt)\n : null,\n createdAt: resource.catalogAddedAt\n ? new Date(resource.catalogAddedAt)\n : undefined,\n }\n })\n\n // Sync resources\n const result = await sync.sync(dbResources)\n\n // Backfill catalogAddedAt → DB createdAt. Uses $executeRaw (not updateMany)\n // because Prisma's new client engine may treat @default(now()) fields as\n // server-managed and silently omit them from the SET clause. Raw SQL is the\n // only reliable path. The WHERE guard makes it idempotent: fires only when\n // the DB date is newer than catalogAddedAt (e.g. after a DB rebuild).\n for (const resource of resources) {\n if (!resource.catalogAddedAt) continue\n const addedAt = new Date(resource.catalogAddedAt)\n const slug =\n resource.slug ||\n resource.displayName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n await prisma.$executeRaw`\n UPDATE \"DbResource\"\n SET \"createdAt\" = ${addedAt}\n WHERE \"slug\" = ${slug} AND \"createdAt\" > ${addedAt}\n `\n }\n\n // Resolve slug -> id for synced resources so SourceReference can reference by resourceId\n const slugs = dbResources.map((a) => a.slug)\n const resourceRows = await prisma.dbResource.findMany({\n where: { slug: { in: slugs } },\n select: { slug: true, id: true },\n })\n const slugToId = Object.fromEntries(resourceRows.map((r) => [r.slug, r.id]))\n\n // Build allSourceRefs with resourceId (slug already resolved to id)\n const allSourceRefs = sortedResources.flatMap((resource) => {\n const resourceSlug =\n resource.slug ||\n resource.displayName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n const resourceId = slugToId[resourceSlug]\n if (!resourceId) {\n throw new Error(\n `Resource '${resourceSlug}' has no id after sync. Existing slugs: ${Object.keys(slugToId).join(', ')}`,\n )\n }\n\n return (resource.sources ?? []).map((source) => {\n const url = typeof source === 'string' ? source : source.url\n const sourceSlug = parseSourceSlug(url)\n return {\n resourceId,\n sourceSlug,\n url,\n parseDate: null,\n excerpts: [],\n userPrompt: null,\n }\n })\n })\n\n // Then sync all SourceReferences (with set semantics: old ones deleted, new ones created)\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.SourceReference,\n }).sync(allSourceRefs)\n\n // Seed aiMemory only for resources where the static config provides an initial value\n // and the DB currently has none. This preserves AI-written updates across restarts.\n const resourcesWithAiMemorySeed = sortedResources.filter(\n (r) => r.aiMemory != null && r.aiMemory.trim() !== '',\n )\n if (resourcesWithAiMemorySeed.length > 0) {\n for (const resource of resourcesWithAiMemorySeed) {\n const slug =\n resource.slug ||\n resource.displayName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n await prisma.dbResource.updateMany({\n where: { slug, aiMemory: null },\n data: { aiMemory: resource.aiMemory },\n })\n }\n }\n\n // Get actual synced data to calculate stats\n const actual = result.getActual()\n\n if (screenshotsPath) {\n await syncAssetsFromFileSystem(resources, screenshotsPath)\n } else {\n console.warn('Do not sync screenhots')\n }\n\n return {\n created:\n actual.length - resources.length + (resources.length - actual.length),\n updated: 0, // TableSync doesn't expose this directly\n deleted: 0, // TableSync doesn't expose this directly\n total: actual.length,\n }\n } catch (error) {\n // Wrap error with context\n const errorMessage = error instanceof Error ? error.message : String(error)\n const errorStack = error instanceof Error ? error.stack : undefined\n\n throw new Error(\n `Error syncing app catalog: ${errorMessage}\\n\\nDetails:\\n${errorStack || 'No stack trace available'}`,\n )\n }\n}\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"syncAppCatalog.mjs","names":[],"sources":["../../src/db/syncAppCatalog.ts"],"sourcesContent":["import type {\n GroupingTagDefinition,\n Resource,\n} from '../types/common/appCatalogTypes'\nimport { getDbClient } from './client'\nimport { TABLE_SYNC_MAGAZINE } from './tableSyncMagazine'\nimport { tableSyncPrisma } from './tableSyncPrismaAdapter'\nimport { readFile, readdir, stat } from 'node:fs/promises'\nimport { group } from 'radashi'\nimport { upsertAsset } from '../modules/assets/upsertAsset'\nimport type { ApprovalMethod, Group, Person } from '../types'\nimport type { PrismaClient } from '../generated/prisma/client'\nimport { naturalSort } from '../utils/naturalSort'\nimport { parseSourceSlug } from '../utils/parseSourceSlug'\n\nexport interface SyncAppCatalogResult {\n created: number\n updated: number\n deleted: number\n total: number\n}\n\ninterface AssetSyncResult {\n screenshotIds: string[]\n iconName: string | null\n}\n\nfunction isFileNotFoundError(error: unknown): boolean {\n return (\n error instanceof Error &&\n 'code' in error &&\n (error as NodeJS.ErrnoException).code === 'ENOENT'\n )\n}\n\nasync function processAssetDirectory(\n dirPath: string,\n appSlug: string,\n assetType: 'screenshot' | 'icon',\n prisma: PrismaClient,\n): Promise<string[]> {\n try {\n const files = await readdir(dirPath)\n const sortedFiles = naturalSort(files)\n const assetIds: string[] = []\n\n for (let i = 0; i < sortedFiles.length; i++) {\n const fileName = sortedFiles[i]\n if (!fileName) continue\n\n const assetName =\n assetType === 'screenshot'\n ? `${appSlug}-screenshot-${i + 1}`\n : `${appSlug}-icon`\n\n const id = await upsertAsset({\n prisma,\n buffer: await readFile(`${dirPath}/${fileName}`),\n originalFilename: fileName,\n name: assetName,\n assetType,\n })\n assetIds.push(id)\n\n // For icons, only process the first file\n if (assetType === 'icon') {\n break\n }\n }\n\n return assetIds\n } catch (error: unknown) {\n if (isFileNotFoundError(error)) {\n return []\n }\n throw error\n }\n}\n\nasync function syncAppAssets(\n appSlug: string,\n appPath: string,\n prisma: PrismaClient,\n): Promise<AssetSyncResult> {\n const screenshotIds = await processAssetDirectory(\n `${appPath}/screenshots`,\n appSlug,\n 'screenshot',\n prisma,\n )\n\n const iconIds = await processAssetDirectory(\n `${appPath}/icons`,\n appSlug,\n 'icon',\n prisma,\n )\n\n return {\n screenshotIds,\n iconName: iconIds.length > 0 ? `${appSlug}-icon` : null,\n }\n}\n\nasync function syncAssetsFromFileSystem(\n resources: Resource[],\n allAppsAssetsPath: string,\n) {\n const appDirectories = await readdir(allAppsAssetsPath)\n const prisma = getDbClient()\n const bySlug = group(resources, (a) => a.slug)\n\n for (const appDirName of appDirectories) {\n try {\n const stats = await stat(`${allAppsAssetsPath}/${appDirName}`)\n if (!stats.isDirectory()) {\n continue\n }\n } catch (error: unknown) {\n if (isFileNotFoundError(error)) {\n continue\n }\n throw error\n }\n\n const appSlug = appDirName\n if (!bySlug[appSlug]) {\n throw new Error(\n `App '${appSlug}' does not exist in the app catalog. Existing apps: ${Object.keys(bySlug).join(', ')}`,\n )\n }\n\n try {\n const { screenshotIds, iconName } = await syncAppAssets(\n appSlug,\n `${allAppsAssetsPath}/${appDirName}`,\n prisma,\n )\n\n const updateData: {\n screenshotIds?: string[]\n iconName?: string | null\n } = {}\n\n if (screenshotIds.length > 0) {\n updateData.screenshotIds = screenshotIds\n }\n if (iconName !== null) {\n updateData.iconName = iconName\n }\n\n if (Object.keys(updateData).length > 0) {\n await prisma.dbResource.update({\n where: { slug: appSlug },\n data: updateData,\n })\n }\n } catch (error: unknown) {\n const errorMessage =\n error instanceof Error ? error.message : String(error)\n throw new Error(\n `Error while upserting assets for app '${appSlug}': ${errorMessage}`,\n )\n }\n }\n}\n\n/**\n * Optional data to sync alongside the core app catalog.\n */\nexport interface SyncAppCatalogOptions {\n persons?: Person[]\n groups?: Group[]\n}\n\n/**\n * Syncs app catalog data to the database using table sync.\n * This will create new resources, update existing ones, and delete any that are no longer in the input.\n *\n * Note: Call connectDb() before and disconnectDb() after if running in a script.\n */\nexport async function syncAppCatalog(\n resources: Resource[],\n tagsDefinitions: GroupingTagDefinition[],\n approvalMethods: ApprovalMethod[],\n screenshotsPath?: string,\n options?: SyncAppCatalogOptions,\n): Promise<SyncAppCatalogResult> {\n try {\n const prisma = getDbClient()\n\n // Sync Persons first (groups depend on persons via memberships)\n if (options?.persons) {\n const dbPersons = options.persons.map((p) => ({\n slug: p.slug,\n firstName: p.firstName,\n lastName: p.lastName,\n email: p.email ?? null,\n }))\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbPerson,\n }).sync(dbPersons)\n }\n\n // Sync Groups (without memberships first)\n if (options?.groups) {\n const dbGroups = options.groups.map((g) => ({\n slug: g.slug,\n displayName: g.displayName ?? null,\n email: g.email ?? null,\n }))\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbGroup,\n }).sync(dbGroups)\n\n // Now sync GroupMemberships\n const allMemberships = options.groups.flatMap((g) =>\n g.memberSlugs.map((personSlug) => ({\n groupSlug: g.slug,\n personSlug,\n })),\n )\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbGroupMembership,\n }).sync(allMemberships)\n }\n\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbApprovalMethod,\n }).sync(approvalMethods)\n\n const sync = tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbResource,\n })\n\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.DbAppTagDefinition,\n }).sync(tagsDefinitions)\n\n // Collect all unique source slugs for sync\n const uniqueSourceSlugs = new Set<string>()\n for (const resource of resources) {\n for (const source of resource.sources ?? []) {\n const url = typeof source === 'string' ? source : source.url\n const sourceSlug = parseSourceSlug(url)\n uniqueSourceSlugs.add(sourceSlug)\n }\n }\n\n // Sync Source entries using tableSyncPrisma\n const sources = Array.from(uniqueSourceSlugs).map((slug) => ({\n slug,\n userPrompt: null,\n }))\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.Source,\n }).sync(sources)\n\n // Sort resources: parents first (no parentSlug), then children — for FK integrity\n const sortedResources = [...resources].sort((a, b) => {\n const aIsChild = a.parentSlug ? 1 : 0\n const bIsChild = b.parentSlug ? 1 : 0\n return aIsChild - bIsChild\n })\n\n // Transform Resource to DbResource format (scalar fields only)\n const dbResources = sortedResources.map((resource) => {\n const slug =\n resource.slug ||\n resource.displayName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n\n return {\n slug,\n type: resource.type ?? 'application',\n displayName: resource.displayName,\n abbreviation: resource.abbreviation ?? null,\n nicknames: resource.nicknames ?? [],\n description: resource.description,\n teams: resource.teams ?? [],\n accessRequest: resource.accessRequest ?? null,\n notes: resource.notes ?? null,\n tags: resource.tags ?? [],\n appUrl: resource.appUrl ?? null,\n links: resource.links ?? null,\n iconName: resource.iconName ?? null,\n screenshotIds: resource.screenshotIds ?? [],\n deprecated: resource.deprecated ?? null,\n aiPrompt: resource.aiPrompt ?? null,\n // aiMemory intentionally excluded from bulk sync — it is AI-owned and\n // preserved across restarts. Static-config values are seeded below (if DB is null).\n urlIssues: resource.urlIssues ?? [],\n tiers: resource.tiers ?? null,\n quickJumps: resource.quickJumps ?? null,\n // Fields from former SubResource\n parentSlug: resource.parentSlug ?? null,\n tier: resource.tier ?? null,\n aliases: resource.aliases ?? [],\n ownerPersonSlug: resource.ownerPersonSlug ?? null,\n approverSlugs: resource.approverSlugs ?? [],\n accessComments: resource.accessComments ?? null,\n extra: resource.extra ?? null,\n lastCheckedAt: resource.lastCheckedAt\n ? new Date(resource.lastCheckedAt)\n : null,\n nextCheckAfter: resource.nextCheckAfter\n ? new Date(resource.nextCheckAfter)\n : null,\n lastContentChangeAt: resource.lastContentChangeAt\n ? new Date(resource.lastContentChangeAt)\n : null,\n createdAt: resource.catalogAddedAt\n ? new Date(resource.catalogAddedAt)\n : undefined,\n }\n })\n\n // Sync resources\n const result = await sync.sync(dbResources)\n\n // Backfill catalogAddedAt → DB createdAt. Uses $executeRaw (not updateMany)\n // because Prisma's new client engine may treat @default(now()) fields as\n // server-managed and silently omit them from the SET clause. Raw SQL is the\n // only reliable path. The WHERE guard makes it idempotent: fires only when\n // the DB date is newer than catalogAddedAt (e.g. after a DB rebuild).\n for (const resource of resources) {\n if (!resource.catalogAddedAt) continue\n const addedAt = new Date(resource.catalogAddedAt)\n const slug =\n resource.slug ||\n resource.displayName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n await prisma.$executeRaw`\n UPDATE \"DbResource\"\n SET \"createdAt\" = ${addedAt}\n WHERE \"slug\" = ${slug} AND \"createdAt\" > ${addedAt}\n `\n }\n\n // Resolve slug -> id for synced resources so SourceReference can reference by resourceId\n const slugs = dbResources.map((a) => a.slug)\n const resourceRows = await prisma.dbResource.findMany({\n where: { slug: { in: slugs } },\n select: { slug: true, id: true },\n })\n const slugToId = Object.fromEntries(resourceRows.map((r) => [r.slug, r.id]))\n\n // Build allSourceRefs with resourceId (slug already resolved to id)\n const allSourceRefs = sortedResources.flatMap((resource) => {\n const resourceSlug =\n resource.slug ||\n resource.displayName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n const resourceId = slugToId[resourceSlug]\n if (!resourceId) {\n throw new Error(\n `Resource '${resourceSlug}' has no id after sync. Existing slugs: ${Object.keys(slugToId).join(', ')}`,\n )\n }\n\n return (resource.sources ?? []).map((source) => {\n const url = typeof source === 'string' ? source : source.url\n const sourceSlug = parseSourceSlug(url)\n return {\n resourceId,\n sourceSlug,\n url,\n parseDate: null,\n excerpts: [],\n userPrompt: null,\n }\n })\n })\n\n // Then sync all SourceReferences (with set semantics: old ones deleted, new ones created)\n await tableSyncPrisma({\n prisma,\n ...TABLE_SYNC_MAGAZINE.SourceReference,\n }).sync(allSourceRefs)\n\n // Seed aiMemory only for resources where the static config provides an initial value\n // and the DB currently has none. This preserves AI-written updates across restarts.\n const resourcesWithAiMemorySeed = sortedResources.filter(\n (r) => r.aiMemory != null && r.aiMemory.trim() !== '',\n )\n if (resourcesWithAiMemorySeed.length > 0) {\n for (const resource of resourcesWithAiMemorySeed) {\n const slug =\n resource.slug ||\n resource.displayName\n .toLowerCase()\n .replace(/[^a-z0-9]+/g, '-')\n .replace(/^-+|-+$/g, '')\n await prisma.dbResource.updateMany({\n where: { slug, aiMemory: null },\n data: { aiMemory: resource.aiMemory },\n })\n }\n }\n\n // Get actual synced data to calculate stats\n const actual = result.getActual()\n\n if (screenshotsPath) {\n await syncAssetsFromFileSystem(resources, screenshotsPath)\n } else {\n console.warn('Do not sync screenhots')\n }\n\n return {\n created:\n actual.length - resources.length + (resources.length - actual.length),\n updated: 0, // TableSync doesn't expose this directly\n deleted: 0, // TableSync doesn't expose this directly\n total: actual.length,\n }\n } catch (error) {\n // Wrap error with context\n const errorMessage = error instanceof Error ? error.message : String(error)\n const errorStack = error instanceof Error ? error.stack : undefined\n\n throw new Error(\n `Error syncing app catalog: ${errorMessage}\\n\\nDetails:\\n${errorStack || 'No stack trace available'}`,\n )\n }\n}\n"],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@ const config = {
|
|
|
6
6
|
"clientVersion": "7.4.2",
|
|
7
7
|
"engineVersion": "94a226be1cf2967af2541cca5529f0f7ba866919",
|
|
8
8
|
"activeProvider": "postgresql",
|
|
9
|
-
"inlineSchema": "// Prisma schema for backend-core library\n// Uses AC_CORE_DATABASE_URL environment variable\n\ndatasource db {\n provider = \"postgresql\"\n}\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n}\n\n// ========== Better Auth Models ==========\nmodel user {\n id String @id\n name String?\n email String? @unique\n emailVerified Boolean @default(false)\n image String?\n role String @default(\"user\") // 'user' | 'admin'\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n accounts account[]\n sessions session[]\n}\n\nmodel session {\n id String @id\n token String @unique\n userId String\n user user @relation(fields: [userId], references: [id], onDelete: Cascade)\n expiresAt DateTime\n ipAddress String?\n userAgent String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel account {\n id String @id\n userId String\n user user @relation(fields: [userId], references: [id], onDelete: Cascade)\n accountId String\n providerId String\n refreshToken String?\n accessToken String?\n accessTokenExpiresAt DateTime?\n refreshTokenExpiresAt DateTime?\n idToken String?\n scope String?\n password String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([providerId, accountId])\n}\n\nmodel verification {\n id String @id\n identifier String\n value String\n expiresAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([identifier, value])\n}\n\n// ========== EnvHopper Models ==========\n\nenum ApprovalMethodType {\n service\n personTeam\n custom\n noAccessRequired\n unknown\n}\n\n// ========== Person & Group Models ==========\n\nmodel DbPerson {\n slug String @id // email or synthetic\n firstName String\n lastName String\n email String? @unique\n memberships DbGroupMembership[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel DbGroup {\n slug String @id\n displayName String?\n email String? // team alias\n memberships DbGroupMembership[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel DbGroupMembership {\n id Int @id @default(autoincrement())\n groupSlug String\n group DbGroup @relation(fields: [groupSlug], references: [slug], onDelete: Cascade)\n personSlug String\n person DbPerson @relation(fields: [personSlug], references: [slug], onDelete: Cascade)\n\n @@unique([groupSlug, personSlug])\n}\n\nmodel DbApprovalMethod {\n slug String @id\n type ApprovalMethodType\n displayName String\n /// [ApprovalMethodConfig] - Type-specific configuration\n config Json?\n deprecatedAliases String[] @default([]) // Old URLs that should redirect to this method\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([type, displayName])\n}\n\nmodel DbResource {\n id String @id @default(cuid())\n slug String @unique // URL-friendly identifier for navigation\n type String @default(\"application\") // \"application\" | \"sub-resource\" | etc.\n displayName String\n abbreviation String? // Optional short abbreviation (e.g. K8s, ECR, LV)\n nicknames String[] @default([]) // Alternative names / AKA\n description String\n /// [AccessMethod]\n access Json?\n teams String[] @default([])\n /// [AccessRequest] - Per-resource approval configuration linking to ApprovalMethod\n accessRequest Json?\n notes String?\n tags String[] @default([])\n appUrl String?\n /// [AppLink[]]\n links Json? // Array of {displayName?: string, url: string}\n iconName String? // Optional icon identifier matching DbAsset.name\n screenshotIds String[] @default([]) // Ordered array of DbAsset IDs\n /// [AppDeprecation] - Deprecation info with optional replacement slug\n deprecated Json?\n aiPrompt String?\n aiMemory String?\n urlIssues String[] @default([])\n /// [TierVariant[]]\n tiers Json?\n sourceRefs SourceReference[]\n comments DbComment[]\n // Self-referential tree: sub-resources point to their parent\n parentSlug String?\n parent DbResource? @relation(\"ResourceTree\", fields: [parentSlug], references: [slug])\n children DbResource[] @relation(\"ResourceTree\")\n // Fields merged from former DbSubResource\n tier String? // e.g. \"prod\", \"dev\"\n aliases String[] @default([])\n ownerPersonSlug String?\n approverSlugs String[] @default([]) // Person or Group slugs\n\n accessComments String?\n /// [SubResourceExtra]\n extra Json?\n // Freshness (autoupdate scan): when sources were last verified, when the next\n // check is due, and when the source content last actually changed (what the UI\n // shows as \"Updated\" — a source can be re-read without changing).\n // Nullable — apps that have never been scanned carry null.\n lastCheckedAt DateTime?\n nextCheckAfter DateTime?\n lastContentChangeAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([displayName])\n @@index([slug])\n @@index([tags])\n @@index([parentSlug])\n}\n\n/// A visitor's comment on one resource.\n///\n/// The catalog is browsable without logging in, so a comment carries no user id.\n/// Instead the server issues an opaque visitor token in an httpOnly cookie and\n/// stores its hash: enough to let an author edit or delete their own comment for\n/// a short window, and nothing a reader can forge.\nmodel DbComment {\n id String @id @default(cuid())\n // The resource's id, not its slug — a slug is user-facing and gets renamed.\n resourceId String\n resource DbResource @relation(fields: [resourceId], references: [id], onDelete: Cascade)\n // sha256 of the visitor token. Authorises edit/delete; never sent to a client.\n authorHash String\n // The pseudonym shown next to the comment, stored rather than derived at render\n // time so editing the wordlist later cannot rename everybody's history.\n authorAlias String\n body String\n // Set on a later edit, so the UI can mark a comment as edited. Null when never edited.\n editedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([resourceId, createdAt])\n @@index([authorHash])\n}\n\nmodel DbAppTagDefinition {\n id String @id @default(cuid())\n prefix String @unique\n displayName String\n description String\n /// [GroupingTagValue[]]\n values Json\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum AssetType {\n icon\n screenshot\n}\n\nmodel DbAsset {\n id String @id @default(cuid())\n name String @unique // Name with extension (e.g., \"jira.svg\", \"github.png\")\n assetType AssetType @default(icon)\n content Bytes // Binary storage for all asset types (SVG, PNG, etc)\n checksum String // SHA-256 of content for deduplication\n mimeType String // e.g., \"image/svg+xml\", \"image/png\", \"image/jpeg\"\n fileSize Int // Size in bytes\n width Int? // Image width in pixels\n height Int? // Image height in pixels\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([name])\n @@index([assetType])\n}\n\nmodel Source {\n slug String @id\n userPrompt String?\n references SourceReference[]\n}\n\nmodel SourceReference {\n id Int @id @default(autoincrement())\n sourceSlug String\n source Source @relation(fields: [sourceSlug], references: [slug], onDelete: Cascade)\n resourceId String\n resource DbResource @relation(fields: [resourceId], references: [id], onDelete: Cascade)\n url String\n parseDate DateTime?\n excerpts String[] @default([])\n userPrompt String?\n\n @@unique([resourceId, url])\n}\n",
|
|
9
|
+
"inlineSchema": "// Prisma schema for backend-core library\n// Uses AC_CORE_DATABASE_URL environment variable\n\ndatasource db {\n provider = \"postgresql\"\n}\n\ngenerator client {\n provider = \"prisma-client\"\n output = \"../src/generated/prisma\"\n}\n\ngenerator json {\n provider = \"prisma-json-types-generator\"\n}\n\n// ========== Better Auth Models ==========\nmodel user {\n id String @id\n name String?\n email String? @unique\n emailVerified Boolean @default(false)\n image String?\n role String @default(\"user\") // 'user' | 'admin'\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n accounts account[]\n sessions session[]\n}\n\nmodel session {\n id String @id\n token String @unique\n userId String\n user user @relation(fields: [userId], references: [id], onDelete: Cascade)\n expiresAt DateTime\n ipAddress String?\n userAgent String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel account {\n id String @id\n userId String\n user user @relation(fields: [userId], references: [id], onDelete: Cascade)\n accountId String\n providerId String\n refreshToken String?\n accessToken String?\n accessTokenExpiresAt DateTime?\n refreshTokenExpiresAt DateTime?\n idToken String?\n scope String?\n password String?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([providerId, accountId])\n}\n\nmodel verification {\n id String @id\n identifier String\n value String\n expiresAt DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([identifier, value])\n}\n\n// ========== EnvHopper Models ==========\n\nenum ApprovalMethodType {\n service\n personTeam\n custom\n noAccessRequired\n unknown\n}\n\n// ========== Person & Group Models ==========\n\nmodel DbPerson {\n slug String @id // email or synthetic\n firstName String\n lastName String\n email String? @unique\n memberships DbGroupMembership[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel DbGroup {\n slug String @id\n displayName String?\n email String? // team alias\n memberships DbGroupMembership[]\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nmodel DbGroupMembership {\n id Int @id @default(autoincrement())\n groupSlug String\n group DbGroup @relation(fields: [groupSlug], references: [slug], onDelete: Cascade)\n personSlug String\n person DbPerson @relation(fields: [personSlug], references: [slug], onDelete: Cascade)\n\n @@unique([groupSlug, personSlug])\n}\n\nmodel DbApprovalMethod {\n slug String @id\n type ApprovalMethodType\n displayName String\n /// [ApprovalMethodConfig] - Type-specific configuration\n config Json?\n deprecatedAliases String[] @default([]) // Old URLs that should redirect to this method\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@unique([type, displayName])\n}\n\nmodel DbResource {\n id String @id @default(cuid())\n slug String @unique // URL-friendly identifier for navigation\n type String @default(\"application\") // \"application\" | \"sub-resource\" | etc.\n displayName String\n abbreviation String? // Optional short abbreviation (e.g. K8s, ECR, LV)\n nicknames String[] @default([]) // Alternative names / AKA\n description String\n /// [AccessMethod]\n access Json?\n teams String[] @default([])\n /// [AccessRequest] - Per-resource approval configuration linking to ApprovalMethod\n accessRequest Json?\n notes String?\n tags String[] @default([])\n appUrl String?\n /// [AppLink[]]\n links Json? // Array of {displayName?: string, url: string}\n iconName String? // Optional icon identifier matching DbAsset.name\n screenshotIds String[] @default([]) // Ordered array of DbAsset IDs\n /// [AppDeprecation] - Deprecation info with optional replacement slug\n deprecated Json?\n aiPrompt String?\n aiMemory String?\n urlIssues String[] @default([])\n /// [TierVariant[]]\n tiers Json?\n /// [QuickJump[]]\n quickJumps Json?\n sourceRefs SourceReference[]\n comments DbComment[]\n // Self-referential tree: sub-resources point to their parent\n parentSlug String?\n parent DbResource? @relation(\"ResourceTree\", fields: [parentSlug], references: [slug])\n children DbResource[] @relation(\"ResourceTree\")\n // Fields merged from former DbSubResource\n tier String? // e.g. \"prod\", \"dev\"\n aliases String[] @default([])\n ownerPersonSlug String?\n approverSlugs String[] @default([]) // Person or Group slugs\n\n accessComments String?\n /// [SubResourceExtra]\n extra Json?\n // Freshness (autoupdate scan): when sources were last verified, when the next\n // check is due, and when the source content last actually changed (what the UI\n // shows as \"Updated\" — a source can be re-read without changing).\n // Nullable — apps that have never been scanned carry null.\n lastCheckedAt DateTime?\n nextCheckAfter DateTime?\n lastContentChangeAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([displayName])\n @@index([slug])\n @@index([tags])\n @@index([parentSlug])\n}\n\n/// A visitor's comment on one resource.\n///\n/// The catalog is browsable without logging in, so a comment carries no user id.\n/// Instead the server issues an opaque visitor token in an httpOnly cookie and\n/// stores its hash: enough to let an author edit or delete their own comment for\n/// a short window, and nothing a reader can forge.\nmodel DbComment {\n id String @id @default(cuid())\n // The resource's id, not its slug — a slug is user-facing and gets renamed.\n resourceId String\n resource DbResource @relation(fields: [resourceId], references: [id], onDelete: Cascade)\n // sha256 of the visitor token. Authorises edit/delete; never sent to a client.\n authorHash String\n // The pseudonym shown next to the comment, stored rather than derived at render\n // time so editing the wordlist later cannot rename everybody's history.\n authorAlias String\n body String\n // Set on a later edit, so the UI can mark a comment as edited. Null when never edited.\n editedAt DateTime?\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([resourceId, createdAt])\n @@index([authorHash])\n}\n\nmodel DbAppTagDefinition {\n id String @id @default(cuid())\n prefix String @unique\n displayName String\n description String\n /// [GroupingTagValue[]]\n values Json\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n\nenum AssetType {\n icon\n screenshot\n}\n\nmodel DbAsset {\n id String @id @default(cuid())\n name String @unique // Name with extension (e.g., \"jira.svg\", \"github.png\")\n assetType AssetType @default(icon)\n content Bytes // Binary storage for all asset types (SVG, PNG, etc)\n checksum String // SHA-256 of content for deduplication\n mimeType String // e.g., \"image/svg+xml\", \"image/png\", \"image/jpeg\"\n fileSize Int // Size in bytes\n width Int? // Image width in pixels\n height Int? // Image height in pixels\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([name])\n @@index([assetType])\n}\n\nmodel Source {\n slug String @id\n userPrompt String?\n references SourceReference[]\n}\n\nmodel SourceReference {\n id Int @id @default(autoincrement())\n sourceSlug String\n source Source @relation(fields: [sourceSlug], references: [slug], onDelete: Cascade)\n resourceId String\n resource DbResource @relation(fields: [resourceId], references: [id], onDelete: Cascade)\n url String\n parseDate DateTime?\n excerpts String[] @default([])\n userPrompt String?\n\n @@unique([resourceId, url])\n}\n",
|
|
10
10
|
"runtimeDataModel": {
|
|
11
11
|
"models": {},
|
|
12
12
|
"enums": {},
|
|
@@ -17,10 +17,10 @@ const config = {
|
|
|
17
17
|
"graph": ""
|
|
18
18
|
}
|
|
19
19
|
};
|
|
20
|
-
config.runtimeDataModel = JSON.parse("{\"models\":{\"user\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"account\",\"relationName\":\"accountTouser\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"session\",\"relationName\":\"sessionTouser\"}],\"dbName\":null},\"session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"user\",\"relationName\":\"sessionTouser\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"user\",\"relationName\":\"accountTouser\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refreshToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"idToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"verification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbPerson\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberships\",\"kind\":\"object\",\"type\":\"DbGroupMembership\",\"relationName\":\"DbGroupMembershipToDbPerson\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbGroup\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberships\",\"kind\":\"object\",\"type\":\"DbGroupMembership\",\"relationName\":\"DbGroupToDbGroupMembership\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbGroupMembership\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"groupSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"group\",\"kind\":\"object\",\"type\":\"DbGroup\",\"relationName\":\"DbGroupToDbGroupMembership\"},{\"name\":\"personSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"person\",\"kind\":\"object\",\"type\":\"DbPerson\",\"relationName\":\"DbGroupMembershipToDbPerson\"}],\"dbName\":null},\"DbApprovalMethod\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"ApprovalMethodType\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"config\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"deprecatedAliases\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbResource\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"abbreviation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nicknames\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"teams\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessRequest\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tags\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"links\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"iconName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"screenshotIds\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deprecated\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"aiPrompt\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aiMemory\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"urlIssues\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tiers\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"sourceRefs\",\"kind\":\"object\",\"type\":\"SourceReference\",\"relationName\":\"DbResourceToSourceReference\"},{\"name\":\"comments\",\"kind\":\"object\",\"type\":\"DbComment\",\"relationName\":\"DbCommentToDbResource\"},{\"name\":\"parentSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"DbResource\",\"relationName\":\"ResourceTree\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"DbResource\",\"relationName\":\"ResourceTree\"},{\"name\":\"tier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aliases\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ownerPersonSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"approverSlugs\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessComments\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"extra\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"lastCheckedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"nextCheckAfter\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastContentChangeAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbComment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"object\",\"type\":\"DbResource\",\"relationName\":\"DbCommentToDbResource\"},{\"name\":\"authorHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"authorAlias\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"editedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbAppTagDefinition\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"prefix\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"values\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbAsset\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assetType\",\"kind\":\"enum\",\"type\":\"AssetType\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"checksum\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"width\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"height\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Source\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userPrompt\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"references\",\"kind\":\"object\",\"type\":\"SourceReference\",\"relationName\":\"SourceToSourceReference\"}],\"dbName\":null},\"SourceReference\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"sourceSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"SourceToSourceReference\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"object\",\"type\":\"DbResource\",\"relationName\":\"DbResourceToSourceReference\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parseDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"excerpts\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userPrompt\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}");
|
|
20
|
+
config.runtimeDataModel = JSON.parse("{\"models\":{\"user\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"emailVerified\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"accounts\",\"kind\":\"object\",\"type\":\"account\",\"relationName\":\"accountTouser\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"session\",\"relationName\":\"sessionTouser\"}],\"dbName\":null},\"session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"token\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"user\",\"relationName\":\"sessionTouser\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"ipAddress\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"account\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"user\",\"relationName\":\"accountTouser\"},{\"name\":\"accountId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"providerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refreshToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"refreshTokenExpiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"idToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scope\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"verification\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"identifier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbPerson\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"firstName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberships\",\"kind\":\"object\",\"type\":\"DbGroupMembership\",\"relationName\":\"DbGroupMembershipToDbPerson\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbGroup\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"memberships\",\"kind\":\"object\",\"type\":\"DbGroupMembership\",\"relationName\":\"DbGroupToDbGroupMembership\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbGroupMembership\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"groupSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"group\",\"kind\":\"object\",\"type\":\"DbGroup\",\"relationName\":\"DbGroupToDbGroupMembership\"},{\"name\":\"personSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"person\",\"kind\":\"object\",\"type\":\"DbPerson\",\"relationName\":\"DbGroupMembershipToDbPerson\"}],\"dbName\":null},\"DbApprovalMethod\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"ApprovalMethodType\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"config\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"deprecatedAliases\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbResource\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"type\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"abbreviation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"nicknames\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"access\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"teams\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessRequest\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"notes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tags\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"appUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"links\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"iconName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"screenshotIds\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deprecated\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"aiPrompt\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aiMemory\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"urlIssues\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"tiers\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"quickJumps\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"sourceRefs\",\"kind\":\"object\",\"type\":\"SourceReference\",\"relationName\":\"DbResourceToSourceReference\"},{\"name\":\"comments\",\"kind\":\"object\",\"type\":\"DbComment\",\"relationName\":\"DbCommentToDbResource\"},{\"name\":\"parentSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parent\",\"kind\":\"object\",\"type\":\"DbResource\",\"relationName\":\"ResourceTree\"},{\"name\":\"children\",\"kind\":\"object\",\"type\":\"DbResource\",\"relationName\":\"ResourceTree\"},{\"name\":\"tier\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aliases\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ownerPersonSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"approverSlugs\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessComments\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"extra\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"lastCheckedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"nextCheckAfter\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastContentChangeAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbComment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"object\",\"type\":\"DbResource\",\"relationName\":\"DbCommentToDbResource\"},{\"name\":\"authorHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"authorAlias\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"body\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"editedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbAppTagDefinition\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"prefix\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"values\",\"kind\":\"scalar\",\"type\":\"Json\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DbAsset\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assetType\",\"kind\":\"enum\",\"type\":\"AssetType\"},{\"name\":\"content\",\"kind\":\"scalar\",\"type\":\"Bytes\"},{\"name\":\"checksum\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"mimeType\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fileSize\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"width\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"height\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Source\":{\"fields\":[{\"name\":\"slug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userPrompt\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"references\",\"kind\":\"object\",\"type\":\"SourceReference\",\"relationName\":\"SourceToSourceReference\"}],\"dbName\":null},\"SourceReference\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"sourceSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"source\",\"kind\":\"object\",\"type\":\"Source\",\"relationName\":\"SourceToSourceReference\"},{\"name\":\"resourceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"resource\",\"kind\":\"object\",\"type\":\"DbResource\",\"relationName\":\"DbResourceToSourceReference\"},{\"name\":\"url\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"parseDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"excerpts\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userPrompt\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}");
|
|
21
21
|
config.parameterizationSchema = {
|
|
22
|
-
strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"accounts\",\"sessions\",\"_count\",\"user.findUnique\",\"user.findUniqueOrThrow\",\"user.findFirst\",\"user.findFirstOrThrow\",\"user.findMany\",\"data\",\"user.createOne\",\"user.createMany\",\"user.createManyAndReturn\",\"user.updateOne\",\"user.updateMany\",\"user.updateManyAndReturn\",\"create\",\"update\",\"user.upsertOne\",\"user.deleteOne\",\"user.deleteMany\",\"having\",\"_min\",\"_max\",\"user.groupBy\",\"user.aggregate\",\"session.findUnique\",\"session.findUniqueOrThrow\",\"session.findFirst\",\"session.findFirstOrThrow\",\"session.findMany\",\"session.createOne\",\"session.createMany\",\"session.createManyAndReturn\",\"session.updateOne\",\"session.updateMany\",\"session.updateManyAndReturn\",\"session.upsertOne\",\"session.deleteOne\",\"session.deleteMany\",\"session.groupBy\",\"session.aggregate\",\"account.findUnique\",\"account.findUniqueOrThrow\",\"account.findFirst\",\"account.findFirstOrThrow\",\"account.findMany\",\"account.createOne\",\"account.createMany\",\"account.createManyAndReturn\",\"account.updateOne\",\"account.updateMany\",\"account.updateManyAndReturn\",\"account.upsertOne\",\"account.deleteOne\",\"account.deleteMany\",\"account.groupBy\",\"account.aggregate\",\"verification.findUnique\",\"verification.findUniqueOrThrow\",\"verification.findFirst\",\"verification.findFirstOrThrow\",\"verification.findMany\",\"verification.createOne\",\"verification.createMany\",\"verification.createManyAndReturn\",\"verification.updateOne\",\"verification.updateMany\",\"verification.updateManyAndReturn\",\"verification.upsertOne\",\"verification.deleteOne\",\"verification.deleteMany\",\"verification.groupBy\",\"verification.aggregate\",\"memberships\",\"group\",\"person\",\"DbPerson.findUnique\",\"DbPerson.findUniqueOrThrow\",\"DbPerson.findFirst\",\"DbPerson.findFirstOrThrow\",\"DbPerson.findMany\",\"DbPerson.createOne\",\"DbPerson.createMany\",\"DbPerson.createManyAndReturn\",\"DbPerson.updateOne\",\"DbPerson.updateMany\",\"DbPerson.updateManyAndReturn\",\"DbPerson.upsertOne\",\"DbPerson.deleteOne\",\"DbPerson.deleteMany\",\"DbPerson.groupBy\",\"DbPerson.aggregate\",\"DbGroup.findUnique\",\"DbGroup.findUniqueOrThrow\",\"DbGroup.findFirst\",\"DbGroup.findFirstOrThrow\",\"DbGroup.findMany\",\"DbGroup.createOne\",\"DbGroup.createMany\",\"DbGroup.createManyAndReturn\",\"DbGroup.updateOne\",\"DbGroup.updateMany\",\"DbGroup.updateManyAndReturn\",\"DbGroup.upsertOne\",\"DbGroup.deleteOne\",\"DbGroup.deleteMany\",\"DbGroup.groupBy\",\"DbGroup.aggregate\",\"DbGroupMembership.findUnique\",\"DbGroupMembership.findUniqueOrThrow\",\"DbGroupMembership.findFirst\",\"DbGroupMembership.findFirstOrThrow\",\"DbGroupMembership.findMany\",\"DbGroupMembership.createOne\",\"DbGroupMembership.createMany\",\"DbGroupMembership.createManyAndReturn\",\"DbGroupMembership.updateOne\",\"DbGroupMembership.updateMany\",\"DbGroupMembership.updateManyAndReturn\",\"DbGroupMembership.upsertOne\",\"DbGroupMembership.deleteOne\",\"DbGroupMembership.deleteMany\",\"_avg\",\"_sum\",\"DbGroupMembership.groupBy\",\"DbGroupMembership.aggregate\",\"DbApprovalMethod.findUnique\",\"DbApprovalMethod.findUniqueOrThrow\",\"DbApprovalMethod.findFirst\",\"DbApprovalMethod.findFirstOrThrow\",\"DbApprovalMethod.findMany\",\"DbApprovalMethod.createOne\",\"DbApprovalMethod.createMany\",\"DbApprovalMethod.createManyAndReturn\",\"DbApprovalMethod.updateOne\",\"DbApprovalMethod.updateMany\",\"DbApprovalMethod.updateManyAndReturn\",\"DbApprovalMethod.upsertOne\",\"DbApprovalMethod.deleteOne\",\"DbApprovalMethod.deleteMany\",\"DbApprovalMethod.groupBy\",\"DbApprovalMethod.aggregate\",\"references\",\"source\",\"resource\",\"sourceRefs\",\"comments\",\"parent\",\"children\",\"DbResource.findUnique\",\"DbResource.findUniqueOrThrow\",\"DbResource.findFirst\",\"DbResource.findFirstOrThrow\",\"DbResource.findMany\",\"DbResource.createOne\",\"DbResource.createMany\",\"DbResource.createManyAndReturn\",\"DbResource.updateOne\",\"DbResource.updateMany\",\"DbResource.updateManyAndReturn\",\"DbResource.upsertOne\",\"DbResource.deleteOne\",\"DbResource.deleteMany\",\"DbResource.groupBy\",\"DbResource.aggregate\",\"DbComment.findUnique\",\"DbComment.findUniqueOrThrow\",\"DbComment.findFirst\",\"DbComment.findFirstOrThrow\",\"DbComment.findMany\",\"DbComment.createOne\",\"DbComment.createMany\",\"DbComment.createManyAndReturn\",\"DbComment.updateOne\",\"DbComment.updateMany\",\"DbComment.updateManyAndReturn\",\"DbComment.upsertOne\",\"DbComment.deleteOne\",\"DbComment.deleteMany\",\"DbComment.groupBy\",\"DbComment.aggregate\",\"DbAppTagDefinition.findUnique\",\"DbAppTagDefinition.findUniqueOrThrow\",\"DbAppTagDefinition.findFirst\",\"DbAppTagDefinition.findFirstOrThrow\",\"DbAppTagDefinition.findMany\",\"DbAppTagDefinition.createOne\",\"DbAppTagDefinition.createMany\",\"DbAppTagDefinition.createManyAndReturn\",\"DbAppTagDefinition.updateOne\",\"DbAppTagDefinition.updateMany\",\"DbAppTagDefinition.updateManyAndReturn\",\"DbAppTagDefinition.upsertOne\",\"DbAppTagDefinition.deleteOne\",\"DbAppTagDefinition.deleteMany\",\"DbAppTagDefinition.groupBy\",\"DbAppTagDefinition.aggregate\",\"DbAsset.findUnique\",\"DbAsset.findUniqueOrThrow\",\"DbAsset.findFirst\",\"DbAsset.findFirstOrThrow\",\"DbAsset.findMany\",\"DbAsset.createOne\",\"DbAsset.createMany\",\"DbAsset.createManyAndReturn\",\"DbAsset.updateOne\",\"DbAsset.updateMany\",\"DbAsset.updateManyAndReturn\",\"DbAsset.upsertOne\",\"DbAsset.deleteOne\",\"DbAsset.deleteMany\",\"DbAsset.groupBy\",\"DbAsset.aggregate\",\"Source.findUnique\",\"Source.findUniqueOrThrow\",\"Source.findFirst\",\"Source.findFirstOrThrow\",\"Source.findMany\",\"Source.createOne\",\"Source.createMany\",\"Source.createManyAndReturn\",\"Source.updateOne\",\"Source.updateMany\",\"Source.updateManyAndReturn\",\"Source.upsertOne\",\"Source.deleteOne\",\"Source.deleteMany\",\"Source.groupBy\",\"Source.aggregate\",\"SourceReference.findUnique\",\"SourceReference.findUniqueOrThrow\",\"SourceReference.findFirst\",\"SourceReference.findFirstOrThrow\",\"SourceReference.findMany\",\"SourceReference.createOne\",\"SourceReference.createMany\",\"SourceReference.createManyAndReturn\",\"SourceReference.updateOne\",\"SourceReference.updateMany\",\"SourceReference.updateManyAndReturn\",\"SourceReference.upsertOne\",\"SourceReference.deleteOne\",\"SourceReference.deleteMany\",\"SourceReference.groupBy\",\"SourceReference.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"sourceSlug\",\"resourceId\",\"url\",\"parseDate\",\"excerpts\",\"userPrompt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"contains\",\"startsWith\",\"endsWith\",\"not\",\"has\",\"hasEvery\",\"hasSome\",\"slug\",\"every\",\"some\",\"none\",\"name\",\"AssetType\",\"assetType\",\"content\",\"checksum\",\"mimeType\",\"fileSize\",\"width\",\"height\",\"createdAt\",\"updatedAt\",\"prefix\",\"displayName\",\"description\",\"values\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"authorHash\",\"authorAlias\",\"body\",\"editedAt\",\"type\",\"abbreviation\",\"nicknames\",\"access\",\"teams\",\"accessRequest\",\"notes\",\"tags\",\"appUrl\",\"links\",\"iconName\",\"screenshotIds\",\"deprecated\",\"aiPrompt\",\"aiMemory\",\"urlIssues\",\"tiers\",\"parentSlug\",\"tier\",\"aliases\",\"ownerPersonSlug\",\"approverSlugs\",\"accessComments\",\"extra\",\"lastCheckedAt\",\"nextCheckAfter\",\"lastContentChangeAt\",\"resourceId_url\",\"ApprovalMethodType\",\"config\",\"deprecatedAliases\",\"type_displayName\",\"groupSlug\",\"personSlug\",\"email\",\"firstName\",\"lastName\",\"groupSlug_personSlug\",\"identifier\",\"value\",\"expiresAt\",\"identifier_value\",\"userId\",\"accountId\",\"providerId\",\"refreshToken\",\"accessToken\",\"accessTokenExpiresAt\",\"refreshTokenExpiresAt\",\"idToken\",\"scope\",\"password\",\"token\",\"ipAddress\",\"userAgent\",\"emailVerified\",\"image\",\"role\",\"providerId_accountId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
|
|
23
|
-
graph: "0QV84AENBAAAygMAIAUAAMsDACD5AQAAyAMAMPoBAAAOABD7AQAAyAMAMPwBAQAAAAGVAgEAhQMAIZ4CQACZAwAhnwJAAJkDACHQAgEAAAAB5QIgAMkDACHmAgEAhQMAIecCAQCEAwAhAQAAAAEAIBEDAADNAwAg-QEAAM8DADD6AQAAAwAQ-wEAAM8DADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHYAgEAhAMAIdkCAQCEAwAh2gIBAIQDACHbAgEAhQMAIdwCAQCFAwAh3QJAAKUDACHeAkAApQMAId8CAQCFAwAh4AIBAIUDACHhAgEAhQMAIQgDAAChBQAg2wIAANADACDcAgAA0AMAIN0CAADQAwAg3gIAANADACDfAgAA0AMAIOACAADQAwAg4QIAANADACASAwAAzQMAIPkBAADPAwAw-gEAAAMAEPsBAADPAwAw_AEBAAAAAZ4CQACZAwAhnwJAAJkDACHYAgEAhAMAIdkCAQCEAwAh2gIBAIQDACHbAgEAhQMAIdwCAQCFAwAh3QJAAKUDACHeAkAApQMAId8CAQCFAwAh4AIBAIUDACHhAgEAhQMAIegCAADOAwAgAwAAAAMAIAEAAAQAMAIAAAUAIAwDAADNAwAg-QEAAMwDADD6AQAABwAQ-wEAAMwDADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHWAkAAmQMAIdgCAQCEAwAh4gIBAIQDACHjAgEAhQMAIeQCAQCFAwAhAwMAAKEFACDjAgAA0AMAIOQCAADQAwAgDAMAAM0DACD5AQAAzAMAMPoBAAAHABD7AQAAzAMAMPwBAQAAAAGeAkAAmQMAIZ8CQACZAwAh1gJAAJkDACHYAgEAhAMAIeICAQAAAAHjAgEAhQMAIeQCAQCFAwAhAwAAAAcAIAEAAAgAMAIAAAkAIAEAAAADACABAAAABwAgAQAAAAEAIA0EAADKAwAgBQAAywMAIPkBAADIAwAw-gEAAA4AEPsBAADIAwAw_AEBAIQDACGVAgEAhQMAIZ4CQACZAwAhnwJAAJkDACHQAgEAhQMAIeUCIADJAwAh5gIBAIUDACHnAgEAhAMAIQUEAACfBQAgBQAAoAUAIJUCAADQAwAg0AIAANADACDmAgAA0AMAIAMAAAAOACABAAAPADACAAABACADAAAADgAgAQAADwAwAgAAAQAgAwAAAA4AIAEAAA8AMAIAAAEAIAoEAACdBQAgBQAAngUAIPwBAQAAAAGVAgEAAAABngJAAAAAAZ8CQAAAAAHQAgEAAAAB5QIgAAAAAeYCAQAAAAHnAgEAAAABAQwAABMAIAj8AQEAAAABlQIBAAAAAZ4CQAAAAAGfAkAAAAAB0AIBAAAAAeUCIAAAAAHmAgEAAAAB5wIBAAAAAQEMAAAVADABDAAAFQAwCgQAAIMFACAFAACEBQAg_AEBANYDACGVAgEA2QMAIZ4CQAD6AwAhnwJAAPoDACHQAgEA2QMAIeUCIACCBQAh5gIBANkDACHnAgEA1gMAIQIAAAABACAMAAAYACAI_AEBANYDACGVAgEA2QMAIZ4CQAD6AwAhnwJAAPoDACHQAgEA2QMAIeUCIACCBQAh5gIBANkDACHnAgEA1gMAIQIAAAAOACAMAAAaACACAAAADgAgDAAAGgAgAwAAAAEAIBMAABMAIBQAABgAIAEAAAABACABAAAADgAgBgYAAP8EACAZAACBBQAgGgAAgAUAIJUCAADQAwAg0AIAANADACDmAgAA0AMAIAv5AQAAxAMAMPoBAAAhABD7AQAAxAMAMPwBAQD0AgAhlQIBAPcCACGeAkAAiwMAIZ8CQACLAwAh0AIBAPcCACHlAiAAxQMAIeYCAQD3AgAh5wIBAPQCACEDAAAADgAgAQAAIAAwGAAAIQAgAwAAAA4AIAEAAA8AMAIAAAEAIAEAAAAJACABAAAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACADAAAABwAgAQAACAAwAgAACQAgCQMAAP4EACD8AQEAAAABngJAAAAAAZ8CQAAAAAHWAkAAAAAB2AIBAAAAAeICAQAAAAHjAgEAAAAB5AIBAAAAAQEMAAApACAI_AEBAAAAAZ4CQAAAAAGfAkAAAAAB1gJAAAAAAdgCAQAAAAHiAgEAAAAB4wIBAAAAAeQCAQAAAAEBDAAAKwAwAQwAACsAMAkDAAD9BAAg_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh1gJAAPoDACHYAgEA1gMAIeICAQDWAwAh4wIBANkDACHkAgEA2QMAIQIAAAAJACAMAAAuACAI_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh1gJAAPoDACHYAgEA1gMAIeICAQDWAwAh4wIBANkDACHkAgEA2QMAIQIAAAAHACAMAAAwACACAAAABwAgDAAAMAAgAwAAAAkAIBMAACkAIBQAAC4AIAEAAAAJACABAAAABwAgBQYAAPoEACAZAAD8BAAgGgAA-wQAIOMCAADQAwAg5AIAANADACAL-QEAAMMDADD6AQAANwAQ-wEAAMMDADD8AQEA9AIAIZ4CQACLAwAhnwJAAIsDACHWAkAAiwMAIdgCAQD0AgAh4gIBAPQCACHjAgEA9wIAIeQCAQD3AgAhAwAAAAcAIAEAADYAMBgAADcAIAMAAAAHACABAAAIADACAAAJACABAAAABQAgAQAAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIA4DAAD5BAAg_AEBAAAAAZ4CQAAAAAGfAkAAAAAB2AIBAAAAAdkCAQAAAAHaAgEAAAAB2wIBAAAAAdwCAQAAAAHdAkAAAAAB3gJAAAAAAd8CAQAAAAHgAgEAAAAB4QIBAAAAAQEMAAA_ACAN_AEBAAAAAZ4CQAAAAAGfAkAAAAAB2AIBAAAAAdkCAQAAAAHaAgEAAAAB2wIBAAAAAdwCAQAAAAHdAkAAAAAB3gJAAAAAAd8CAQAAAAHgAgEAAAAB4QIBAAAAAQEMAABBADABDAAAQQAwDgMAAPgEACD8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACHYAgEA1gMAIdkCAQDWAwAh2gIBANYDACHbAgEA2QMAIdwCAQDZAwAh3QJAANcDACHeAkAA1wMAId8CAQDZAwAh4AIBANkDACHhAgEA2QMAIQIAAAAFACAMAABEACAN_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh2AIBANYDACHZAgEA1gMAIdoCAQDWAwAh2wIBANkDACHcAgEA2QMAId0CQADXAwAh3gJAANcDACHfAgEA2QMAIeACAQDZAwAh4QIBANkDACECAAAAAwAgDAAARgAgAgAAAAMAIAwAAEYAIAMAAAAFACATAAA_ACAUAABEACABAAAABQAgAQAAAAMAIAoGAAD1BAAgGQAA9wQAIBoAAPYEACDbAgAA0AMAINwCAADQAwAg3QIAANADACDeAgAA0AMAIN8CAADQAwAg4AIAANADACDhAgAA0AMAIBD5AQAAwgMAMPoBAABNABD7AQAAwgMAMPwBAQD0AgAhngJAAIsDACGfAkAAiwMAIdgCAQD0AgAh2QIBAPQCACHaAgEA9AIAIdsCAQD3AgAh3AIBAPcCACHdAkAA9QIAId4CQAD1AgAh3wIBAPcCACHgAgEA9wIAIeECAQD3AgAhAwAAAAMAIAEAAEwAMBgAAE0AIAMAAAADACABAAAEADACAAAFACAK-QEAAMADADD6AQAAUwAQ-wEAAMADADD8AQEAAAABngJAAJkDACGfAkAAmQMAIdQCAQCEAwAh1QIBAIQDACHWAkAAmQMAIdcCAADBAwAgAQAAAFAAIAEAAABQACAJ-QEAAMADADD6AQAAUwAQ-wEAAMADADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHUAgEAhAMAIdUCAQCEAwAh1gJAAJkDACEAAwAAAFMAIAEAAFQAMAIAAFAAIAMAAABTACABAABUADACAABQACADAAAAUwAgAQAAVAAwAgAAUAAgBvwBAQAAAAGeAkAAAAABnwJAAAAAAdQCAQAAAAHVAgEAAAAB1gJAAAAAAQEMAABYACAG_AEBAAAAAZ4CQAAAAAGfAkAAAAAB1AIBAAAAAdUCAQAAAAHWAkAAAAABAQwAAFoAMAEMAABaADAG_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh1AIBANYDACHVAgEA1gMAIdYCQAD6AwAhAgAAAFAAIAwAAF0AIAb8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACHUAgEA1gMAIdUCAQDWAwAh1gJAAPoDACECAAAAUwAgDAAAXwAgAgAAAFMAIAwAAF8AIAMAAABQACATAABYACAUAABdACABAAAAUAAgAQAAAFMAIAMGAADyBAAgGQAA9AQAIBoAAPMEACAJ-QEAAL8DADD6AQAAZgAQ-wEAAL8DADD8AQEA9AIAIZ4CQACLAwAhnwJAAIsDACHUAgEA9AIAIdUCAQD0AgAh1gJAAIsDACEDAAAAUwAgAQAAZQAwGAAAZgAgAwAAAFMAIAEAAFQAMAIAAFAAIApNAAC4AwAg-QEAALoDADD6AQAAcwAQ-wEAALoDADCRAgEAAAABngJAAJkDACGfAkAAmQMAIdACAQAAAAHRAgEAhAMAIdICAQCEAwAhAQAAAGkAIAhOAAC9AwAgTwAAvgMAIPkBAAC8AwAw-gEAAGsAEPsBAAC8AwAw_AECAJcDACHOAgEAhAMAIc8CAQCEAwAhAk4AAPAEACBPAADxBAAgCU4AAL0DACBPAAC-AwAg-QEAALwDADD6AQAAawAQ-wEAALwDADD8AQIAAAABzgIBAIQDACHPAgEAhAMAIdMCAAC7AwAgAwAAAGsAIAEAAGwAMAIAAG0AIAMAAABrACABAABsADACAABtACABAAAAawAgAQAAAGsAIAEAAABpACAKTQAAuAMAIPkBAAC6AwAw-gEAAHMAEPsBAAC6AwAwkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAh0AIBAIUDACHRAgEAhAMAIdICAQCEAwAhAk0AAOEEACDQAgAA0AMAIAMAAABzACABAAB0ADACAABpACADAAAAcwAgAQAAdAAwAgAAaQAgAwAAAHMAIAEAAHQAMAIAAGkAIAdNAADvBAAgkQIBAAAAAZ4CQAAAAAGfAkAAAAAB0AIBAAAAAdECAQAAAAHSAgEAAAABAQwAAHgAIAaRAgEAAAABngJAAAAAAZ8CQAAAAAHQAgEAAAAB0QIBAAAAAdICAQAAAAEBDAAAegAwAQwAAHoAMAdNAADlBAAgkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAh0AIBANkDACHRAgEA1gMAIdICAQDWAwAhAgAAAGkAIAwAAH0AIAaRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACHQAgEA2QMAIdECAQDWAwAh0gIBANYDACECAAAAcwAgDAAAfwAgAgAAAHMAIAwAAH8AIAMAAABpACATAAB4ACAUAAB9ACABAAAAaQAgAQAAAHMAIAQGAADiBAAgGQAA5AQAIBoAAOMEACDQAgAA0AMAIAn5AQAAuQMAMPoBAACGAQAQ-wEAALkDADCRAgEA9AIAIZ4CQACLAwAhnwJAAIsDACHQAgEA9wIAIdECAQD0AgAh0gIBAPQCACEDAAAAcwAgAQAAhQEAMBgAAIYBACADAAAAcwAgAQAAdAAwAgAAaQAgCU0AALgDACD5AQAAtwMAMPoBAACMAQAQ-wEAALcDADCRAgEAAAABngJAAJkDACGfAkAAmQMAIaECAQCFAwAh0AIBAIUDACEBAAAAiQEAIAEAAACJAQAgCU0AALgDACD5AQAAtwMAMPoBAACMAQAQ-wEAALcDADCRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhQMAIdACAQCFAwAhA00AAOEEACChAgAA0AMAINACAADQAwAgAwAAAIwBACABAACNAQAwAgAAiQEAIAMAAACMAQAgAQAAjQEAMAIAAIkBACADAAAAjAEAIAEAAI0BADACAACJAQAgBk0AAOAEACCRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAAB0AIBAAAAAQEMAACRAQAgBZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAHQAgEAAAABAQwAAJMBADABDAAAkwEAMAZNAADTBAAgkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANkDACHQAgEA2QMAIQIAAACJAQAgDAAAlgEAIAWRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA2QMAIdACAQDZAwAhAgAAAIwBACAMAACYAQAgAgAAAIwBACAMAACYAQAgAwAAAIkBACATAACRAQAgFAAAlgEAIAEAAACJAQAgAQAAAIwBACAFBgAA0AQAIBkAANIEACAaAADRBAAgoQIAANADACDQAgAA0AMAIAj5AQAAtgMAMPoBAACfAQAQ-wEAALYDADCRAgEA9AIAIZ4CQACLAwAhnwJAAIsDACGhAgEA9wIAIdACAQD3AgAhAwAAAIwBACABAACeAQAwGAAAnwEAIAMAAACMAQAgAQAAjQEAMAIAAIkBACABAAAAbQAgAQAAAG0AIAMAAABrACABAABsADACAABtACADAAAAawAgAQAAbAAwAgAAbQAgAwAAAGsAIAEAAGwAMAIAAG0AIAVOAADOBAAgTwAAzwQAIPwBAgAAAAHOAgEAAAABzwIBAAAAAQEMAACnAQAgA_wBAgAAAAHOAgEAAAABzwIBAAAAAQEMAACpAQAwAQwAAKkBADAFTgAAzAQAIE8AAM0EACD8AQIA2gMAIc4CAQDWAwAhzwIBANYDACECAAAAbQAgDAAArAEAIAP8AQIA2gMAIc4CAQDWAwAhzwIBANYDACECAAAAawAgDAAArgEAIAIAAABrACAMAACuAQAgAwAAAG0AIBMAAKcBACAUAACsAQAgAQAAAG0AIAEAAABrACAFBgAAxwQAIBkAAMoEACAaAADJBAAgfgAAyAQAIH8AAMsEACAG-QEAALUDADD6AQAAtQEAEPsBAAC1AwAw_AECAPMCACHOAgEA9AIAIc8CAQD0AgAhAwAAAGsAIAEAALQBADAYAAC1AQAgAwAAAGsAIAEAAGwAMAIAAG0AIAv5AQAAsgMAMPoBAAC7AQAQ-wEAALIDADCRAgEAAAABngJAAJkDACGfAkAAmQMAIaECAQCEAwAhrgIAALMDywIiywIAAKQDACDMAgAA9gIAIM0CAAC0AwAgAQAAALgBACABAAAAuAEAIAr5AQAAsgMAMPoBAAC7AQAQ-wEAALIDADCRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhAMAIa4CAACzA8sCIssCAACkAwAgzAIAAPYCACABywIAANADACADAAAAuwEAIAEAALwBADACAAC4AQAgAwAAALsBACABAAC8AQAwAgAAuAEAIAMAAAC7AQAgAQAAvAEAMAIAALgBACAHkQIBAAAAAZ4CQAAAAAGfAkAAAAABoQIBAAAAAa4CAAAAywICywKAAAAAAcwCAADGBAAgAQwAAMABACAHkQIBAAAAAZ4CQAAAAAGfAkAAAAABoQIBAAAAAa4CAAAAywICywKAAAAAAcwCAADGBAAgAQwAAMIBADABDAAAwgEAMAeRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIa4CAADEBMsCIssCgAAAAAHMAgAAxQQAIAIAAAC4AQAgDAAAxQEAIAeRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIa4CAADEBMsCIssCgAAAAAHMAgAAxQQAIAIAAAC7AQAgDAAAxwEAIAIAAAC7AQAgDAAAxwEAIAMAAAC4AQAgEwAAwAEAIBQAAMUBACABAAAAuAEAIAEAAAC7AQAgBAYAAMEEACAZAADDBAAgGgAAwgQAIMsCAADQAwAgCvkBAACuAwAw-gEAAM4BABD7AQAArgMAMJECAQD0AgAhngJAAIsDACGfAkAAiwMAIaECAQD0AgAhrgIAAK8DywIiywIAAKEDACDMAgAA9gIAIAMAAAC7AQAgAQAAzQEAMBgAAM4BACADAAAAuwEAIAEAALwBADACAAC4AQAgKJUBAACGAwAglgEAAKYDACCXAQAApwMAIJgBAACoAwAg-QEAAKMDADD6AQAA3QEAEPsBAACjAwAw_AEBAAAAAZECAQAAAAGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGiAgEAhAMAIa4CAQCEAwAhrwIBAIUDACGwAgAA9gIAILECAACkAwAgsgIAAPYCACCzAgAApAMAILQCAQCFAwAhtQIAAPYCACC2AgEAhQMAIbcCAACkAwAguAIBAIUDACG5AgAA9gIAILoCAACkAwAguwIBAIUDACG8AgEAhQMAIb0CAAD2AgAgvgIAAKQDACC_AgEAhQMAIcACAQCFAwAhwQIAAPYCACDCAgEAhQMAIcMCAAD2AgAgxAIBAIUDACHFAgAApAMAIMYCQAClAwAhxwJAAKUDACHIAkAApQMAIQEAAADRAQAgDJMBAACtAwAglAEAAKoDACD5AQAArAMAMPoBAADTAQAQ-wEAAKwDADD8AQIAlwMAIf0BAQCEAwAh_gEBAIQDACH_AQEAhAMAIYACQAClAwAhgQIAAPYCACCCAgEAhQMAIQSTAQAAwAQAIJQBAAC-BAAggAIAANADACCCAgAA0AMAIA2TAQAArQMAIJQBAACqAwAg-QEAAKwDADD6AQAA0wEAEPsBAACsAwAw_AECAAAAAf0BAQCEAwAh_gEBAIQDACH_AQEAhAMAIYACQAClAwAhgQIAAPYCACCCAgEAhQMAIckCAACrAwAgAwAAANMBACABAADUAQAwAgAA1QEAIAMAAADTAQAgAQAA1AEAMAIAANUBACABAAAA0wEAIAyUAQAAqgMAIPkBAACpAwAw-gEAANkBABD7AQAAqQMAMPwBAQCEAwAh_gEBAIQDACGeAkAAmQMAIZ8CQACZAwAhqgIBAIQDACGrAgEAhAMAIawCAQCEAwAhrQJAAKUDACEClAEAAL4EACCtAgAA0AMAIAyUAQAAqgMAIPkBAACpAwAw-gEAANkBABD7AQAAqQMAMPwBAQAAAAH-AQEAhAMAIZ4CQACZAwAhnwJAAJkDACGqAgEAhAMAIasCAQCEAwAhrAIBAIQDACGtAkAApQMAIQMAAADZAQAgAQAA2gEAMAIAANsBACAolQEAAIYDACCWAQAApgMAIJcBAACnAwAgmAEAAKgDACD5AQAAowMAMPoBAADdAQAQ-wEAAKMDADD8AQEAhAMAIZECAQCEAwAhngJAAJkDACGfAkAAmQMAIaECAQCEAwAhogIBAIQDACGuAgEAhAMAIa8CAQCFAwAhsAIAAPYCACCxAgAApAMAILICAAD2AgAgswIAAKQDACC0AgEAhQMAIbUCAAD2AgAgtgIBAIUDACG3AgAApAMAILgCAQCFAwAhuQIAAPYCACC6AgAApAMAILsCAQCFAwAhvAIBAIUDACG9AgAA9gIAIL4CAACkAwAgvwIBAIUDACHAAgEAhQMAIcECAAD2AgAgwgIBAIUDACHDAgAA9gIAIMQCAQCFAwAhxQIAAKQDACDGAkAApQMAIccCQAClAwAhyAJAAKUDACEBAAAA3QEAIBeVAQAA8QMAIJYBAAC9BAAglwEAAL4EACCYAQAAvwQAIK8CAADQAwAgsQIAANADACCzAgAA0AMAILQCAADQAwAgtgIAANADACC3AgAA0AMAILgCAADQAwAgugIAANADACC7AgAA0AMAILwCAADQAwAgvgIAANADACC_AgAA0AMAIMACAADQAwAgwgIAANADACDEAgAA0AMAIMUCAADQAwAgxgIAANADACDHAgAA0AMAIMgCAADQAwAgAwAAAN0BACABAADfAQAwAgAA0QEAIAEAAADTAQAgAQAAANkBACABAAAA3QEAIAEAAADRAQAgAwAAAN0BACABAADfAQAwAgAA0QEAIAMAAADdAQAgAQAA3wEAMAIAANEBACADAAAA3QEAIAEAAN8BADACAADRAQAgJZUBAACkBAAglgEAAKUEACCXAQAAvAQAIJgBAACmBAAg_AEBAAAAAZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAGiAgEAAAABrgIBAAAAAa8CAQAAAAGwAgAAnQQAILECgAAAAAGyAgAAngQAILMCgAAAAAG0AgEAAAABtQIAAJ8EACC2AgEAAAABtwKAAAAAAbgCAQAAAAG5AgAAoAQAILoCgAAAAAG7AgEAAAABvAIBAAAAAb0CAAChBAAgvgKAAAAAAb8CAQAAAAHAAgEAAAABwQIAAKIEACDCAgEAAAABwwIAAKMEACDEAgEAAAABxQKAAAAAAcYCQAAAAAHHAkAAAAAByAJAAAAAAQEMAADoAQAgIfwBAQAAAAGRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAABogIBAAAAAa4CAQAAAAGvAgEAAAABsAIAAJ0EACCxAoAAAAABsgIAAJ4EACCzAoAAAAABtAIBAAAAAbUCAACfBAAgtgIBAAAAAbcCgAAAAAG4AgEAAAABuQIAAKAEACC6AoAAAAABuwIBAAAAAbwCAQAAAAG9AgAAoQQAIL4CgAAAAAG_AgEAAAABwAIBAAAAAcECAACiBAAgwgIBAAAAAcMCAACjBAAgxAIBAAAAAcUCgAAAAAHGAkAAAAABxwJAAAAAAcgCQAAAAAEBDAAA6gEAMAEMAADqAQAwAQAAAN0BACAllQEAAI0EACCWAQAAjgQAIJcBAACPBAAgmAEAAJAEACD8AQEA1gMAIZECAQDWAwAhngJAAPoDACGfAkAA-gMAIaECAQDWAwAhogIBANYDACGuAgEA1gMAIa8CAQDZAwAhsAIAAIYEACCxAoAAAAABsgIAAIcEACCzAoAAAAABtAIBANkDACG1AgAAiAQAILYCAQDZAwAhtwKAAAAAAbgCAQDZAwAhuQIAAIkEACC6AoAAAAABuwIBANkDACG8AgEA2QMAIb0CAACKBAAgvgKAAAAAAb8CAQDZAwAhwAIBANkDACHBAgAAiwQAIMICAQDZAwAhwwIAAIwEACDEAgEA2QMAIcUCgAAAAAHGAkAA1wMAIccCQADXAwAhyAJAANcDACECAAAA0QEAIAwAAO4BACAh_AEBANYDACGRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIaICAQDWAwAhrgIBANYDACGvAgEA2QMAIbACAACGBAAgsQKAAAAAAbICAACHBAAgswKAAAAAAbQCAQDZAwAhtQIAAIgEACC2AgEA2QMAIbcCgAAAAAG4AgEA2QMAIbkCAACJBAAgugKAAAAAAbsCAQDZAwAhvAIBANkDACG9AgAAigQAIL4CgAAAAAG_AgEA2QMAIcACAQDZAwAhwQIAAIsEACDCAgEA2QMAIcMCAACMBAAgxAIBANkDACHFAoAAAAABxgJAANcDACHHAkAA1wMAIcgCQADXAwAhAgAAAN0BACAMAADwAQAgAgAAAN0BACAMAADwAQAgAQAAAN0BACADAAAA0QEAIBMAAOgBACAUAADuAQAgAQAAANEBACABAAAA3QEAIBYGAACDBAAgGQAAhQQAIBoAAIQEACCvAgAA0AMAILECAADQAwAgswIAANADACC0AgAA0AMAILYCAADQAwAgtwIAANADACC4AgAA0AMAILoCAADQAwAguwIAANADACC8AgAA0AMAIL4CAADQAwAgvwIAANADACDAAgAA0AMAIMICAADQAwAgxAIAANADACDFAgAA0AMAIMYCAADQAwAgxwIAANADACDIAgAA0AMAICT5AQAAoAMAMPoBAAD4AQAQ-wEAAKADADD8AQEA9AIAIZECAQD0AgAhngJAAIsDACGfAkAAiwMAIaECAQD0AgAhogIBAPQCACGuAgEA9AIAIa8CAQD3AgAhsAIAAPYCACCxAgAAoQMAILICAAD2AgAgswIAAKEDACC0AgEA9wIAIbUCAAD2AgAgtgIBAPcCACG3AgAAoQMAILgCAQD3AgAhuQIAAPYCACC6AgAAoQMAILsCAQD3AgAhvAIBAPcCACG9AgAA9gIAIL4CAAChAwAgvwIBAPcCACHAAgEA9wIAIcECAAD2AgAgwgIBAPcCACHDAgAA9gIAIMQCAQD3AgAhxQIAAKEDACDGAkAA9QIAIccCQAD1AgAhyAJAAPUCACEDAAAA3QEAIAEAAPcBADAYAAD4AQAgAwAAAN0BACABAADfAQAwAgAA0QEAIAEAAADbAQAgAQAAANsBACADAAAA2QEAIAEAANoBADACAADbAQAgAwAAANkBACABAADaAQAwAgAA2wEAIAMAAADZAQAgAQAA2gEAMAIAANsBACAJlAEAAIIEACD8AQEAAAAB_gEBAAAAAZ4CQAAAAAGfAkAAAAABqgIBAAAAAasCAQAAAAGsAgEAAAABrQJAAAAAAQEMAACAAgAgCPwBAQAAAAH-AQEAAAABngJAAAAAAZ8CQAAAAAGqAgEAAAABqwIBAAAAAawCAQAAAAGtAkAAAAABAQwAAIICADABDAAAggIAMAmUAQAAgQQAIPwBAQDWAwAh_gEBANYDACGeAkAA-gMAIZ8CQAD6AwAhqgIBANYDACGrAgEA1gMAIawCAQDWAwAhrQJAANcDACECAAAA2wEAIAwAAIUCACAI_AEBANYDACH-AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACGqAgEA1gMAIasCAQDWAwAhrAIBANYDACGtAkAA1wMAIQIAAADZAQAgDAAAhwIAIAIAAADZAQAgDAAAhwIAIAMAAADbAQAgEwAAgAIAIBQAAIUCACABAAAA2wEAIAEAAADZAQAgBAYAAP4DACAZAACABAAgGgAA_wMAIK0CAADQAwAgC_kBAACfAwAw-gEAAI4CABD7AQAAnwMAMPwBAQD0AgAh_gEBAPQCACGeAkAAiwMAIZ8CQACLAwAhqgIBAPQCACGrAgEA9AIAIawCAQD0AgAhrQJAAPUCACEDAAAA2QEAIAEAAI0CADAYAACOAgAgAwAAANkBACABAADaAQAwAgAA2wEAIAr5AQAAnQMAMPoBAACUAgAQ-wEAAJ0DADD8AQEAAAABngJAAJkDACGfAkAAmQMAIaACAQAAAAGhAgEAhAMAIaICAQCEAwAhowIAAJ4DACABAAAAkQIAIAEAAACRAgAgCvkBAACdAwAw-gEAAJQCABD7AQAAnQMAMPwBAQCEAwAhngJAAJkDACGfAkAAmQMAIaACAQCEAwAhoQIBAIQDACGiAgEAhAMAIaMCAACeAwAgAAMAAACUAgAgAQAAlQIAMAIAAJECACADAAAAlAIAIAEAAJUCADACAACRAgAgAwAAAJQCACABAACVAgAwAgAAkQIAIAf8AQEAAAABngJAAAAAAZ8CQAAAAAGgAgEAAAABoQIBAAAAAaICAQAAAAGjAoAAAAABAQwAAJkCACAH_AEBAAAAAZ4CQAAAAAGfAkAAAAABoAIBAAAAAaECAQAAAAGiAgEAAAABowKAAAAAAQEMAACbAgAwAQwAAJsCADAH_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAhoAIBANYDACGhAgEA1gMAIaICAQDWAwAhowKAAAAAAQIAAACRAgAgDAAAngIAIAf8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACGgAgEA1gMAIaECAQDWAwAhogIBANYDACGjAoAAAAABAgAAAJQCACAMAACgAgAgAgAAAJQCACAMAACgAgAgAwAAAJECACATAACZAgAgFAAAngIAIAEAAACRAgAgAQAAAJQCACADBgAA-wMAIBkAAP0DACAaAAD8AwAgCvkBAACaAwAw-gEAAKcCABD7AQAAmgMAMPwBAQD0AgAhngJAAIsDACGfAkAAiwMAIaACAQD0AgAhoQIBAPQCACGiAgEA9AIAIaMCAACbAwAgAwAAAJQCACABAACmAgAwGAAApwIAIAMAAACUAgAgAQAAlQIAMAIAAJECACAO-QEAAJQDADD6AQAArQIAEPsBAACUAwAw_AEBAAAAAZUCAQAAAAGXAgAAlQOXAiKYAgABlgMAIZkCAQCEAwAhmgIBAIQDACGbAgIAlwMAIZwCAgCYAwAhnQICAJgDACGeAkAAmQMAIZ8CQACZAwAhAQAAAKoCACABAAAAqgIAIA75AQAAlAMAMPoBAACtAgAQ-wEAAJQDADD8AQEAhAMAIZUCAQCEAwAhlwIAAJUDlwIimAIAAZYDACGZAgEAhAMAIZoCAQCEAwAhmwICAJcDACGcAgIAmAMAIZ0CAgCYAwAhngJAAJkDACGfAkAAmQMAIQKcAgAA0AMAIJ0CAADQAwAgAwAAAK0CACABAACuAgAwAgAAqgIAIAMAAACtAgAgAQAArgIAMAIAAKoCACADAAAArQIAIAEAAK4CADACAACqAgAgC_wBAQAAAAGVAgEAAAABlwIAAACXAgKYAgABAAABmQIBAAAAAZoCAQAAAAGbAgIAAAABnAICAAAAAZ0CAgAAAAGeAkAAAAABnwJAAAAAAQEMAACyAgAgC_wBAQAAAAGVAgEAAAABlwIAAACXAgKYAgABAAABmQIBAAAAAZoCAQAAAAGbAgIAAAABnAICAAAAAZ0CAgAAAAGeAkAAAAABnwJAAAAAAQEMAAC0AgAwAQwAALQCADAL_AEBANYDACGVAgEA1gMAIZcCAAD3A5cCIpgCAAH4AwAhmQIBANYDACGaAgEA1gMAIZsCAgDaAwAhnAICAPkDACGdAgIA-QMAIZ4CQAD6AwAhnwJAAPoDACECAAAAqgIAIAwAALcCACAL_AEBANYDACGVAgEA1gMAIZcCAAD3A5cCIpgCAAH4AwAhmQIBANYDACGaAgEA1gMAIZsCAgDaAwAhnAICAPkDACGdAgIA-QMAIZ4CQAD6AwAhnwJAAPoDACECAAAArQIAIAwAALkCACACAAAArQIAIAwAALkCACADAAAAqgIAIBMAALICACAUAAC3AgAgAQAAAKoCACABAAAArQIAIAcGAADyAwAgGQAA9QMAIBoAAPQDACB-AADzAwAgfwAA9gMAIJwCAADQAwAgnQIAANADACAO-QEAAIcDADD6AQAAwAIAEPsBAACHAwAw_AEBAPQCACGVAgEA9AIAIZcCAACIA5cCIpgCAAGJAwAhmQIBAPQCACGaAgEA9AIAIZsCAgDzAgAhnAICAIoDACGdAgIAigMAIZ4CQACLAwAhnwJAAIsDACEDAAAArQIAIAEAAL8CADAYAADAAgAgAwAAAK0CACABAACuAgAwAgAAqgIAIAaSAQAAhgMAIPkBAACDAwAw-gEAAMYCABD7AQAAgwMAMIICAQCFAwAhkQIBAAAAAQEAAADDAgAgAQAAAMMCACAGkgEAAIYDACD5AQAAgwMAMPoBAADGAgAQ-wEAAIMDADCCAgEAhQMAIZECAQCEAwAhApIBAADxAwAgggIAANADACADAAAAxgIAIAEAAMcCADACAADDAgAgAwAAAMYCACABAADHAgAwAgAAwwIAIAMAAADGAgAgAQAAxwIAMAIAAMMCACADkgEAAPADACCCAgEAAAABkQIBAAAAAQEMAADLAgAgAoICAQAAAAGRAgEAAAABAQwAAM0CADABDAAAzQIAMAOSAQAA4wMAIIICAQDZAwAhkQIBANYDACECAAAAwwIAIAwAANACACACggIBANkDACGRAgEA1gMAIQIAAADGAgAgDAAA0gIAIAIAAADGAgAgDAAA0gIAIAMAAADDAgAgEwAAywIAIBQAANACACABAAAAwwIAIAEAAADGAgAgBAYAAOADACAZAADiAwAgGgAA4QMAIIICAADQAwAgBfkBAACCAwAw-gEAANkCABD7AQAAggMAMIICAQD3AgAhkQIBAPQCACEDAAAAxgIAIAEAANgCADAYAADZAgAgAwAAAMYCACABAADHAgAwAgAAwwIAIAEAAADVAQAgAQAAANUBACADAAAA0wEAIAEAANQBADACAADVAQAgAwAAANMBACABAADUAQAwAgAA1QEAIAMAAADTAQAgAQAA1AEAMAIAANUBACAJkwEAAN4DACCUAQAA3wMAIPwBAgAAAAH9AQEAAAAB_gEBAAAAAf8BAQAAAAGAAkAAAAABgQIAAN0DACCCAgEAAAABAQwAAOECACAH_AECAAAAAf0BAQAAAAH-AQEAAAAB_wEBAAAAAYACQAAAAAGBAgAA3QMAIIICAQAAAAEBDAAA4wIAMAEMAADjAgAwCZMBAADbAwAglAEAANwDACD8AQIA2gMAIf0BAQDWAwAh_gEBANYDACH_AQEA1gMAIYACQADXAwAhgQIAANgDACCCAgEA2QMAIQIAAADVAQAgDAAA5gIAIAf8AQIA2gMAIf0BAQDWAwAh_gEBANYDACH_AQEA1gMAIYACQADXAwAhgQIAANgDACCCAgEA2QMAIQIAAADTAQAgDAAA6AIAIAIAAADTAQAgDAAA6AIAIAMAAADVAQAgEwAA4QIAIBQAAOYCACABAAAA1QEAIAEAAADTAQAgBwYAANEDACAZAADUAwAgGgAA0wMAIH4AANIDACB_AADVAwAggAIAANADACCCAgAA0AMAIAr5AQAA8gIAMPoBAADvAgAQ-wEAAPICADD8AQIA8wIAIf0BAQD0AgAh_gEBAPQCACH_AQEA9AIAIYACQAD1AgAhgQIAAPYCACCCAgEA9wIAIQMAAADTAQAgAQAA7gIAMBgAAO8CACADAAAA0wEAIAEAANQBADACAADVAQAgCvkBAADyAgAw-gEAAO8CABD7AQAA8gIAMPwBAgDzAgAh_QEBAPQCACH-AQEA9AIAIf8BAQD0AgAhgAJAAPUCACGBAgAA9gIAIIICAQD3AgAhDQYAAP4CACAZAAD-AgAgGgAA_gIAIH4AAIEDACB_AAD-AgAggwICAAAAAYQCAgAAAASFAgIAAAAEhgICAAAAAYcCAgAAAAGIAgIAAAABiQICAAAAAY0CAgCAAwAhDgYAAP4CACAZAAD_AgAgGgAA_wIAIIMCAQAAAAGEAgEAAAAEhQIBAAAABIYCAQAAAAGHAgEAAAABiAIBAAAAAYkCAQAAAAGKAgEAAAABiwIBAAAAAYwCAQAAAAGNAgEA_QIAIQsGAAD5AgAgGQAA_AIAIBoAAPwCACCDAkAAAAABhAJAAAAABYUCQAAAAAWGAkAAAAABhwJAAAAAAYgCQAAAAAGJAkAAAAABjQJAAPsCACEEgwIBAAAABY4CAQAAAAGPAgEAAAAEkAIBAAAABA4GAAD5AgAgGQAA-gIAIBoAAPoCACCDAgEAAAABhAIBAAAABYUCAQAAAAWGAgEAAAABhwIBAAAAAYgCAQAAAAGJAgEAAAABigIBAAAAAYsCAQAAAAGMAgEAAAABjQIBAPgCACEOBgAA-QIAIBkAAPoCACAaAAD6AgAggwIBAAAAAYQCAQAAAAWFAgEAAAAFhgIBAAAAAYcCAQAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAY0CAQD4AgAhCIMCAgAAAAGEAgIAAAAFhQICAAAABYYCAgAAAAGHAgIAAAABiAICAAAAAYkCAgAAAAGNAgIA-QIAIQuDAgEAAAABhAIBAAAABYUCAQAAAAWGAgEAAAABhwIBAAAAAYgCAQAAAAGJAgEAAAABigIBAAAAAYsCAQAAAAGMAgEAAAABjQIBAPoCACELBgAA-QIAIBkAAPwCACAaAAD8AgAggwJAAAAAAYQCQAAAAAWFAkAAAAAFhgJAAAAAAYcCQAAAAAGIAkAAAAABiQJAAAAAAY0CQAD7AgAhCIMCQAAAAAGEAkAAAAAFhQJAAAAABYYCQAAAAAGHAkAAAAABiAJAAAAAAYkCQAAAAAGNAkAA_AIAIQ4GAAD-AgAgGQAA_wIAIBoAAP8CACCDAgEAAAABhAIBAAAABIUCAQAAAASGAgEAAAABhwIBAAAAAYgCAQAAAAGJAgEAAAABigIBAAAAAYsCAQAAAAGMAgEAAAABjQIBAP0CACEIgwICAAAAAYQCAgAAAASFAgIAAAAEhgICAAAAAYcCAgAAAAGIAgIAAAABiQICAAAAAY0CAgD-AgAhC4MCAQAAAAGEAgEAAAAEhQIBAAAABIYCAQAAAAGHAgEAAAABiAIBAAAAAYkCAQAAAAGKAgEAAAABiwIBAAAAAYwCAQAAAAGNAgEA_wIAIQ0GAAD-AgAgGQAA_gIAIBoAAP4CACB-AACBAwAgfwAA_gIAIIMCAgAAAAGEAgIAAAAEhQICAAAABIYCAgAAAAGHAgIAAAABiAICAAAAAYkCAgAAAAGNAgIAgAMAIQiDAggAAAABhAIIAAAABIUCCAAAAASGAggAAAABhwIIAAAAAYgCCAAAAAGJAggAAAABjQIIAIEDACEF-QEAAIIDADD6AQAA2QIAEPsBAACCAwAwggIBAPcCACGRAgEA9AIAIQaSAQAAhgMAIPkBAACDAwAw-gEAAMYCABD7AQAAgwMAMIICAQCFAwAhkQIBAIQDACELgwIBAAAAAYQCAQAAAASFAgEAAAAEhgIBAAAAAYcCAQAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAY0CAQD_AgAhC4MCAQAAAAGEAgEAAAAFhQIBAAAABYYCAQAAAAGHAgEAAAABiAIBAAAAAYkCAQAAAAGKAgEAAAABiwIBAAAAAYwCAQAAAAGNAgEA-gIAIQOSAgAA0wEAIJMCAADTAQAglAIAANMBACAO-QEAAIcDADD6AQAAwAIAEPsBAACHAwAw_AEBAPQCACGVAgEA9AIAIZcCAACIA5cCIpgCAAGJAwAhmQIBAPQCACGaAgEA9AIAIZsCAgDzAgAhnAICAIoDACGdAgIAigMAIZ4CQACLAwAhnwJAAIsDACEHBgAA_gIAIBkAAJMDACAaAACTAwAggwIAAACXAgKEAgAAAJcCCIUCAAAAlwIIjQIAAJIDlwIiBwYAAP4CACAZAACRAwAgGgAAkQMAIIMCAAEAAAGEAgABAAAEhQIAAQAABI0CAAGQAwAhDQYAAPkCACAZAAD5AgAgGgAA-QIAIH4AAI8DACB_AAD5AgAggwICAAAAAYQCAgAAAAWFAgIAAAAFhgICAAAAAYcCAgAAAAGIAgIAAAABiQICAAAAAY0CAgCOAwAhCwYAAP4CACAZAACNAwAgGgAAjQMAIIMCQAAAAAGEAkAAAAAEhQJAAAAABIYCQAAAAAGHAkAAAAABiAJAAAAAAYkCQAAAAAGNAkAAjAMAIQsGAAD-AgAgGQAAjQMAIBoAAI0DACCDAkAAAAABhAJAAAAABIUCQAAAAASGAkAAAAABhwJAAAAAAYgCQAAAAAGJAkAAAAABjQJAAIwDACEIgwJAAAAAAYQCQAAAAASFAkAAAAAEhgJAAAAAAYcCQAAAAAGIAkAAAAABiQJAAAAAAY0CQACNAwAhDQYAAPkCACAZAAD5AgAgGgAA-QIAIH4AAI8DACB_AAD5AgAggwICAAAAAYQCAgAAAAWFAgIAAAAFhgICAAAAAYcCAgAAAAGIAgIAAAABiQICAAAAAY0CAgCOAwAhCIMCCAAAAAGEAggAAAAFhQIIAAAABYYCCAAAAAGHAggAAAABiAIIAAAAAYkCCAAAAAGNAggAjwMAIQcGAAD-AgAgGQAAkQMAIBoAAJEDACCDAgABAAABhAIAAQAABIUCAAEAAASNAgABkAMAIQSDAgABAAABhAIAAQAABIUCAAEAAASNAgABkQMAIQcGAAD-AgAgGQAAkwMAIBoAAJMDACCDAgAAAJcCAoQCAAAAlwIIhQIAAACXAgiNAgAAkgOXAiIEgwIAAACXAgKEAgAAAJcCCIUCAAAAlwIIjQIAAJMDlwIiDvkBAACUAwAw-gEAAK0CABD7AQAAlAMAMPwBAQCEAwAhlQIBAIQDACGXAgAAlQOXAiKYAgABlgMAIZkCAQCEAwAhmgIBAIQDACGbAgIAlwMAIZwCAgCYAwAhnQICAJgDACGeAkAAmQMAIZ8CQACZAwAhBIMCAAAAlwIChAIAAACXAgiFAgAAAJcCCI0CAACTA5cCIgSDAgABAAABhAIAAQAABIUCAAEAAASNAgABkQMAIQiDAgIAAAABhAICAAAABIUCAgAAAASGAgIAAAABhwICAAAAAYgCAgAAAAGJAgIAAAABjQICAP4CACEIgwICAAAAAYQCAgAAAAWFAgIAAAAFhgICAAAAAYcCAgAAAAGIAgIAAAABiQICAAAAAY0CAgD5AgAhCIMCQAAAAAGEAkAAAAAEhQJAAAAABIYCQAAAAAGHAkAAAAABiAJAAAAAAYkCQAAAAAGNAkAAjQMAIQr5AQAAmgMAMPoBAACnAgAQ-wEAAJoDADD8AQEA9AIAIZ4CQACLAwAhnwJAAIsDACGgAgEA9AIAIaECAQD0AgAhogIBAPQCACGjAgAAmwMAIA8GAAD-AgAgGQAAnAMAIBoAAJwDACCDAoAAAAABhgKAAAAAAYcCgAAAAAGIAoAAAAABiQKAAAAAAY0CgAAAAAGkAgEAAAABpQIBAAAAAaYCAQAAAAGnAoAAAAABqAKAAAAAAakCgAAAAAEMgwKAAAAAAYYCgAAAAAGHAoAAAAABiAKAAAAAAYkCgAAAAAGNAoAAAAABpAIBAAAAAaUCAQAAAAGmAgEAAAABpwKAAAAAAagCgAAAAAGpAoAAAAABCvkBAACdAwAw-gEAAJQCABD7AQAAnQMAMPwBAQCEAwAhngJAAJkDACGfAkAAmQMAIaACAQCEAwAhoQIBAIQDACGiAgEAhAMAIaMCAACeAwAgDIMCgAAAAAGGAoAAAAABhwKAAAAAAYgCgAAAAAGJAoAAAAABjQKAAAAAAaQCAQAAAAGlAgEAAAABpgIBAAAAAacCgAAAAAGoAoAAAAABqQKAAAAAAQv5AQAAnwMAMPoBAACOAgAQ-wEAAJ8DADD8AQEA9AIAIf4BAQD0AgAhngJAAIsDACGfAkAAiwMAIaoCAQD0AgAhqwIBAPQCACGsAgEA9AIAIa0CQAD1AgAhJPkBAACgAwAw-gEAAPgBABD7AQAAoAMAMPwBAQD0AgAhkQIBAPQCACGeAkAAiwMAIZ8CQACLAwAhoQIBAPQCACGiAgEA9AIAIa4CAQD0AgAhrwIBAPcCACGwAgAA9gIAILECAAChAwAgsgIAAPYCACCzAgAAoQMAILQCAQD3AgAhtQIAAPYCACC2AgEA9wIAIbcCAAChAwAguAIBAPcCACG5AgAA9gIAILoCAAChAwAguwIBAPcCACG8AgEA9wIAIb0CAAD2AgAgvgIAAKEDACC_AgEA9wIAIcACAQD3AgAhwQIAAPYCACDCAgEA9wIAIcMCAAD2AgAgxAIBAPcCACHFAgAAoQMAIMYCQAD1AgAhxwJAAPUCACHIAkAA9QIAIQ8GAAD5AgAgGQAAogMAIBoAAKIDACCDAoAAAAABhgKAAAAAAYcCgAAAAAGIAoAAAAABiQKAAAAAAY0CgAAAAAGkAgEAAAABpQIBAAAAAaYCAQAAAAGnAoAAAAABqAKAAAAAAakCgAAAAAEMgwKAAAAAAYYCgAAAAAGHAoAAAAABiAKAAAAAAYkCgAAAAAGNAoAAAAABpAIBAAAAAaUCAQAAAAGmAgEAAAABpwKAAAAAAagCgAAAAAGpAoAAAAABKJUBAACGAwAglgEAAKYDACCXAQAApwMAIJgBAACoAwAg-QEAAKMDADD6AQAA3QEAEPsBAACjAwAw_AEBAIQDACGRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhAMAIaICAQCEAwAhrgIBAIQDACGvAgEAhQMAIbACAAD2AgAgsQIAAKQDACCyAgAA9gIAILMCAACkAwAgtAIBAIUDACG1AgAA9gIAILYCAQCFAwAhtwIAAKQDACC4AgEAhQMAIbkCAAD2AgAgugIAAKQDACC7AgEAhQMAIbwCAQCFAwAhvQIAAPYCACC-AgAApAMAIL8CAQCFAwAhwAIBAIUDACHBAgAA9gIAIMICAQCFAwAhwwIAAPYCACDEAgEAhQMAIcUCAACkAwAgxgJAAKUDACHHAkAApQMAIcgCQAClAwAhDIMCgAAAAAGGAoAAAAABhwKAAAAAAYgCgAAAAAGJAoAAAAABjQKAAAAAAaQCAQAAAAGlAgEAAAABpgIBAAAAAacCgAAAAAGoAoAAAAABqQKAAAAAAQiDAkAAAAABhAJAAAAABYUCQAAAAAWGAkAAAAABhwJAAAAAAYgCQAAAAAGJAkAAAAABjQJAAPwCACEDkgIAANkBACCTAgAA2QEAIJQCAADZAQAgKpUBAACGAwAglgEAAKYDACCXAQAApwMAIJgBAACoAwAg-QEAAKMDADD6AQAA3QEAEPsBAACjAwAw_AEBAIQDACGRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhAMAIaICAQCEAwAhrgIBAIQDACGvAgEAhQMAIbACAAD2AgAgsQIAAKQDACCyAgAA9gIAILMCAACkAwAgtAIBAIUDACG1AgAA9gIAILYCAQCFAwAhtwIAAKQDACC4AgEAhQMAIbkCAAD2AgAgugIAAKQDACC7AgEAhQMAIbwCAQCFAwAhvQIAAPYCACC-AgAApAMAIL8CAQCFAwAhwAIBAIUDACHBAgAA9gIAIMICAQCFAwAhwwIAAPYCACDEAgEAhQMAIcUCAACkAwAgxgJAAKUDACHHAkAApQMAIcgCQAClAwAh6QIAAN0BACDqAgAA3QEAIAOSAgAA3QEAIJMCAADdAQAglAIAAN0BACAMlAEAAKoDACD5AQAAqQMAMPoBAADZAQAQ-wEAAKkDADD8AQEAhAMAIf4BAQCEAwAhngJAAJkDACGfAkAAmQMAIaoCAQCEAwAhqwIBAIQDACGsAgEAhAMAIa0CQAClAwAhKpUBAACGAwAglgEAAKYDACCXAQAApwMAIJgBAACoAwAg-QEAAKMDADD6AQAA3QEAEPsBAACjAwAw_AEBAIQDACGRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhAMAIaICAQCEAwAhrgIBAIQDACGvAgEAhQMAIbACAAD2AgAgsQIAAKQDACCyAgAA9gIAILMCAACkAwAgtAIBAIUDACG1AgAA9gIAILYCAQCFAwAhtwIAAKQDACC4AgEAhQMAIbkCAAD2AgAgugIAAKQDACC7AgEAhQMAIbwCAQCFAwAhvQIAAPYCACC-AgAApAMAIL8CAQCFAwAhwAIBAIUDACHBAgAA9gIAIMICAQCFAwAhwwIAAPYCACDEAgEAhQMAIcUCAACkAwAgxgJAAKUDACHHAkAApQMAIcgCQAClAwAh6QIAAN0BACDqAgAA3QEAIAL-AQEAAAAB_wEBAAAAAQyTAQAArQMAIJQBAACqAwAg-QEAAKwDADD6AQAA0wEAEPsBAACsAwAw_AECAJcDACH9AQEAhAMAIf4BAQCEAwAh_wEBAIQDACGAAkAApQMAIYECAAD2AgAgggIBAIUDACEIkgEAAIYDACD5AQAAgwMAMPoBAADGAgAQ-wEAAIMDADCCAgEAhQMAIZECAQCEAwAh6QIAAMYCACDqAgAAxgIAIAr5AQAArgMAMPoBAADOAQAQ-wEAAK4DADCRAgEA9AIAIZ4CQACLAwAhnwJAAIsDACGhAgEA9AIAIa4CAACvA8sCIssCAAChAwAgzAIAAPYCACAHBgAA_gIAIBkAALEDACAaAACxAwAggwIAAADLAgKEAgAAAMsCCIUCAAAAywIIjQIAALADywIiBwYAAP4CACAZAACxAwAgGgAAsQMAIIMCAAAAywIChAIAAADLAgiFAgAAAMsCCI0CAACwA8sCIgSDAgAAAMsCAoQCAAAAywIIhQIAAADLAgiNAgAAsQPLAiIK-QEAALIDADD6AQAAuwEAEPsBAACyAwAwkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGuAgAAswPLAiLLAgAApAMAIMwCAAD2AgAgBIMCAAAAywIChAIAAADLAgiFAgAAAMsCCI0CAACxA8sCIgKhAgEAAAABrgIAAADLAgIG-QEAALUDADD6AQAAtQEAEPsBAAC1AwAw_AECAPMCACHOAgEA9AIAIc8CAQD0AgAhCPkBAAC2AwAw-gEAAJ8BABD7AQAAtgMAMJECAQD0AgAhngJAAIsDACGfAkAAiwMAIaECAQD3AgAh0AIBAPcCACEJTQAAuAMAIPkBAAC3AwAw-gEAAIwBABD7AQAAtwMAMJECAQCEAwAhngJAAJkDACGfAkAAmQMAIaECAQCFAwAh0AIBAIUDACEDkgIAAGsAIJMCAABrACCUAgAAawAgCfkBAAC5AwAw-gEAAIYBABD7AQAAuQMAMJECAQD0AgAhngJAAIsDACGfAkAAiwMAIdACAQD3AgAh0QIBAPQCACHSAgEA9AIAIQpNAAC4AwAg-QEAALoDADD6AQAAcwAQ-wEAALoDADCRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACHQAgEAhQMAIdECAQCEAwAh0gIBAIQDACECzgIBAAAAAc8CAQAAAAEITgAAvQMAIE8AAL4DACD5AQAAvAMAMPoBAABrABD7AQAAvAMAMPwBAgCXAwAhzgIBAIQDACHPAgEAhAMAIQtNAAC4AwAg-QEAALcDADD6AQAAjAEAEPsBAAC3AwAwkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAhoQIBAIUDACHQAgEAhQMAIekCAACMAQAg6gIAAIwBACAMTQAAuAMAIPkBAAC6AwAw-gEAAHMAEPsBAAC6AwAwkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAh0AIBAIUDACHRAgEAhAMAIdICAQCEAwAh6QIAAHMAIOoCAABzACAJ-QEAAL8DADD6AQAAZgAQ-wEAAL8DADD8AQEA9AIAIZ4CQACLAwAhnwJAAIsDACHUAgEA9AIAIdUCAQD0AgAh1gJAAIsDACEJ-QEAAMADADD6AQAAUwAQ-wEAAMADADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHUAgEAhAMAIdUCAQCEAwAh1gJAAJkDACEC1AIBAAAAAdUCAQAAAAEQ-QEAAMIDADD6AQAATQAQ-wEAAMIDADD8AQEA9AIAIZ4CQACLAwAhnwJAAIsDACHYAgEA9AIAIdkCAQD0AgAh2gIBAPQCACHbAgEA9wIAIdwCAQD3AgAh3QJAAPUCACHeAkAA9QIAId8CAQD3AgAh4AIBAPcCACHhAgEA9wIAIQv5AQAAwwMAMPoBAAA3ABD7AQAAwwMAMPwBAQD0AgAhngJAAIsDACGfAkAAiwMAIdYCQACLAwAh2AIBAPQCACHiAgEA9AIAIeMCAQD3AgAh5AIBAPcCACEL-QEAAMQDADD6AQAAIQAQ-wEAAMQDADD8AQEA9AIAIZUCAQD3AgAhngJAAIsDACGfAkAAiwMAIdACAQD3AgAh5QIgAMUDACHmAgEA9wIAIecCAQD0AgAhBQYAAP4CACAZAADHAwAgGgAAxwMAIIMCIAAAAAGNAiAAxgMAIQUGAAD-AgAgGQAAxwMAIBoAAMcDACCDAiAAAAABjQIgAMYDACECgwIgAAAAAY0CIADHAwAhDQQAAMoDACAFAADLAwAg-QEAAMgDADD6AQAADgAQ-wEAAMgDADD8AQEAhAMAIZUCAQCFAwAhngJAAJkDACGfAkAAmQMAIdACAQCFAwAh5QIgAMkDACHmAgEAhQMAIecCAQCEAwAhAoMCIAAAAAGNAiAAxwMAIQOSAgAAAwAgkwIAAAMAIJQCAAADACADkgIAAAcAIJMCAAAHACCUAgAABwAgDAMAAM0DACD5AQAAzAMAMPoBAAAHABD7AQAAzAMAMPwBAQCEAwAhngJAAJkDACGfAkAAmQMAIdYCQACZAwAh2AIBAIQDACHiAgEAhAMAIeMCAQCFAwAh5AIBAIUDACEPBAAAygMAIAUAAMsDACD5AQAAyAMAMPoBAAAOABD7AQAAyAMAMPwBAQCEAwAhlQIBAIUDACGeAkAAmQMAIZ8CQACZAwAh0AIBAIUDACHlAiAAyQMAIeYCAQCFAwAh5wIBAIQDACHpAgAADgAg6gIAAA4AIALZAgEAAAAB2gIBAAAAAREDAADNAwAg-QEAAM8DADD6AQAAAwAQ-wEAAM8DADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHYAgEAhAMAIdkCAQCEAwAh2gIBAIQDACHbAgEAhQMAIdwCAQCFAwAh3QJAAKUDACHeAkAApQMAId8CAQCFAwAh4AIBAIUDACHhAgEAhQMAIQAAAAAAAAHuAgEAAAABAe4CQAAAAAEC7gIBAAAABPQCAQAAAAUB7gIBAAAAAQXuAgIAAAAB9QICAAAAAfYCAgAAAAH3AgIAAAAB-AICAAAAAQUTAADKBQAgFAAA0AUAIOsCAADLBQAg7AIAAM8FACDxAgAAwwIAIAUTAADIBQAgFAAAzQUAIOsCAADJBQAg7AIAAMwFACDxAgAA0QEAIAHuAgEAAAAEAxMAAMoFACDrAgAAywUAIPECAADDAgAgAxMAAMgFACDrAgAAyQUAIPECAADRAQAgAAAACxMAAOQDADAUAADpAwAw6wIAAOUDADDsAgAA5gMAMO0CAADnAwAg7gIAAOgDADDvAgAA6AMAMPACAADoAwAw8QIAAOgDADDyAgAA6gMAMPMCAADrAwAwB5QBAADfAwAg_AECAAAAAf4BAQAAAAH_AQEAAAABgAJAAAAAAYECAADdAwAgggIBAAAAAQIAAADVAQAgEwAA7wMAIAMAAADVAQAgEwAA7wMAIBQAAO4DACABDAAAxwUAMA2TAQAArQMAIJQBAACqAwAg-QEAAKwDADD6AQAA0wEAEPsBAACsAwAw_AECAAAAAf0BAQCEAwAh_gEBAIQDACH_AQEAhAMAIYACQAClAwAhgQIAAPYCACCCAgEAhQMAIckCAACrAwAgAgAAANUBACAMAADuAwAgAgAAAOwDACAMAADtAwAgCvkBAADrAwAw-gEAAOwDABD7AQAA6wMAMPwBAgCXAwAh_QEBAIQDACH-AQEAhAMAIf8BAQCEAwAhgAJAAKUDACGBAgAA9gIAIIICAQCFAwAhCvkBAADrAwAw-gEAAOwDABD7AQAA6wMAMPwBAgCXAwAh_QEBAIQDACH-AQEAhAMAIf8BAQCEAwAhgAJAAKUDACGBAgAA9gIAIIICAQCFAwAhBvwBAgDaAwAh_gEBANYDACH_AQEA1gMAIYACQADXAwAhgQIAANgDACCCAgEA2QMAIQeUAQAA3AMAIPwBAgDaAwAh_gEBANYDACH_AQEA1gMAIYACQADXAwAhgQIAANgDACCCAgEA2QMAIQeUAQAA3wMAIPwBAgAAAAH-AQEAAAAB_wEBAAAAAYACQAAAAAGBAgAA3QMAIIICAQAAAAEEEwAA5AMAMOsCAADlAwAw7QIAAOcDACDxAgAA6AMAMAAAAAAAAAHuAgAAAJcCAgHuAgABAAABBe4CAgAAAAH1AgIAAAAB9gICAAAAAfcCAgAAAAH4AgIAAAABAe4CQAAAAAEAAAAAAAAFEwAAwgUAIBQAAMUFACDrAgAAwwUAIOwCAADEBQAg8QIAANEBACADEwAAwgUAIOsCAADDBQAg8QIAANEBACAAAAAC7gIBAAAABPQCAQAAAAUC7gIBAAAABPQCAQAAAAUC7gIBAAAABPQCAQAAAAUC7gIBAAAABPQCAQAAAAUC7gIBAAAABPQCAQAAAAUC7gIBAAAABPQCAQAAAAUC7gIBAAAABPQCAQAAAAULEwAArAQAMBQAALgEADDrAgAArQQAMOwCAAC3BAAw7QIAAK4EACDuAgAA6AMAMO8CAADoAwAw8AIAAOgDADDxAgAA6AMAMPICAAC5BAAw8wIAAOsDADALEwAApwQAMBQAALEEADDrAgAAqAQAMOwCAACwBAAw7QIAAKkEACDuAgAAqgQAMO8CAACqBAAw8AIAAKoEADDxAgAAqgQAMPICAACyBAAw8wIAALMEADAHEwAAugUAIBQAAMAFACDrAgAAuwUAIOwCAAC_BQAg7wIAAN0BACDwAgAA3QEAIPECAADRAQAgCxMAAJEEADAUAACWBAAw6wIAAJIEADDsAgAAkwQAMO0CAACUBAAg7gIAAJUEADDvAgAAlQQAMPACAACVBAAw8QIAAJUEADDyAgAAlwQAMPMCAACYBAAwI5UBAACkBAAglgEAAKUEACCYAQAApgQAIPwBAQAAAAGRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAABogIBAAAAAa4CAQAAAAGvAgEAAAABsAIAAJ0EACCxAoAAAAABsgIAAJ4EACCzAoAAAAABtAIBAAAAAbUCAACfBAAgtgIBAAAAAbcCgAAAAAG4AgEAAAABuQIAAKAEACC6AoAAAAABuwIBAAAAAbwCAQAAAAG9AgAAoQQAIL4CgAAAAAHAAgEAAAABwQIAAKIEACDCAgEAAAABwwIAAKMEACDEAgEAAAABxQKAAAAAAcYCQAAAAAHHAkAAAAAByAJAAAAAAQIAAADRAQAgEwAAnAQAIAMAAADRAQAgEwAAnAQAIBQAAJsEACABDAAAvgUAMCiVAQAAhgMAIJYBAACmAwAglwEAAKcDACCYAQAAqAMAIPkBAACjAwAw-gEAAN0BABD7AQAAowMAMPwBAQAAAAGRAgEAAAABngJAAJkDACGfAkAAmQMAIaECAQCEAwAhogIBAIQDACGuAgEAhAMAIa8CAQCFAwAhsAIAAPYCACCxAgAApAMAILICAAD2AgAgswIAAKQDACC0AgEAhQMAIbUCAAD2AgAgtgIBAIUDACG3AgAApAMAILgCAQCFAwAhuQIAAPYCACC6AgAApAMAILsCAQCFAwAhvAIBAIUDACG9AgAA9gIAIL4CAACkAwAgvwIBAIUDACHAAgEAhQMAIcECAAD2AgAgwgIBAIUDACHDAgAA9gIAIMQCAQCFAwAhxQIAAKQDACDGAkAApQMAIccCQAClAwAhyAJAAKUDACECAAAA0QEAIAwAAJsEACACAAAAmQQAIAwAAJoEACAk-QEAAJgEADD6AQAAmQQAEPsBAACYBAAw_AEBAIQDACGRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhAMAIaICAQCEAwAhrgIBAIQDACGvAgEAhQMAIbACAAD2AgAgsQIAAKQDACCyAgAA9gIAILMCAACkAwAgtAIBAIUDACG1AgAA9gIAILYCAQCFAwAhtwIAAKQDACC4AgEAhQMAIbkCAAD2AgAgugIAAKQDACC7AgEAhQMAIbwCAQCFAwAhvQIAAPYCACC-AgAApAMAIL8CAQCFAwAhwAIBAIUDACHBAgAA9gIAIMICAQCFAwAhwwIAAPYCACDEAgEAhQMAIcUCAACkAwAgxgJAAKUDACHHAkAApQMAIcgCQAClAwAhJPkBAACYBAAw-gEAAJkEABD7AQAAmAQAMPwBAQCEAwAhkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGiAgEAhAMAIa4CAQCEAwAhrwIBAIUDACGwAgAA9gIAILECAACkAwAgsgIAAPYCACCzAgAApAMAILQCAQCFAwAhtQIAAPYCACC2AgEAhQMAIbcCAACkAwAguAIBAIUDACG5AgAA9gIAILoCAACkAwAguwIBAIUDACG8AgEAhQMAIb0CAAD2AgAgvgIAAKQDACC_AgEAhQMAIcACAQCFAwAhwQIAAPYCACDCAgEAhQMAIcMCAAD2AgAgxAIBAIUDACHFAgAApAMAIMYCQAClAwAhxwJAAKUDACHIAkAApQMAISD8AQEA1gMAIZECAQDWAwAhngJAAPoDACGfAkAA-gMAIaECAQDWAwAhogIBANYDACGuAgEA1gMAIa8CAQDZAwAhsAIAAIYEACCxAoAAAAABsgIAAIcEACCzAoAAAAABtAIBANkDACG1AgAAiAQAILYCAQDZAwAhtwKAAAAAAbgCAQDZAwAhuQIAAIkEACC6AoAAAAABuwIBANkDACG8AgEA2QMAIb0CAACKBAAgvgKAAAAAAcACAQDZAwAhwQIAAIsEACDCAgEA2QMAIcMCAACMBAAgxAIBANkDACHFAoAAAAABxgJAANcDACHHAkAA1wMAIcgCQADXAwAhI5UBAACNBAAglgEAAI4EACCYAQAAkAQAIPwBAQDWAwAhkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANYDACGiAgEA1gMAIa4CAQDWAwAhrwIBANkDACGwAgAAhgQAILECgAAAAAGyAgAAhwQAILMCgAAAAAG0AgEA2QMAIbUCAACIBAAgtgIBANkDACG3AoAAAAABuAIBANkDACG5AgAAiQQAILoCgAAAAAG7AgEA2QMAIbwCAQDZAwAhvQIAAIoEACC-AoAAAAABwAIBANkDACHBAgAAiwQAIMICAQDZAwAhwwIAAIwEACDEAgEA2QMAIcUCgAAAAAHGAkAA1wMAIccCQADXAwAhyAJAANcDACEjlQEAAKQEACCWAQAApQQAIJgBAACmBAAg_AEBAAAAAZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAGiAgEAAAABrgIBAAAAAa8CAQAAAAGwAgAAnQQAILECgAAAAAGyAgAAngQAILMCgAAAAAG0AgEAAAABtQIAAJ8EACC2AgEAAAABtwKAAAAAAbgCAQAAAAG5AgAAoAQAILoCgAAAAAG7AgEAAAABvAIBAAAAAb0CAAChBAAgvgKAAAAAAcACAQAAAAHBAgAAogQAIMICAQAAAAHDAgAAowQAIMQCAQAAAAHFAoAAAAABxgJAAAAAAccCQAAAAAHIAkAAAAABAe4CAQAAAAQB7gIBAAAABAHuAgEAAAAEAe4CAQAAAAQB7gIBAAAABAHuAgEAAAAEAe4CAQAAAAQEEwAArAQAMOsCAACtBAAw7QIAAK4EACDxAgAA6AMAMAQTAACnBAAw6wIAAKgEADDtAgAAqQQAIPECAACqBAAwBBMAAJEEADDrAgAAkgQAMO0CAACUBAAg8QIAAJUEADAH_AEBAAAAAZ4CQAAAAAGfAkAAAAABqgIBAAAAAasCAQAAAAGsAgEAAAABrQJAAAAAAQIAAADbAQAgEwAAqwQAIAEMAAC9BQAwDJQBAACqAwAg-QEAAKkDADD6AQAA2QEAEPsBAACpAwAw_AEBAAAAAf4BAQCEAwAhngJAAJkDACGfAkAAmQMAIaoCAQCEAwAhqwIBAIQDACGsAgEAhAMAIa0CQAClAwAhB_wBAQAAAAGeAkAAAAABnwJAAAAAAaoCAQAAAAGrAgEAAAABrAIBAAAAAa0CQAAAAAEHkwEAAN4DACD8AQIAAAAB_QEBAAAAAf8BAQAAAAGAAkAAAAABgQIAAN0DACCCAgEAAAABAgAAANUBACATAACvBAAgAQwAALwFADAHkwEAAN4DACD8AQIAAAAB_QEBAAAAAf8BAQAAAAGAAkAAAAABgQIAAN0DACCCAgEAAAABAwAAANsBACATAACrBAAgFAAAtgQAIAIAAADbAQAgDAAAtgQAIAIAAAC0BAAgDAAAtQQAIAv5AQAAswQAMPoBAAC0BAAQ-wEAALMEADD8AQEAhAMAIf4BAQCEAwAhngJAAJkDACGfAkAAmQMAIaoCAQCEAwAhqwIBAIQDACGsAgEAhAMAIa0CQAClAwAhC_kBAACzBAAw-gEAALQEABD7AQAAswQAMPwBAQCEAwAh_gEBAIQDACGeAkAAmQMAIZ8CQACZAwAhqgIBAIQDACGrAgEAhAMAIawCAQCEAwAhrQJAAKUDACEH_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAhqgIBANYDACGrAgEA1gMAIawCAQDWAwAhrQJAANcDACEH_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAhqgIBANYDACGrAgEA1gMAIawCAQDWAwAhrQJAANcDACEDAAAA1QEAIBMAAK8EACAUAAC7BAAgAgAAANUBACAMAAC7BAAgAgAAAOwDACAMAAC6BAAgBvwBAgDaAwAh_QEBANYDACH_AQEA1gMAIYACQADXAwAhgQIAANgDACCCAgEA2QMAIQeTAQAA2wMAIPwBAgDaAwAh_QEBANYDACH_AQEA1gMAIYACQADXAwAhgQIAANgDACCCAgEA2QMAIQMTAAC6BQAg6wIAALsFACDxAgAA0QEAIAAXlQEAAPEDACCWAQAAvQQAIJcBAAC-BAAgmAEAAL8EACCvAgAA0AMAILECAADQAwAgswIAANADACC0AgAA0AMAILYCAADQAwAgtwIAANADACC4AgAA0AMAILoCAADQAwAguwIAANADACC8AgAA0AMAIL4CAADQAwAgvwIAANADACDAAgAA0AMAIMICAADQAwAgxAIAANADACDFAgAA0AMAIMYCAADQAwAgxwIAANADACDIAgAA0AMAIAACkgEAAPEDACCCAgAA0AMAIAAAAAHuAgAAAMsCAgLuAgEAAAAE9AIBAAAABQHuAgEAAAAEAAAAAAAFEwAAsgUAIBQAALgFACDrAgAAswUAIOwCAAC3BQAg8QIAAIkBACAFEwAAsAUAIBQAALUFACDrAgAAsQUAIOwCAAC0BQAg8QIAAGkAIAMTAACyBQAg6wIAALMFACDxAgAAiQEAIAMTAACwBQAg6wIAALEFACDxAgAAaQAgAAAACxMAANQEADAUAADZBAAw6wIAANUEADDsAgAA1gQAMO0CAADXBAAg7gIAANgEADDvAgAA2AQAMPACAADYBAAw8QIAANgEADDyAgAA2gQAMPMCAADbBAAwA08AAM8EACD8AQIAAAABzwIBAAAAAQIAAABtACATAADfBAAgAwAAAG0AIBMAAN8EACAUAADeBAAgAQwAAK8FADAJTgAAvQMAIE8AAL4DACD5AQAAvAMAMPoBAABrABD7AQAAvAMAMPwBAgAAAAHOAgEAhAMAIc8CAQCEAwAh0wIAALsDACACAAAAbQAgDAAA3gQAIAIAAADcBAAgDAAA3QQAIAb5AQAA2wQAMPoBAADcBAAQ-wEAANsEADD8AQIAlwMAIc4CAQCEAwAhzwIBAIQDACEG-QEAANsEADD6AQAA3AQAEPsBAADbBAAw_AECAJcDACHOAgEAhAMAIc8CAQCEAwAhAvwBAgDaAwAhzwIBANYDACEDTwAAzQQAIPwBAgDaAwAhzwIBANYDACEDTwAAzwQAIPwBAgAAAAHPAgEAAAABBBMAANQEADDrAgAA1QQAMO0CAADXBAAg8QIAANgEADAAAAAACxMAAOYEADAUAADqBAAw6wIAAOcEADDsAgAA6AQAMO0CAADpBAAg7gIAANgEADDvAgAA2AQAMPACAADYBAAw8QIAANgEADDyAgAA6wQAMPMCAADbBAAwA04AAM4EACD8AQIAAAABzgIBAAAAAQIAAABtACATAADuBAAgAwAAAG0AIBMAAO4EACAUAADtBAAgAQwAAK4FADACAAAAbQAgDAAA7QQAIAIAAADcBAAgDAAA7AQAIAL8AQIA2gMAIc4CAQDWAwAhA04AAMwEACD8AQIA2gMAIc4CAQDWAwAhA04AAM4EACD8AQIAAAABzgIBAAAAAQQTAADmBAAw6wIAAOcEADDtAgAA6QQAIPECAADYBAAwA00AAOEEACChAgAA0AMAINACAADQAwAgAk0AAOEEACDQAgAA0AMAIAAAAAAAAAUTAACpBQAgFAAArAUAIOsCAACqBQAg7AIAAKsFACDxAgAAAQAgAxMAAKkFACDrAgAAqgUAIPECAAABACAAAAAFEwAApAUAIBQAAKcFACDrAgAApQUAIOwCAACmBQAg8QIAAAEAIAMTAACkBQAg6wIAAKUFACDxAgAAAQAgAAAAAe4CIAAAAAELEwAAkQUAMBQAAJYFADDrAgAAkgUAMOwCAACTBQAw7QIAAJQFACDuAgAAlQUAMO8CAACVBQAw8AIAAJUFADDxAgAAlQUAMPICAACXBQAw8wIAAJgFADALEwAAhQUAMBQAAIoFADDrAgAAhgUAMOwCAACHBQAw7QIAAIgFACDuAgAAiQUAMO8CAACJBQAw8AIAAIkFADDxAgAAiQUAMPICAACLBQAw8wIAAIwFADAH_AEBAAAAAZ4CQAAAAAGfAkAAAAAB1gJAAAAAAeICAQAAAAHjAgEAAAAB5AIBAAAAAQIAAAAJACATAACQBQAgAwAAAAkAIBMAAJAFACAUAACPBQAgAQwAAKMFADAMAwAAzQMAIPkBAADMAwAw-gEAAAcAEPsBAADMAwAw_AEBAAAAAZ4CQACZAwAhnwJAAJkDACHWAkAAmQMAIdgCAQCEAwAh4gIBAAAAAeMCAQCFAwAh5AIBAIUDACECAAAACQAgDAAAjwUAIAIAAACNBQAgDAAAjgUAIAv5AQAAjAUAMPoBAACNBQAQ-wEAAIwFADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHWAkAAmQMAIdgCAQCEAwAh4gIBAIQDACHjAgEAhQMAIeQCAQCFAwAhC_kBAACMBQAw-gEAAI0FABD7AQAAjAUAMPwBAQCEAwAhngJAAJkDACGfAkAAmQMAIdYCQACZAwAh2AIBAIQDACHiAgEAhAMAIeMCAQCFAwAh5AIBAIUDACEH_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh1gJAAPoDACHiAgEA1gMAIeMCAQDZAwAh5AIBANkDACEH_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh1gJAAPoDACHiAgEA1gMAIeMCAQDZAwAh5AIBANkDACEH_AEBAAAAAZ4CQAAAAAGfAkAAAAAB1gJAAAAAAeICAQAAAAHjAgEAAAAB5AIBAAAAAQz8AQEAAAABngJAAAAAAZ8CQAAAAAHZAgEAAAAB2gIBAAAAAdsCAQAAAAHcAgEAAAAB3QJAAAAAAd4CQAAAAAHfAgEAAAAB4AIBAAAAAeECAQAAAAECAAAABQAgEwAAnAUAIAMAAAAFACATAACcBQAgFAAAmwUAIAEMAACiBQAwEgMAAM0DACD5AQAAzwMAMPoBAAADABD7AQAAzwMAMPwBAQAAAAGeAkAAmQMAIZ8CQACZAwAh2AIBAIQDACHZAgEAhAMAIdoCAQCEAwAh2wIBAIUDACHcAgEAhQMAId0CQAClAwAh3gJAAKUDACHfAgEAhQMAIeACAQCFAwAh4QIBAIUDACHoAgAAzgMAIAIAAAAFACAMAACbBQAgAgAAAJkFACAMAACaBQAgEPkBAACYBQAw-gEAAJkFABD7AQAAmAUAMPwBAQCEAwAhngJAAJkDACGfAkAAmQMAIdgCAQCEAwAh2QIBAIQDACHaAgEAhAMAIdsCAQCFAwAh3AIBAIUDACHdAkAApQMAId4CQAClAwAh3wIBAIUDACHgAgEAhQMAIeECAQCFAwAhEPkBAACYBQAw-gEAAJkFABD7AQAAmAUAMPwBAQCEAwAhngJAAJkDACGfAkAAmQMAIdgCAQCEAwAh2QIBAIQDACHaAgEAhAMAIdsCAQCFAwAh3AIBAIUDACHdAkAApQMAId4CQAClAwAh3wIBAIUDACHgAgEAhQMAIeECAQCFAwAhDPwBAQDWAwAhngJAAPoDACGfAkAA-gMAIdkCAQDWAwAh2gIBANYDACHbAgEA2QMAIdwCAQDZAwAh3QJAANcDACHeAkAA1wMAId8CAQDZAwAh4AIBANkDACHhAgEA2QMAIQz8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACHZAgEA1gMAIdoCAQDWAwAh2wIBANkDACHcAgEA2QMAId0CQADXAwAh3gJAANcDACHfAgEA2QMAIeACAQDZAwAh4QIBANkDACEM_AEBAAAAAZ4CQAAAAAGfAkAAAAAB2QIBAAAAAdoCAQAAAAHbAgEAAAAB3AIBAAAAAd0CQAAAAAHeAkAAAAAB3wIBAAAAAeACAQAAAAHhAgEAAAABBBMAAJEFADDrAgAAkgUAMO0CAACUBQAg8QIAAJUFADAEEwAAhQUAMOsCAACGBQAw7QIAAIgFACDxAgAAiQUAMAAABQQAAJ8FACAFAACgBQAglQIAANADACDQAgAA0AMAIOYCAADQAwAgDPwBAQAAAAGeAkAAAAABnwJAAAAAAdkCAQAAAAHaAgEAAAAB2wIBAAAAAdwCAQAAAAHdAkAAAAAB3gJAAAAAAd8CAQAAAAHgAgEAAAAB4QIBAAAAAQf8AQEAAAABngJAAAAAAZ8CQAAAAAHWAkAAAAAB4gIBAAAAAeMCAQAAAAHkAgEAAAABCQQAAJ0FACD8AQEAAAABlQIBAAAAAZ4CQAAAAAGfAkAAAAAB0AIBAAAAAeUCIAAAAAHmAgEAAAAB5wIBAAAAAQIAAAABACATAACkBQAgAwAAAA4AIBMAAKQFACAUAACoBQAgCwAAAA4AIAQAAIMFACAMAACoBQAg_AEBANYDACGVAgEA2QMAIZ4CQAD6AwAhnwJAAPoDACHQAgEA2QMAIeUCIACCBQAh5gIBANkDACHnAgEA1gMAIQkEAACDBQAg_AEBANYDACGVAgEA2QMAIZ4CQAD6AwAhnwJAAPoDACHQAgEA2QMAIeUCIACCBQAh5gIBANkDACHnAgEA1gMAIQkFAACeBQAg_AEBAAAAAZUCAQAAAAGeAkAAAAABnwJAAAAAAdACAQAAAAHlAiAAAAAB5gIBAAAAAecCAQAAAAECAAAAAQAgEwAAqQUAIAMAAAAOACATAACpBQAgFAAArQUAIAsAAAAOACAFAACEBQAgDAAArQUAIPwBAQDWAwAhlQIBANkDACGeAkAA-gMAIZ8CQAD6AwAh0AIBANkDACHlAiAAggUAIeYCAQDZAwAh5wIBANYDACEJBQAAhAUAIPwBAQDWAwAhlQIBANkDACGeAkAA-gMAIZ8CQAD6AwAh0AIBANkDACHlAiAAggUAIeYCAQDZAwAh5wIBANYDACEC_AECAAAAAc4CAQAAAAEC_AECAAAAAc8CAQAAAAEGkQIBAAAAAZ4CQAAAAAGfAkAAAAAB0AIBAAAAAdECAQAAAAHSAgEAAAABAgAAAGkAIBMAALAFACAFkQIBAAAAAZ4CQAAAAAGfAkAAAAABoQIBAAAAAdACAQAAAAECAAAAiQEAIBMAALIFACADAAAAcwAgEwAAsAUAIBQAALYFACAIAAAAcwAgDAAAtgUAIJECAQDWAwAhngJAAPoDACGfAkAA-gMAIdACAQDZAwAh0QIBANYDACHSAgEA1gMAIQaRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACHQAgEA2QMAIdECAQDWAwAh0gIBANYDACEDAAAAjAEAIBMAALIFACAUAAC5BQAgBwAAAIwBACAMAAC5BQAgkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANkDACHQAgEA2QMAIQWRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA2QMAIdACAQDZAwAhJJUBAACkBAAglgEAAKUEACCXAQAAvAQAIPwBAQAAAAGRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAABogIBAAAAAa4CAQAAAAGvAgEAAAABsAIAAJ0EACCxAoAAAAABsgIAAJ4EACCzAoAAAAABtAIBAAAAAbUCAACfBAAgtgIBAAAAAbcCgAAAAAG4AgEAAAABuQIAAKAEACC6AoAAAAABuwIBAAAAAbwCAQAAAAG9AgAAoQQAIL4CgAAAAAG_AgEAAAABwAIBAAAAAcECAACiBAAgwgIBAAAAAcMCAACjBAAgxAIBAAAAAcUCgAAAAAHGAkAAAAABxwJAAAAAAcgCQAAAAAECAAAA0QEAIBMAALoFACAG_AECAAAAAf0BAQAAAAH_AQEAAAABgAJAAAAAAYECAADdAwAgggIBAAAAAQf8AQEAAAABngJAAAAAAZ8CQAAAAAGqAgEAAAABqwIBAAAAAawCAQAAAAGtAkAAAAABIPwBAQAAAAGRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAABogIBAAAAAa4CAQAAAAGvAgEAAAABsAIAAJ0EACCxAoAAAAABsgIAAJ4EACCzAoAAAAABtAIBAAAAAbUCAACfBAAgtgIBAAAAAbcCgAAAAAG4AgEAAAABuQIAAKAEACC6AoAAAAABuwIBAAAAAbwCAQAAAAG9AgAAoQQAIL4CgAAAAAHAAgEAAAABwQIAAKIEACDCAgEAAAABwwIAAKMEACDEAgEAAAABxQKAAAAAAcYCQAAAAAHHAkAAAAAByAJAAAAAAQMAAADdAQAgEwAAugUAIBQAAMEFACAmAAAA3QEAIAwAAMEFACCVAQAAjQQAIJYBAACOBAAglwEAAI8EACD8AQEA1gMAIZECAQDWAwAhngJAAPoDACGfAkAA-gMAIaECAQDWAwAhogIBANYDACGuAgEA1gMAIa8CAQDZAwAhsAIAAIYEACCxAoAAAAABsgIAAIcEACCzAoAAAAABtAIBANkDACG1AgAAiAQAILYCAQDZAwAhtwKAAAAAAbgCAQDZAwAhuQIAAIkEACC6AoAAAAABuwIBANkDACG8AgEA2QMAIb0CAACKBAAgvgKAAAAAAb8CAQDZAwAhwAIBANkDACHBAgAAiwQAIMICAQDZAwAhwwIAAIwEACDEAgEA2QMAIcUCgAAAAAHGAkAA1wMAIccCQADXAwAhyAJAANcDACEklQEAAI0EACCWAQAAjgQAIJcBAACPBAAg_AEBANYDACGRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIaICAQDWAwAhrgIBANYDACGvAgEA2QMAIbACAACGBAAgsQKAAAAAAbICAACHBAAgswKAAAAAAbQCAQDZAwAhtQIAAIgEACC2AgEA2QMAIbcCgAAAAAG4AgEA2QMAIbkCAACJBAAgugKAAAAAAbsCAQDZAwAhvAIBANkDACG9AgAAigQAIL4CgAAAAAG_AgEA2QMAIcACAQDZAwAhwQIAAIsEACDCAgEA2QMAIcMCAACMBAAgxAIBANkDACHFAoAAAAABxgJAANcDACHHAkAA1wMAIcgCQADXAwAhJJUBAACkBAAglwEAALwEACCYAQAApgQAIPwBAQAAAAGRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAABogIBAAAAAa4CAQAAAAGvAgEAAAABsAIAAJ0EACCxAoAAAAABsgIAAJ4EACCzAoAAAAABtAIBAAAAAbUCAACfBAAgtgIBAAAAAbcCgAAAAAG4AgEAAAABuQIAAKAEACC6AoAAAAABuwIBAAAAAbwCAQAAAAG9AgAAoQQAIL4CgAAAAAG_AgEAAAABwAIBAAAAAcECAACiBAAgwgIBAAAAAcMCAACjBAAgxAIBAAAAAcUCgAAAAAHGAkAAAAABxwJAAAAAAcgCQAAAAAECAAAA0QEAIBMAAMIFACADAAAA3QEAIBMAAMIFACAUAADGBQAgJgAAAN0BACAMAADGBQAglQEAAI0EACCXAQAAjwQAIJgBAACQBAAg_AEBANYDACGRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIaICAQDWAwAhrgIBANYDACGvAgEA2QMAIbACAACGBAAgsQKAAAAAAbICAACHBAAgswKAAAAAAbQCAQDZAwAhtQIAAIgEACC2AgEA2QMAIbcCgAAAAAG4AgEA2QMAIbkCAACJBAAgugKAAAAAAbsCAQDZAwAhvAIBANkDACG9AgAAigQAIL4CgAAAAAG_AgEA2QMAIcACAQDZAwAhwQIAAIsEACDCAgEA2QMAIcMCAACMBAAgxAIBANkDACHFAoAAAAABxgJAANcDACHHAkAA1wMAIcgCQADXAwAhJJUBAACNBAAglwEAAI8EACCYAQAAkAQAIPwBAQDWAwAhkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANYDACGiAgEA1gMAIa4CAQDWAwAhrwIBANkDACGwAgAAhgQAILECgAAAAAGyAgAAhwQAILMCgAAAAAG0AgEA2QMAIbUCAACIBAAgtgIBANkDACG3AoAAAAABuAIBANkDACG5AgAAiQQAILoCgAAAAAG7AgEA2QMAIbwCAQDZAwAhvQIAAIoEACC-AoAAAAABvwIBANkDACHAAgEA2QMAIcECAACLBAAgwgIBANkDACHDAgAAjAQAIMQCAQDZAwAhxQKAAAAAAcYCQADXAwAhxwJAANcDACHIAkAA1wMAIQb8AQIAAAAB_gEBAAAAAf8BAQAAAAGAAkAAAAABgQIAAN0DACCCAgEAAAABJJYBAAClBAAglwEAALwEACCYAQAApgQAIPwBAQAAAAGRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAABogIBAAAAAa4CAQAAAAGvAgEAAAABsAIAAJ0EACCxAoAAAAABsgIAAJ4EACCzAoAAAAABtAIBAAAAAbUCAACfBAAgtgIBAAAAAbcCgAAAAAG4AgEAAAABuQIAAKAEACC6AoAAAAABuwIBAAAAAbwCAQAAAAG9AgAAoQQAIL4CgAAAAAG_AgEAAAABwAIBAAAAAcECAACiBAAgwgIBAAAAAcMCAACjBAAgxAIBAAAAAcUCgAAAAAHGAkAAAAABxwJAAAAAAcgCQAAAAAECAAAA0QEAIBMAAMgFACACggIBAAAAAZECAQAAAAECAAAAwwIAIBMAAMoFACADAAAA3QEAIBMAAMgFACAUAADOBQAgJgAAAN0BACAMAADOBQAglgEAAI4EACCXAQAAjwQAIJgBAACQBAAg_AEBANYDACGRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIaICAQDWAwAhrgIBANYDACGvAgEA2QMAIbACAACGBAAgsQKAAAAAAbICAACHBAAgswKAAAAAAbQCAQDZAwAhtQIAAIgEACC2AgEA2QMAIbcCgAAAAAG4AgEA2QMAIbkCAACJBAAgugKAAAAAAbsCAQDZAwAhvAIBANkDACG9AgAAigQAIL4CgAAAAAG_AgEA2QMAIcACAQDZAwAhwQIAAIsEACDCAgEA2QMAIcMCAACMBAAgxAIBANkDACHFAoAAAAABxgJAANcDACHHAkAA1wMAIcgCQADXAwAhJJYBAACOBAAglwEAAI8EACCYAQAAkAQAIPwBAQDWAwAhkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANYDACGiAgEA1gMAIa4CAQDWAwAhrwIBANkDACGwAgAAhgQAILECgAAAAAGyAgAAhwQAILMCgAAAAAG0AgEA2QMAIbUCAACIBAAgtgIBANkDACG3AoAAAAABuAIBANkDACG5AgAAiQQAILoCgAAAAAG7AgEA2QMAIbwCAQDZAwAhvQIAAIoEACC-AoAAAAABvwIBANkDACHAAgEA2QMAIcECAACLBAAgwgIBANkDACHDAgAAjAQAIMQCAQDZAwAhxQKAAAAAAcYCQADXAwAhxwJAANcDACHIAkAA1wMAIQMAAADGAgAgEwAAygUAIBQAANEFACAEAAAAxgIAIAwAANEFACCCAgEA2QMAIZECAQDWAwAhAoICAQDZAwAhkQIBANYDACEDBAYCBQoDBgAEAQMAAQEDAAECBAsABQwAAAAAAwYACRkAChoACwAAAAMGAAkZAAoaAAsBAwABAQMAAQMGABAZABEaABIAAAADBgAQGQARGgASAQMAAQEDAAEDBgAXGQAYGgAZAAAAAwYAFxkAGBoAGQAAAAMGAB8ZACAaACEAAAADBgAfGQAgGgAhAgYAJ01uJAJOACVPACMCBgAmTW8kAU1wAAFNcQAAAAMGACsZACwaAC0AAAADBgArGQAsGgAtAAADBgAyGQAzGgA0AAAAAwYAMhkAMxoANAJOACVPACMCTgAlTwAjBQYAORkAPBoAPX4AOn8AOwAAAAAABQYAORkAPBoAPX4AOn8AOwAAAAMGAEMZAEQaAEUAAAADBgBDGQBEGgBFBQYATJUB1gFIlgHcAUuXAd4BR5gB4AFHApMBAEmUAQBHAgYASpIB1wFIAZIB2AEAAZQBAEcDlQHhAQCWAeIBAJgB4wEAAZcB7QFHAZcB8wFHAwYAUBkAURoAUgAAAAMGAFAZAFEaAFIBlAEARwGUAQBHAwYAVxkAWBoAWQAAAAMGAFcZAFgaAFkAAAADBgBfGQBgGgBhAAAAAwYAXxkAYBoAYQAAAAUGAGcZAGoaAGt-AGh_AGkAAAAAAAUGAGcZAGoaAGt-AGh_AGkAAAMGAHAZAHEaAHIAAAADBgBwGQBxGgByApMBAEmUAQBHApMBAEmUAQBHBQYAdxkAehoAe34AeH8AeQAAAAAABQYAdxkAehoAe34AeH8AeQcCAQgNAQkQAQoRAQsSAQ0UAQ4WBQ8XBhAZAREbBRIcBxUdARYeARcfBRsiCBwjDB0kAx4lAx8mAyAnAyEoAyIqAyMsBSQtDSUvAyYxBScyDigzAyk0Ayo1BSs4Dyw5Ey06Ai47Ai88AjA9AjE-AjJAAjNCBTRDFDVFAjZHBTdIFThJAjlKAjpLBTtOFjxPGj1RGz5SGz9VG0BWG0FXG0JZG0NbBURcHEVeG0ZgBUdhHUhiG0ljG0pkBUtnHkxoIlBqI1FyI1J1I1N2I1R3I1V5I1Z7BVd8KFh-I1mAAQVagQEpW4IBI1yDASNdhAEFXocBKl-IAS5gigElYYsBJWKOASVjjwElZJABJWWSASVmlAEFZ5UBL2iXASVpmQEFapoBMGubASVsnAElbZ0BBW6gATFvoQE1cKIBJHGjASRypAEkc6UBJHSmASR1qAEkdqoBBXerATZ4rQEkea8BBXqwATd7sQEkfLIBJH2zAQWAAbYBOIEBtwE-ggG5AT-DAboBP4QBvQE_hQG-AT-GAb8BP4cBwQE_iAHDAQWJAcQBQIoBxgE_iwHIAQWMAckBQY0BygE_jgHLAT-PAcwBBZABzwFCkQHQAUaZAdIBR5oB5AFHmwHlAUecAeYBR50B5wFHngHpAUefAesBBaAB7AFNoQHvAUeiAfEBBaMB8gFOpAH0AUelAfUBR6YB9gEFpwH5AU-oAfoBU6kB-wFLqgH8AUurAf0BS6wB_gFLrQH_AUuuAYECS68BgwIFsAGEAlSxAYYCS7IBiAIFswGJAlW0AYoCS7UBiwJLtgGMAgW3AY8CVrgBkAJauQGSAlu6AZMCW7sBlgJbvAGXAlu9AZgCW74BmgJbvwGcAgXAAZ0CXMEBnwJbwgGhAgXDAaICXcQBowJbxQGkAlvGAaUCBccBqAJeyAGpAmLJAasCY8oBrAJjywGvAmPMAbACY80BsQJjzgGzAmPPAbUCBdABtgJk0QG4AmPSAboCBdMBuwJl1AG8AmPVAb0CY9YBvgIF1wHBAmbYAcICbNkBxAJJ2gHFAknbAcgCSdwByQJJ3QHKAkneAcwCSd8BzgIF4AHPAm3hAdECSeIB0wIF4wHUAm7kAdUCSeUB1gJJ5gHXAgXnAdoCb-gB2wJz6QHcAkjqAd0CSOsB3gJI7AHfAkjtAeACSO4B4gJI7wHkAgXwAeUCdPEB5wJI8gHpAgXzAeoCdfQB6wJI9QHsAkj2Ae0CBfcB8AJ2-AHxAnw"
|
|
22
|
+
strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"accounts\",\"sessions\",\"_count\",\"user.findUnique\",\"user.findUniqueOrThrow\",\"user.findFirst\",\"user.findFirstOrThrow\",\"user.findMany\",\"data\",\"user.createOne\",\"user.createMany\",\"user.createManyAndReturn\",\"user.updateOne\",\"user.updateMany\",\"user.updateManyAndReturn\",\"create\",\"update\",\"user.upsertOne\",\"user.deleteOne\",\"user.deleteMany\",\"having\",\"_min\",\"_max\",\"user.groupBy\",\"user.aggregate\",\"session.findUnique\",\"session.findUniqueOrThrow\",\"session.findFirst\",\"session.findFirstOrThrow\",\"session.findMany\",\"session.createOne\",\"session.createMany\",\"session.createManyAndReturn\",\"session.updateOne\",\"session.updateMany\",\"session.updateManyAndReturn\",\"session.upsertOne\",\"session.deleteOne\",\"session.deleteMany\",\"session.groupBy\",\"session.aggregate\",\"account.findUnique\",\"account.findUniqueOrThrow\",\"account.findFirst\",\"account.findFirstOrThrow\",\"account.findMany\",\"account.createOne\",\"account.createMany\",\"account.createManyAndReturn\",\"account.updateOne\",\"account.updateMany\",\"account.updateManyAndReturn\",\"account.upsertOne\",\"account.deleteOne\",\"account.deleteMany\",\"account.groupBy\",\"account.aggregate\",\"verification.findUnique\",\"verification.findUniqueOrThrow\",\"verification.findFirst\",\"verification.findFirstOrThrow\",\"verification.findMany\",\"verification.createOne\",\"verification.createMany\",\"verification.createManyAndReturn\",\"verification.updateOne\",\"verification.updateMany\",\"verification.updateManyAndReturn\",\"verification.upsertOne\",\"verification.deleteOne\",\"verification.deleteMany\",\"verification.groupBy\",\"verification.aggregate\",\"memberships\",\"group\",\"person\",\"DbPerson.findUnique\",\"DbPerson.findUniqueOrThrow\",\"DbPerson.findFirst\",\"DbPerson.findFirstOrThrow\",\"DbPerson.findMany\",\"DbPerson.createOne\",\"DbPerson.createMany\",\"DbPerson.createManyAndReturn\",\"DbPerson.updateOne\",\"DbPerson.updateMany\",\"DbPerson.updateManyAndReturn\",\"DbPerson.upsertOne\",\"DbPerson.deleteOne\",\"DbPerson.deleteMany\",\"DbPerson.groupBy\",\"DbPerson.aggregate\",\"DbGroup.findUnique\",\"DbGroup.findUniqueOrThrow\",\"DbGroup.findFirst\",\"DbGroup.findFirstOrThrow\",\"DbGroup.findMany\",\"DbGroup.createOne\",\"DbGroup.createMany\",\"DbGroup.createManyAndReturn\",\"DbGroup.updateOne\",\"DbGroup.updateMany\",\"DbGroup.updateManyAndReturn\",\"DbGroup.upsertOne\",\"DbGroup.deleteOne\",\"DbGroup.deleteMany\",\"DbGroup.groupBy\",\"DbGroup.aggregate\",\"DbGroupMembership.findUnique\",\"DbGroupMembership.findUniqueOrThrow\",\"DbGroupMembership.findFirst\",\"DbGroupMembership.findFirstOrThrow\",\"DbGroupMembership.findMany\",\"DbGroupMembership.createOne\",\"DbGroupMembership.createMany\",\"DbGroupMembership.createManyAndReturn\",\"DbGroupMembership.updateOne\",\"DbGroupMembership.updateMany\",\"DbGroupMembership.updateManyAndReturn\",\"DbGroupMembership.upsertOne\",\"DbGroupMembership.deleteOne\",\"DbGroupMembership.deleteMany\",\"_avg\",\"_sum\",\"DbGroupMembership.groupBy\",\"DbGroupMembership.aggregate\",\"DbApprovalMethod.findUnique\",\"DbApprovalMethod.findUniqueOrThrow\",\"DbApprovalMethod.findFirst\",\"DbApprovalMethod.findFirstOrThrow\",\"DbApprovalMethod.findMany\",\"DbApprovalMethod.createOne\",\"DbApprovalMethod.createMany\",\"DbApprovalMethod.createManyAndReturn\",\"DbApprovalMethod.updateOne\",\"DbApprovalMethod.updateMany\",\"DbApprovalMethod.updateManyAndReturn\",\"DbApprovalMethod.upsertOne\",\"DbApprovalMethod.deleteOne\",\"DbApprovalMethod.deleteMany\",\"DbApprovalMethod.groupBy\",\"DbApprovalMethod.aggregate\",\"references\",\"source\",\"resource\",\"sourceRefs\",\"comments\",\"parent\",\"children\",\"DbResource.findUnique\",\"DbResource.findUniqueOrThrow\",\"DbResource.findFirst\",\"DbResource.findFirstOrThrow\",\"DbResource.findMany\",\"DbResource.createOne\",\"DbResource.createMany\",\"DbResource.createManyAndReturn\",\"DbResource.updateOne\",\"DbResource.updateMany\",\"DbResource.updateManyAndReturn\",\"DbResource.upsertOne\",\"DbResource.deleteOne\",\"DbResource.deleteMany\",\"DbResource.groupBy\",\"DbResource.aggregate\",\"DbComment.findUnique\",\"DbComment.findUniqueOrThrow\",\"DbComment.findFirst\",\"DbComment.findFirstOrThrow\",\"DbComment.findMany\",\"DbComment.createOne\",\"DbComment.createMany\",\"DbComment.createManyAndReturn\",\"DbComment.updateOne\",\"DbComment.updateMany\",\"DbComment.updateManyAndReturn\",\"DbComment.upsertOne\",\"DbComment.deleteOne\",\"DbComment.deleteMany\",\"DbComment.groupBy\",\"DbComment.aggregate\",\"DbAppTagDefinition.findUnique\",\"DbAppTagDefinition.findUniqueOrThrow\",\"DbAppTagDefinition.findFirst\",\"DbAppTagDefinition.findFirstOrThrow\",\"DbAppTagDefinition.findMany\",\"DbAppTagDefinition.createOne\",\"DbAppTagDefinition.createMany\",\"DbAppTagDefinition.createManyAndReturn\",\"DbAppTagDefinition.updateOne\",\"DbAppTagDefinition.updateMany\",\"DbAppTagDefinition.updateManyAndReturn\",\"DbAppTagDefinition.upsertOne\",\"DbAppTagDefinition.deleteOne\",\"DbAppTagDefinition.deleteMany\",\"DbAppTagDefinition.groupBy\",\"DbAppTagDefinition.aggregate\",\"DbAsset.findUnique\",\"DbAsset.findUniqueOrThrow\",\"DbAsset.findFirst\",\"DbAsset.findFirstOrThrow\",\"DbAsset.findMany\",\"DbAsset.createOne\",\"DbAsset.createMany\",\"DbAsset.createManyAndReturn\",\"DbAsset.updateOne\",\"DbAsset.updateMany\",\"DbAsset.updateManyAndReturn\",\"DbAsset.upsertOne\",\"DbAsset.deleteOne\",\"DbAsset.deleteMany\",\"DbAsset.groupBy\",\"DbAsset.aggregate\",\"Source.findUnique\",\"Source.findUniqueOrThrow\",\"Source.findFirst\",\"Source.findFirstOrThrow\",\"Source.findMany\",\"Source.createOne\",\"Source.createMany\",\"Source.createManyAndReturn\",\"Source.updateOne\",\"Source.updateMany\",\"Source.updateManyAndReturn\",\"Source.upsertOne\",\"Source.deleteOne\",\"Source.deleteMany\",\"Source.groupBy\",\"Source.aggregate\",\"SourceReference.findUnique\",\"SourceReference.findUniqueOrThrow\",\"SourceReference.findFirst\",\"SourceReference.findFirstOrThrow\",\"SourceReference.findMany\",\"SourceReference.createOne\",\"SourceReference.createMany\",\"SourceReference.createManyAndReturn\",\"SourceReference.updateOne\",\"SourceReference.updateMany\",\"SourceReference.updateManyAndReturn\",\"SourceReference.upsertOne\",\"SourceReference.deleteOne\",\"SourceReference.deleteMany\",\"SourceReference.groupBy\",\"SourceReference.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"sourceSlug\",\"resourceId\",\"url\",\"parseDate\",\"excerpts\",\"userPrompt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"contains\",\"startsWith\",\"endsWith\",\"not\",\"has\",\"hasEvery\",\"hasSome\",\"slug\",\"every\",\"some\",\"none\",\"name\",\"AssetType\",\"assetType\",\"content\",\"checksum\",\"mimeType\",\"fileSize\",\"width\",\"height\",\"createdAt\",\"updatedAt\",\"prefix\",\"displayName\",\"description\",\"values\",\"string_contains\",\"string_starts_with\",\"string_ends_with\",\"array_starts_with\",\"array_ends_with\",\"array_contains\",\"authorHash\",\"authorAlias\",\"body\",\"editedAt\",\"type\",\"abbreviation\",\"nicknames\",\"access\",\"teams\",\"accessRequest\",\"notes\",\"tags\",\"appUrl\",\"links\",\"iconName\",\"screenshotIds\",\"deprecated\",\"aiPrompt\",\"aiMemory\",\"urlIssues\",\"tiers\",\"quickJumps\",\"parentSlug\",\"tier\",\"aliases\",\"ownerPersonSlug\",\"approverSlugs\",\"accessComments\",\"extra\",\"lastCheckedAt\",\"nextCheckAfter\",\"lastContentChangeAt\",\"resourceId_url\",\"ApprovalMethodType\",\"config\",\"deprecatedAliases\",\"type_displayName\",\"groupSlug\",\"personSlug\",\"email\",\"firstName\",\"lastName\",\"groupSlug_personSlug\",\"identifier\",\"value\",\"expiresAt\",\"identifier_value\",\"userId\",\"accountId\",\"providerId\",\"refreshToken\",\"accessToken\",\"accessTokenExpiresAt\",\"refreshTokenExpiresAt\",\"idToken\",\"scope\",\"password\",\"token\",\"ipAddress\",\"userAgent\",\"emailVerified\",\"image\",\"role\",\"providerId_accountId\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"createMany\",\"set\",\"disconnect\",\"delete\",\"connect\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
|
|
23
|
+
graph: "0QV84AENBAAAygMAIAUAAMsDACD5AQAAyAMAMPoBAAAOABD7AQAAyAMAMPwBAQAAAAGVAgEAhQMAIZ4CQACZAwAhnwJAAJkDACHRAgEAAAAB5gIgAMkDACHnAgEAhQMAIegCAQCEAwAhAQAAAAEAIBEDAADNAwAg-QEAAM8DADD6AQAAAwAQ-wEAAM8DADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHZAgEAhAMAIdoCAQCEAwAh2wIBAIQDACHcAgEAhQMAId0CAQCFAwAh3gJAAKUDACHfAkAApQMAIeACAQCFAwAh4QIBAIUDACHiAgEAhQMAIQgDAAChBQAg3AIAANADACDdAgAA0AMAIN4CAADQAwAg3wIAANADACDgAgAA0AMAIOECAADQAwAg4gIAANADACASAwAAzQMAIPkBAADPAwAw-gEAAAMAEPsBAADPAwAw_AEBAAAAAZ4CQACZAwAhnwJAAJkDACHZAgEAhAMAIdoCAQCEAwAh2wIBAIQDACHcAgEAhQMAId0CAQCFAwAh3gJAAKUDACHfAkAApQMAIeACAQCFAwAh4QIBAIUDACHiAgEAhQMAIekCAADOAwAgAwAAAAMAIAEAAAQAMAIAAAUAIAwDAADNAwAg-QEAAMwDADD6AQAABwAQ-wEAAMwDADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHXAkAAmQMAIdkCAQCEAwAh4wIBAIQDACHkAgEAhQMAIeUCAQCFAwAhAwMAAKEFACDkAgAA0AMAIOUCAADQAwAgDAMAAM0DACD5AQAAzAMAMPoBAAAHABD7AQAAzAMAMPwBAQAAAAGeAkAAmQMAIZ8CQACZAwAh1wJAAJkDACHZAgEAhAMAIeMCAQAAAAHkAgEAhQMAIeUCAQCFAwAhAwAAAAcAIAEAAAgAMAIAAAkAIAEAAAADACABAAAABwAgAQAAAAEAIA0EAADKAwAgBQAAywMAIPkBAADIAwAw-gEAAA4AEPsBAADIAwAw_AEBAIQDACGVAgEAhQMAIZ4CQACZAwAhnwJAAJkDACHRAgEAhQMAIeYCIADJAwAh5wIBAIUDACHoAgEAhAMAIQUEAACfBQAgBQAAoAUAIJUCAADQAwAg0QIAANADACDnAgAA0AMAIAMAAAAOACABAAAPADACAAABACADAAAADgAgAQAADwAwAgAAAQAgAwAAAA4AIAEAAA8AMAIAAAEAIAoEAACdBQAgBQAAngUAIPwBAQAAAAGVAgEAAAABngJAAAAAAZ8CQAAAAAHRAgEAAAAB5gIgAAAAAecCAQAAAAHoAgEAAAABAQwAABMAIAj8AQEAAAABlQIBAAAAAZ4CQAAAAAGfAkAAAAAB0QIBAAAAAeYCIAAAAAHnAgEAAAAB6AIBAAAAAQEMAAAVADABDAAAFQAwCgQAAIMFACAFAACEBQAg_AEBANYDACGVAgEA2QMAIZ4CQAD6AwAhnwJAAPoDACHRAgEA2QMAIeYCIACCBQAh5wIBANkDACHoAgEA1gMAIQIAAAABACAMAAAYACAI_AEBANYDACGVAgEA2QMAIZ4CQAD6AwAhnwJAAPoDACHRAgEA2QMAIeYCIACCBQAh5wIBANkDACHoAgEA1gMAIQIAAAAOACAMAAAaACACAAAADgAgDAAAGgAgAwAAAAEAIBMAABMAIBQAABgAIAEAAAABACABAAAADgAgBgYAAP8EACAZAACBBQAgGgAAgAUAIJUCAADQAwAg0QIAANADACDnAgAA0AMAIAv5AQAAxAMAMPoBAAAhABD7AQAAxAMAMPwBAQD0AgAhlQIBAPcCACGeAkAAiwMAIZ8CQACLAwAh0QIBAPcCACHmAiAAxQMAIecCAQD3AgAh6AIBAPQCACEDAAAADgAgAQAAIAAwGAAAIQAgAwAAAA4AIAEAAA8AMAIAAAEAIAEAAAAJACABAAAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAMAAAAHACABAAAIADACAAAJACADAAAABwAgAQAACAAwAgAACQAgCQMAAP4EACD8AQEAAAABngJAAAAAAZ8CQAAAAAHXAkAAAAAB2QIBAAAAAeMCAQAAAAHkAgEAAAAB5QIBAAAAAQEMAAApACAI_AEBAAAAAZ4CQAAAAAGfAkAAAAAB1wJAAAAAAdkCAQAAAAHjAgEAAAAB5AIBAAAAAeUCAQAAAAEBDAAAKwAwAQwAACsAMAkDAAD9BAAg_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh1wJAAPoDACHZAgEA1gMAIeMCAQDWAwAh5AIBANkDACHlAgEA2QMAIQIAAAAJACAMAAAuACAI_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh1wJAAPoDACHZAgEA1gMAIeMCAQDWAwAh5AIBANkDACHlAgEA2QMAIQIAAAAHACAMAAAwACACAAAABwAgDAAAMAAgAwAAAAkAIBMAACkAIBQAAC4AIAEAAAAJACABAAAABwAgBQYAAPoEACAZAAD8BAAgGgAA-wQAIOQCAADQAwAg5QIAANADACAL-QEAAMMDADD6AQAANwAQ-wEAAMMDADD8AQEA9AIAIZ4CQACLAwAhnwJAAIsDACHXAkAAiwMAIdkCAQD0AgAh4wIBAPQCACHkAgEA9wIAIeUCAQD3AgAhAwAAAAcAIAEAADYAMBgAADcAIAMAAAAHACABAAAIADACAAAJACABAAAABQAgAQAAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIA4DAAD5BAAg_AEBAAAAAZ4CQAAAAAGfAkAAAAAB2QIBAAAAAdoCAQAAAAHbAgEAAAAB3AIBAAAAAd0CAQAAAAHeAkAAAAAB3wJAAAAAAeACAQAAAAHhAgEAAAAB4gIBAAAAAQEMAAA_ACAN_AEBAAAAAZ4CQAAAAAGfAkAAAAAB2QIBAAAAAdoCAQAAAAHbAgEAAAAB3AIBAAAAAd0CAQAAAAHeAkAAAAAB3wJAAAAAAeACAQAAAAHhAgEAAAAB4gIBAAAAAQEMAABBADABDAAAQQAwDgMAAPgEACD8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACHZAgEA1gMAIdoCAQDWAwAh2wIBANYDACHcAgEA2QMAId0CAQDZAwAh3gJAANcDACHfAkAA1wMAIeACAQDZAwAh4QIBANkDACHiAgEA2QMAIQIAAAAFACAMAABEACAN_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh2QIBANYDACHaAgEA1gMAIdsCAQDWAwAh3AIBANkDACHdAgEA2QMAId4CQADXAwAh3wJAANcDACHgAgEA2QMAIeECAQDZAwAh4gIBANkDACECAAAAAwAgDAAARgAgAgAAAAMAIAwAAEYAIAMAAAAFACATAAA_ACAUAABEACABAAAABQAgAQAAAAMAIAoGAAD1BAAgGQAA9wQAIBoAAPYEACDcAgAA0AMAIN0CAADQAwAg3gIAANADACDfAgAA0AMAIOACAADQAwAg4QIAANADACDiAgAA0AMAIBD5AQAAwgMAMPoBAABNABD7AQAAwgMAMPwBAQD0AgAhngJAAIsDACGfAkAAiwMAIdkCAQD0AgAh2gIBAPQCACHbAgEA9AIAIdwCAQD3AgAh3QIBAPcCACHeAkAA9QIAId8CQAD1AgAh4AIBAPcCACHhAgEA9wIAIeICAQD3AgAhAwAAAAMAIAEAAEwAMBgAAE0AIAMAAAADACABAAAEADACAAAFACAK-QEAAMADADD6AQAAUwAQ-wEAAMADADD8AQEAAAABngJAAJkDACGfAkAAmQMAIdUCAQCEAwAh1gIBAIQDACHXAkAAmQMAIdgCAADBAwAgAQAAAFAAIAEAAABQACAJ-QEAAMADADD6AQAAUwAQ-wEAAMADADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHVAgEAhAMAIdYCAQCEAwAh1wJAAJkDACEAAwAAAFMAIAEAAFQAMAIAAFAAIAMAAABTACABAABUADACAABQACADAAAAUwAgAQAAVAAwAgAAUAAgBvwBAQAAAAGeAkAAAAABnwJAAAAAAdUCAQAAAAHWAgEAAAAB1wJAAAAAAQEMAABYACAG_AEBAAAAAZ4CQAAAAAGfAkAAAAAB1QIBAAAAAdYCAQAAAAHXAkAAAAABAQwAAFoAMAEMAABaADAG_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh1QIBANYDACHWAgEA1gMAIdcCQAD6AwAhAgAAAFAAIAwAAF0AIAb8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACHVAgEA1gMAIdYCAQDWAwAh1wJAAPoDACECAAAAUwAgDAAAXwAgAgAAAFMAIAwAAF8AIAMAAABQACATAABYACAUAABdACABAAAAUAAgAQAAAFMAIAMGAADyBAAgGQAA9AQAIBoAAPMEACAJ-QEAAL8DADD6AQAAZgAQ-wEAAL8DADD8AQEA9AIAIZ4CQACLAwAhnwJAAIsDACHVAgEA9AIAIdYCAQD0AgAh1wJAAIsDACEDAAAAUwAgAQAAZQAwGAAAZgAgAwAAAFMAIAEAAFQAMAIAAFAAIApNAAC4AwAg-QEAALoDADD6AQAAcwAQ-wEAALoDADCRAgEAAAABngJAAJkDACGfAkAAmQMAIdECAQAAAAHSAgEAhAMAIdMCAQCEAwAhAQAAAGkAIAhOAAC9AwAgTwAAvgMAIPkBAAC8AwAw-gEAAGsAEPsBAAC8AwAw_AECAJcDACHPAgEAhAMAIdACAQCEAwAhAk4AAPAEACBPAADxBAAgCU4AAL0DACBPAAC-AwAg-QEAALwDADD6AQAAawAQ-wEAALwDADD8AQIAAAABzwIBAIQDACHQAgEAhAMAIdQCAAC7AwAgAwAAAGsAIAEAAGwAMAIAAG0AIAMAAABrACABAABsADACAABtACABAAAAawAgAQAAAGsAIAEAAABpACAKTQAAuAMAIPkBAAC6AwAw-gEAAHMAEPsBAAC6AwAwkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAh0QIBAIUDACHSAgEAhAMAIdMCAQCEAwAhAk0AAOEEACDRAgAA0AMAIAMAAABzACABAAB0ADACAABpACADAAAAcwAgAQAAdAAwAgAAaQAgAwAAAHMAIAEAAHQAMAIAAGkAIAdNAADvBAAgkQIBAAAAAZ4CQAAAAAGfAkAAAAAB0QIBAAAAAdICAQAAAAHTAgEAAAABAQwAAHgAIAaRAgEAAAABngJAAAAAAZ8CQAAAAAHRAgEAAAAB0gIBAAAAAdMCAQAAAAEBDAAAegAwAQwAAHoAMAdNAADlBAAgkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAh0QIBANkDACHSAgEA1gMAIdMCAQDWAwAhAgAAAGkAIAwAAH0AIAaRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACHRAgEA2QMAIdICAQDWAwAh0wIBANYDACECAAAAcwAgDAAAfwAgAgAAAHMAIAwAAH8AIAMAAABpACATAAB4ACAUAAB9ACABAAAAaQAgAQAAAHMAIAQGAADiBAAgGQAA5AQAIBoAAOMEACDRAgAA0AMAIAn5AQAAuQMAMPoBAACGAQAQ-wEAALkDADCRAgEA9AIAIZ4CQACLAwAhnwJAAIsDACHRAgEA9wIAIdICAQD0AgAh0wIBAPQCACEDAAAAcwAgAQAAhQEAMBgAAIYBACADAAAAcwAgAQAAdAAwAgAAaQAgCU0AALgDACD5AQAAtwMAMPoBAACMAQAQ-wEAALcDADCRAgEAAAABngJAAJkDACGfAkAAmQMAIaECAQCFAwAh0QIBAIUDACEBAAAAiQEAIAEAAACJAQAgCU0AALgDACD5AQAAtwMAMPoBAACMAQAQ-wEAALcDADCRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhQMAIdECAQCFAwAhA00AAOEEACChAgAA0AMAINECAADQAwAgAwAAAIwBACABAACNAQAwAgAAiQEAIAMAAACMAQAgAQAAjQEAMAIAAIkBACADAAAAjAEAIAEAAI0BADACAACJAQAgBk0AAOAEACCRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAAB0QIBAAAAAQEMAACRAQAgBZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAHRAgEAAAABAQwAAJMBADABDAAAkwEAMAZNAADTBAAgkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANkDACHRAgEA2QMAIQIAAACJAQAgDAAAlgEAIAWRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA2QMAIdECAQDZAwAhAgAAAIwBACAMAACYAQAgAgAAAIwBACAMAACYAQAgAwAAAIkBACATAACRAQAgFAAAlgEAIAEAAACJAQAgAQAAAIwBACAFBgAA0AQAIBkAANIEACAaAADRBAAgoQIAANADACDRAgAA0AMAIAj5AQAAtgMAMPoBAACfAQAQ-wEAALYDADCRAgEA9AIAIZ4CQACLAwAhnwJAAIsDACGhAgEA9wIAIdECAQD3AgAhAwAAAIwBACABAACeAQAwGAAAnwEAIAMAAACMAQAgAQAAjQEAMAIAAIkBACABAAAAbQAgAQAAAG0AIAMAAABrACABAABsADACAABtACADAAAAawAgAQAAbAAwAgAAbQAgAwAAAGsAIAEAAGwAMAIAAG0AIAVOAADOBAAgTwAAzwQAIPwBAgAAAAHPAgEAAAAB0AIBAAAAAQEMAACnAQAgA_wBAgAAAAHPAgEAAAAB0AIBAAAAAQEMAACpAQAwAQwAAKkBADAFTgAAzAQAIE8AAM0EACD8AQIA2gMAIc8CAQDWAwAh0AIBANYDACECAAAAbQAgDAAArAEAIAP8AQIA2gMAIc8CAQDWAwAh0AIBANYDACECAAAAawAgDAAArgEAIAIAAABrACAMAACuAQAgAwAAAG0AIBMAAKcBACAUAACsAQAgAQAAAG0AIAEAAABrACAFBgAAxwQAIBkAAMoEACAaAADJBAAgfgAAyAQAIH8AAMsEACAG-QEAALUDADD6AQAAtQEAEPsBAAC1AwAw_AECAPMCACHPAgEA9AIAIdACAQD0AgAhAwAAAGsAIAEAALQBADAYAAC1AQAgAwAAAGsAIAEAAGwAMAIAAG0AIAv5AQAAsgMAMPoBAAC7AQAQ-wEAALIDADCRAgEAAAABngJAAJkDACGfAkAAmQMAIaECAQCEAwAhrgIAALMDzAIizAIAAKQDACDNAgAA9gIAIM4CAAC0AwAgAQAAALgBACABAAAAuAEAIAr5AQAAsgMAMPoBAAC7AQAQ-wEAALIDADCRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhAMAIa4CAACzA8wCIswCAACkAwAgzQIAAPYCACABzAIAANADACADAAAAuwEAIAEAALwBADACAAC4AQAgAwAAALsBACABAAC8AQAwAgAAuAEAIAMAAAC7AQAgAQAAvAEAMAIAALgBACAHkQIBAAAAAZ4CQAAAAAGfAkAAAAABoQIBAAAAAa4CAAAAzAICzAKAAAAAAc0CAADGBAAgAQwAAMABACAHkQIBAAAAAZ4CQAAAAAGfAkAAAAABoQIBAAAAAa4CAAAAzAICzAKAAAAAAc0CAADGBAAgAQwAAMIBADABDAAAwgEAMAeRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIa4CAADEBMwCIswCgAAAAAHNAgAAxQQAIAIAAAC4AQAgDAAAxQEAIAeRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIa4CAADEBMwCIswCgAAAAAHNAgAAxQQAIAIAAAC7AQAgDAAAxwEAIAIAAAC7AQAgDAAAxwEAIAMAAAC4AQAgEwAAwAEAIBQAAMUBACABAAAAuAEAIAEAAAC7AQAgBAYAAMEEACAZAADDBAAgGgAAwgQAIMwCAADQAwAgCvkBAACuAwAw-gEAAM4BABD7AQAArgMAMJECAQD0AgAhngJAAIsDACGfAkAAiwMAIaECAQD0AgAhrgIAAK8DzAIizAIAAKEDACDNAgAA9gIAIAMAAAC7AQAgAQAAzQEAMBgAAM4BACADAAAAuwEAIAEAALwBADACAAC4AQAgKZUBAACGAwAglgEAAKYDACCXAQAApwMAIJgBAACoAwAg-QEAAKMDADD6AQAA3QEAEPsBAACjAwAw_AEBAAAAAZECAQAAAAGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGiAgEAhAMAIa4CAQCEAwAhrwIBAIUDACGwAgAA9gIAILECAACkAwAgsgIAAPYCACCzAgAApAMAILQCAQCFAwAhtQIAAPYCACC2AgEAhQMAIbcCAACkAwAguAIBAIUDACG5AgAA9gIAILoCAACkAwAguwIBAIUDACG8AgEAhQMAIb0CAAD2AgAgvgIAAKQDACC_AgAApAMAIMACAQCFAwAhwQIBAIUDACHCAgAA9gIAIMMCAQCFAwAhxAIAAPYCACDFAgEAhQMAIcYCAACkAwAgxwJAAKUDACHIAkAApQMAIckCQAClAwAhAQAAANEBACAMkwEAAK0DACCUAQAAqgMAIPkBAACsAwAw-gEAANMBABD7AQAArAMAMPwBAgCXAwAh_QEBAIQDACH-AQEAhAMAIf8BAQCEAwAhgAJAAKUDACGBAgAA9gIAIIICAQCFAwAhBJMBAADABAAglAEAAL4EACCAAgAA0AMAIIICAADQAwAgDZMBAACtAwAglAEAAKoDACD5AQAArAMAMPoBAADTAQAQ-wEAAKwDADD8AQIAAAAB_QEBAIQDACH-AQEAhAMAIf8BAQCEAwAhgAJAAKUDACGBAgAA9gIAIIICAQCFAwAhygIAAKsDACADAAAA0wEAIAEAANQBADACAADVAQAgAwAAANMBACABAADUAQAwAgAA1QEAIAEAAADTAQAgDJQBAACqAwAg-QEAAKkDADD6AQAA2QEAEPsBAACpAwAw_AEBAIQDACH-AQEAhAMAIZ4CQACZAwAhnwJAAJkDACGqAgEAhAMAIasCAQCEAwAhrAIBAIQDACGtAkAApQMAIQKUAQAAvgQAIK0CAADQAwAgDJQBAACqAwAg-QEAAKkDADD6AQAA2QEAEPsBAACpAwAw_AEBAAAAAf4BAQCEAwAhngJAAJkDACGfAkAAmQMAIaoCAQCEAwAhqwIBAIQDACGsAgEAhAMAIa0CQAClAwAhAwAAANkBACABAADaAQAwAgAA2wEAICmVAQAAhgMAIJYBAACmAwAglwEAAKcDACCYAQAAqAMAIPkBAACjAwAw-gEAAN0BABD7AQAAowMAMPwBAQCEAwAhkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGiAgEAhAMAIa4CAQCEAwAhrwIBAIUDACGwAgAA9gIAILECAACkAwAgsgIAAPYCACCzAgAApAMAILQCAQCFAwAhtQIAAPYCACC2AgEAhQMAIbcCAACkAwAguAIBAIUDACG5AgAA9gIAILoCAACkAwAguwIBAIUDACG8AgEAhQMAIb0CAAD2AgAgvgIAAKQDACC_AgAApAMAIMACAQCFAwAhwQIBAIUDACHCAgAA9gIAIMMCAQCFAwAhxAIAAPYCACDFAgEAhQMAIcYCAACkAwAgxwJAAKUDACHIAkAApQMAIckCQAClAwAhAQAAAN0BACAYlQEAAPEDACCWAQAAvQQAIJcBAAC-BAAgmAEAAL8EACCvAgAA0AMAILECAADQAwAgswIAANADACC0AgAA0AMAILYCAADQAwAgtwIAANADACC4AgAA0AMAILoCAADQAwAguwIAANADACC8AgAA0AMAIL4CAADQAwAgvwIAANADACDAAgAA0AMAIMECAADQAwAgwwIAANADACDFAgAA0AMAIMYCAADQAwAgxwIAANADACDIAgAA0AMAIMkCAADQAwAgAwAAAN0BACABAADfAQAwAgAA0QEAIAEAAADTAQAgAQAAANkBACABAAAA3QEAIAEAAADRAQAgAwAAAN0BACABAADfAQAwAgAA0QEAIAMAAADdAQAgAQAA3wEAMAIAANEBACADAAAA3QEAIAEAAN8BADACAADRAQAgJpUBAACkBAAglgEAAKUEACCXAQAAvAQAIJgBAACmBAAg_AEBAAAAAZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAGiAgEAAAABrgIBAAAAAa8CAQAAAAGwAgAAnQQAILECgAAAAAGyAgAAngQAILMCgAAAAAG0AgEAAAABtQIAAJ8EACC2AgEAAAABtwKAAAAAAbgCAQAAAAG5AgAAoAQAILoCgAAAAAG7AgEAAAABvAIBAAAAAb0CAAChBAAgvgKAAAAAAb8CgAAAAAHAAgEAAAABwQIBAAAAAcICAACiBAAgwwIBAAAAAcQCAACjBAAgxQIBAAAAAcYCgAAAAAHHAkAAAAAByAJAAAAAAckCQAAAAAEBDAAA6AEAICL8AQEAAAABkQIBAAAAAZ4CQAAAAAGfAkAAAAABoQIBAAAAAaICAQAAAAGuAgEAAAABrwIBAAAAAbACAACdBAAgsQKAAAAAAbICAACeBAAgswKAAAAAAbQCAQAAAAG1AgAAnwQAILYCAQAAAAG3AoAAAAABuAIBAAAAAbkCAACgBAAgugKAAAAAAbsCAQAAAAG8AgEAAAABvQIAAKEEACC-AoAAAAABvwKAAAAAAcACAQAAAAHBAgEAAAABwgIAAKIEACDDAgEAAAABxAIAAKMEACDFAgEAAAABxgKAAAAAAccCQAAAAAHIAkAAAAAByQJAAAAAAQEMAADqAQAwAQwAAOoBADABAAAA3QEAICaVAQAAjQQAIJYBAACOBAAglwEAAI8EACCYAQAAkAQAIPwBAQDWAwAhkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANYDACGiAgEA1gMAIa4CAQDWAwAhrwIBANkDACGwAgAAhgQAILECgAAAAAGyAgAAhwQAILMCgAAAAAG0AgEA2QMAIbUCAACIBAAgtgIBANkDACG3AoAAAAABuAIBANkDACG5AgAAiQQAILoCgAAAAAG7AgEA2QMAIbwCAQDZAwAhvQIAAIoEACC-AoAAAAABvwKAAAAAAcACAQDZAwAhwQIBANkDACHCAgAAiwQAIMMCAQDZAwAhxAIAAIwEACDFAgEA2QMAIcYCgAAAAAHHAkAA1wMAIcgCQADXAwAhyQJAANcDACECAAAA0QEAIAwAAO4BACAi_AEBANYDACGRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIaICAQDWAwAhrgIBANYDACGvAgEA2QMAIbACAACGBAAgsQKAAAAAAbICAACHBAAgswKAAAAAAbQCAQDZAwAhtQIAAIgEACC2AgEA2QMAIbcCgAAAAAG4AgEA2QMAIbkCAACJBAAgugKAAAAAAbsCAQDZAwAhvAIBANkDACG9AgAAigQAIL4CgAAAAAG_AoAAAAABwAIBANkDACHBAgEA2QMAIcICAACLBAAgwwIBANkDACHEAgAAjAQAIMUCAQDZAwAhxgKAAAAAAccCQADXAwAhyAJAANcDACHJAkAA1wMAIQIAAADdAQAgDAAA8AEAIAIAAADdAQAgDAAA8AEAIAEAAADdAQAgAwAAANEBACATAADoAQAgFAAA7gEAIAEAAADRAQAgAQAAAN0BACAXBgAAgwQAIBkAAIUEACAaAACEBAAgrwIAANADACCxAgAA0AMAILMCAADQAwAgtAIAANADACC2AgAA0AMAILcCAADQAwAguAIAANADACC6AgAA0AMAILsCAADQAwAgvAIAANADACC-AgAA0AMAIL8CAADQAwAgwAIAANADACDBAgAA0AMAIMMCAADQAwAgxQIAANADACDGAgAA0AMAIMcCAADQAwAgyAIAANADACDJAgAA0AMAICX5AQAAoAMAMPoBAAD4AQAQ-wEAAKADADD8AQEA9AIAIZECAQD0AgAhngJAAIsDACGfAkAAiwMAIaECAQD0AgAhogIBAPQCACGuAgEA9AIAIa8CAQD3AgAhsAIAAPYCACCxAgAAoQMAILICAAD2AgAgswIAAKEDACC0AgEA9wIAIbUCAAD2AgAgtgIBAPcCACG3AgAAoQMAILgCAQD3AgAhuQIAAPYCACC6AgAAoQMAILsCAQD3AgAhvAIBAPcCACG9AgAA9gIAIL4CAAChAwAgvwIAAKEDACDAAgEA9wIAIcECAQD3AgAhwgIAAPYCACDDAgEA9wIAIcQCAAD2AgAgxQIBAPcCACHGAgAAoQMAIMcCQAD1AgAhyAJAAPUCACHJAkAA9QIAIQMAAADdAQAgAQAA9wEAMBgAAPgBACADAAAA3QEAIAEAAN8BADACAADRAQAgAQAAANsBACABAAAA2wEAIAMAAADZAQAgAQAA2gEAMAIAANsBACADAAAA2QEAIAEAANoBADACAADbAQAgAwAAANkBACABAADaAQAwAgAA2wEAIAmUAQAAggQAIPwBAQAAAAH-AQEAAAABngJAAAAAAZ8CQAAAAAGqAgEAAAABqwIBAAAAAawCAQAAAAGtAkAAAAABAQwAAIACACAI_AEBAAAAAf4BAQAAAAGeAkAAAAABnwJAAAAAAaoCAQAAAAGrAgEAAAABrAIBAAAAAa0CQAAAAAEBDAAAggIAMAEMAACCAgAwCZQBAACBBAAg_AEBANYDACH-AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACGqAgEA1gMAIasCAQDWAwAhrAIBANYDACGtAkAA1wMAIQIAAADbAQAgDAAAhQIAIAj8AQEA1gMAIf4BAQDWAwAhngJAAPoDACGfAkAA-gMAIaoCAQDWAwAhqwIBANYDACGsAgEA1gMAIa0CQADXAwAhAgAAANkBACAMAACHAgAgAgAAANkBACAMAACHAgAgAwAAANsBACATAACAAgAgFAAAhQIAIAEAAADbAQAgAQAAANkBACAEBgAA_gMAIBkAAIAEACAaAAD_AwAgrQIAANADACAL-QEAAJ8DADD6AQAAjgIAEPsBAACfAwAw_AEBAPQCACH-AQEA9AIAIZ4CQACLAwAhnwJAAIsDACGqAgEA9AIAIasCAQD0AgAhrAIBAPQCACGtAkAA9QIAIQMAAADZAQAgAQAAjQIAMBgAAI4CACADAAAA2QEAIAEAANoBADACAADbAQAgCvkBAACdAwAw-gEAAJQCABD7AQAAnQMAMPwBAQAAAAGeAkAAmQMAIZ8CQACZAwAhoAIBAAAAAaECAQCEAwAhogIBAIQDACGjAgAAngMAIAEAAACRAgAgAQAAAJECACAK-QEAAJ0DADD6AQAAlAIAEPsBAACdAwAw_AEBAIQDACGeAkAAmQMAIZ8CQACZAwAhoAIBAIQDACGhAgEAhAMAIaICAQCEAwAhowIAAJ4DACAAAwAAAJQCACABAACVAgAwAgAAkQIAIAMAAACUAgAgAQAAlQIAMAIAAJECACADAAAAlAIAIAEAAJUCADACAACRAgAgB_wBAQAAAAGeAkAAAAABnwJAAAAAAaACAQAAAAGhAgEAAAABogIBAAAAAaMCgAAAAAEBDAAAmQIAIAf8AQEAAAABngJAAAAAAZ8CQAAAAAGgAgEAAAABoQIBAAAAAaICAQAAAAGjAoAAAAABAQwAAJsCADABDAAAmwIAMAf8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACGgAgEA1gMAIaECAQDWAwAhogIBANYDACGjAoAAAAABAgAAAJECACAMAACeAgAgB_wBAQDWAwAhngJAAPoDACGfAkAA-gMAIaACAQDWAwAhoQIBANYDACGiAgEA1gMAIaMCgAAAAAECAAAAlAIAIAwAAKACACACAAAAlAIAIAwAAKACACADAAAAkQIAIBMAAJkCACAUAACeAgAgAQAAAJECACABAAAAlAIAIAMGAAD7AwAgGQAA_QMAIBoAAPwDACAK-QEAAJoDADD6AQAApwIAEPsBAACaAwAw_AEBAPQCACGeAkAAiwMAIZ8CQACLAwAhoAIBAPQCACGhAgEA9AIAIaICAQD0AgAhowIAAJsDACADAAAAlAIAIAEAAKYCADAYAACnAgAgAwAAAJQCACABAACVAgAwAgAAkQIAIA75AQAAlAMAMPoBAACtAgAQ-wEAAJQDADD8AQEAAAABlQIBAAAAAZcCAACVA5cCIpgCAAGWAwAhmQIBAIQDACGaAgEAhAMAIZsCAgCXAwAhnAICAJgDACGdAgIAmAMAIZ4CQACZAwAhnwJAAJkDACEBAAAAqgIAIAEAAACqAgAgDvkBAACUAwAw-gEAAK0CABD7AQAAlAMAMPwBAQCEAwAhlQIBAIQDACGXAgAAlQOXAiKYAgABlgMAIZkCAQCEAwAhmgIBAIQDACGbAgIAlwMAIZwCAgCYAwAhnQICAJgDACGeAkAAmQMAIZ8CQACZAwAhApwCAADQAwAgnQIAANADACADAAAArQIAIAEAAK4CADACAACqAgAgAwAAAK0CACABAACuAgAwAgAAqgIAIAMAAACtAgAgAQAArgIAMAIAAKoCACAL_AEBAAAAAZUCAQAAAAGXAgAAAJcCApgCAAEAAAGZAgEAAAABmgIBAAAAAZsCAgAAAAGcAgIAAAABnQICAAAAAZ4CQAAAAAGfAkAAAAABAQwAALICACAL_AEBAAAAAZUCAQAAAAGXAgAAAJcCApgCAAEAAAGZAgEAAAABmgIBAAAAAZsCAgAAAAGcAgIAAAABnQICAAAAAZ4CQAAAAAGfAkAAAAABAQwAALQCADABDAAAtAIAMAv8AQEA1gMAIZUCAQDWAwAhlwIAAPcDlwIimAIAAfgDACGZAgEA1gMAIZoCAQDWAwAhmwICANoDACGcAgIA-QMAIZ0CAgD5AwAhngJAAPoDACGfAkAA-gMAIQIAAACqAgAgDAAAtwIAIAv8AQEA1gMAIZUCAQDWAwAhlwIAAPcDlwIimAIAAfgDACGZAgEA1gMAIZoCAQDWAwAhmwICANoDACGcAgIA-QMAIZ0CAgD5AwAhngJAAPoDACGfAkAA-gMAIQIAAACtAgAgDAAAuQIAIAIAAACtAgAgDAAAuQIAIAMAAACqAgAgEwAAsgIAIBQAALcCACABAAAAqgIAIAEAAACtAgAgBwYAAPIDACAZAAD1AwAgGgAA9AMAIH4AAPMDACB_AAD2AwAgnAIAANADACCdAgAA0AMAIA75AQAAhwMAMPoBAADAAgAQ-wEAAIcDADD8AQEA9AIAIZUCAQD0AgAhlwIAAIgDlwIimAIAAYkDACGZAgEA9AIAIZoCAQD0AgAhmwICAPMCACGcAgIAigMAIZ0CAgCKAwAhngJAAIsDACGfAkAAiwMAIQMAAACtAgAgAQAAvwIAMBgAAMACACADAAAArQIAIAEAAK4CADACAACqAgAgBpIBAACGAwAg-QEAAIMDADD6AQAAxgIAEPsBAACDAwAwggIBAIUDACGRAgEAAAABAQAAAMMCACABAAAAwwIAIAaSAQAAhgMAIPkBAACDAwAw-gEAAMYCABD7AQAAgwMAMIICAQCFAwAhkQIBAIQDACECkgEAAPEDACCCAgAA0AMAIAMAAADGAgAgAQAAxwIAMAIAAMMCACADAAAAxgIAIAEAAMcCADACAADDAgAgAwAAAMYCACABAADHAgAwAgAAwwIAIAOSAQAA8AMAIIICAQAAAAGRAgEAAAABAQwAAMsCACACggIBAAAAAZECAQAAAAEBDAAAzQIAMAEMAADNAgAwA5IBAADjAwAgggIBANkDACGRAgEA1gMAIQIAAADDAgAgDAAA0AIAIAKCAgEA2QMAIZECAQDWAwAhAgAAAMYCACAMAADSAgAgAgAAAMYCACAMAADSAgAgAwAAAMMCACATAADLAgAgFAAA0AIAIAEAAADDAgAgAQAAAMYCACAEBgAA4AMAIBkAAOIDACAaAADhAwAgggIAANADACAF-QEAAIIDADD6AQAA2QIAEPsBAACCAwAwggIBAPcCACGRAgEA9AIAIQMAAADGAgAgAQAA2AIAMBgAANkCACADAAAAxgIAIAEAAMcCADACAADDAgAgAQAAANUBACABAAAA1QEAIAMAAADTAQAgAQAA1AEAMAIAANUBACADAAAA0wEAIAEAANQBADACAADVAQAgAwAAANMBACABAADUAQAwAgAA1QEAIAmTAQAA3gMAIJQBAADfAwAg_AECAAAAAf0BAQAAAAH-AQEAAAAB_wEBAAAAAYACQAAAAAGBAgAA3QMAIIICAQAAAAEBDAAA4QIAIAf8AQIAAAAB_QEBAAAAAf4BAQAAAAH_AQEAAAABgAJAAAAAAYECAADdAwAgggIBAAAAAQEMAADjAgAwAQwAAOMCADAJkwEAANsDACCUAQAA3AMAIPwBAgDaAwAh_QEBANYDACH-AQEA1gMAIf8BAQDWAwAhgAJAANcDACGBAgAA2AMAIIICAQDZAwAhAgAAANUBACAMAADmAgAgB_wBAgDaAwAh_QEBANYDACH-AQEA1gMAIf8BAQDWAwAhgAJAANcDACGBAgAA2AMAIIICAQDZAwAhAgAAANMBACAMAADoAgAgAgAAANMBACAMAADoAgAgAwAAANUBACATAADhAgAgFAAA5gIAIAEAAADVAQAgAQAAANMBACAHBgAA0QMAIBkAANQDACAaAADTAwAgfgAA0gMAIH8AANUDACCAAgAA0AMAIIICAADQAwAgCvkBAADyAgAw-gEAAO8CABD7AQAA8gIAMPwBAgDzAgAh_QEBAPQCACH-AQEA9AIAIf8BAQD0AgAhgAJAAPUCACGBAgAA9gIAIIICAQD3AgAhAwAAANMBACABAADuAgAwGAAA7wIAIAMAAADTAQAgAQAA1AEAMAIAANUBACAK-QEAAPICADD6AQAA7wIAEPsBAADyAgAw_AECAPMCACH9AQEA9AIAIf4BAQD0AgAh_wEBAPQCACGAAkAA9QIAIYECAAD2AgAgggIBAPcCACENBgAA_gIAIBkAAP4CACAaAAD-AgAgfgAAgQMAIH8AAP4CACCDAgIAAAABhAICAAAABIUCAgAAAASGAgIAAAABhwICAAAAAYgCAgAAAAGJAgIAAAABjQICAIADACEOBgAA_gIAIBkAAP8CACAaAAD_AgAggwIBAAAAAYQCAQAAAASFAgEAAAAEhgIBAAAAAYcCAQAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAY0CAQD9AgAhCwYAAPkCACAZAAD8AgAgGgAA_AIAIIMCQAAAAAGEAkAAAAAFhQJAAAAABYYCQAAAAAGHAkAAAAABiAJAAAAAAYkCQAAAAAGNAkAA-wIAIQSDAgEAAAAFjgIBAAAAAY8CAQAAAASQAgEAAAAEDgYAAPkCACAZAAD6AgAgGgAA-gIAIIMCAQAAAAGEAgEAAAAFhQIBAAAABYYCAQAAAAGHAgEAAAABiAIBAAAAAYkCAQAAAAGKAgEAAAABiwIBAAAAAYwCAQAAAAGNAgEA-AIAIQ4GAAD5AgAgGQAA-gIAIBoAAPoCACCDAgEAAAABhAIBAAAABYUCAQAAAAWGAgEAAAABhwIBAAAAAYgCAQAAAAGJAgEAAAABigIBAAAAAYsCAQAAAAGMAgEAAAABjQIBAPgCACEIgwICAAAAAYQCAgAAAAWFAgIAAAAFhgICAAAAAYcCAgAAAAGIAgIAAAABiQICAAAAAY0CAgD5AgAhC4MCAQAAAAGEAgEAAAAFhQIBAAAABYYCAQAAAAGHAgEAAAABiAIBAAAAAYkCAQAAAAGKAgEAAAABiwIBAAAAAYwCAQAAAAGNAgEA-gIAIQsGAAD5AgAgGQAA_AIAIBoAAPwCACCDAkAAAAABhAJAAAAABYUCQAAAAAWGAkAAAAABhwJAAAAAAYgCQAAAAAGJAkAAAAABjQJAAPsCACEIgwJAAAAAAYQCQAAAAAWFAkAAAAAFhgJAAAAAAYcCQAAAAAGIAkAAAAABiQJAAAAAAY0CQAD8AgAhDgYAAP4CACAZAAD_AgAgGgAA_wIAIIMCAQAAAAGEAgEAAAAEhQIBAAAABIYCAQAAAAGHAgEAAAABiAIBAAAAAYkCAQAAAAGKAgEAAAABiwIBAAAAAYwCAQAAAAGNAgEA_QIAIQiDAgIAAAABhAICAAAABIUCAgAAAASGAgIAAAABhwICAAAAAYgCAgAAAAGJAgIAAAABjQICAP4CACELgwIBAAAAAYQCAQAAAASFAgEAAAAEhgIBAAAAAYcCAQAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAY0CAQD_AgAhDQYAAP4CACAZAAD-AgAgGgAA_gIAIH4AAIEDACB_AAD-AgAggwICAAAAAYQCAgAAAASFAgIAAAAEhgICAAAAAYcCAgAAAAGIAgIAAAABiQICAAAAAY0CAgCAAwAhCIMCCAAAAAGEAggAAAAEhQIIAAAABIYCCAAAAAGHAggAAAABiAIIAAAAAYkCCAAAAAGNAggAgQMAIQX5AQAAggMAMPoBAADZAgAQ-wEAAIIDADCCAgEA9wIAIZECAQD0AgAhBpIBAACGAwAg-QEAAIMDADD6AQAAxgIAEPsBAACDAwAwggIBAIUDACGRAgEAhAMAIQuDAgEAAAABhAIBAAAABIUCAQAAAASGAgEAAAABhwIBAAAAAYgCAQAAAAGJAgEAAAABigIBAAAAAYsCAQAAAAGMAgEAAAABjQIBAP8CACELgwIBAAAAAYQCAQAAAAWFAgEAAAAFhgIBAAAAAYcCAQAAAAGIAgEAAAABiQIBAAAAAYoCAQAAAAGLAgEAAAABjAIBAAAAAY0CAQD6AgAhA5ICAADTAQAgkwIAANMBACCUAgAA0wEAIA75AQAAhwMAMPoBAADAAgAQ-wEAAIcDADD8AQEA9AIAIZUCAQD0AgAhlwIAAIgDlwIimAIAAYkDACGZAgEA9AIAIZoCAQD0AgAhmwICAPMCACGcAgIAigMAIZ0CAgCKAwAhngJAAIsDACGfAkAAiwMAIQcGAAD-AgAgGQAAkwMAIBoAAJMDACCDAgAAAJcCAoQCAAAAlwIIhQIAAACXAgiNAgAAkgOXAiIHBgAA_gIAIBkAAJEDACAaAACRAwAggwIAAQAAAYQCAAEAAASFAgABAAAEjQIAAZADACENBgAA-QIAIBkAAPkCACAaAAD5AgAgfgAAjwMAIH8AAPkCACCDAgIAAAABhAICAAAABYUCAgAAAAWGAgIAAAABhwICAAAAAYgCAgAAAAGJAgIAAAABjQICAI4DACELBgAA_gIAIBkAAI0DACAaAACNAwAggwJAAAAAAYQCQAAAAASFAkAAAAAEhgJAAAAAAYcCQAAAAAGIAkAAAAABiQJAAAAAAY0CQACMAwAhCwYAAP4CACAZAACNAwAgGgAAjQMAIIMCQAAAAAGEAkAAAAAEhQJAAAAABIYCQAAAAAGHAkAAAAABiAJAAAAAAYkCQAAAAAGNAkAAjAMAIQiDAkAAAAABhAJAAAAABIUCQAAAAASGAkAAAAABhwJAAAAAAYgCQAAAAAGJAkAAAAABjQJAAI0DACENBgAA-QIAIBkAAPkCACAaAAD5AgAgfgAAjwMAIH8AAPkCACCDAgIAAAABhAICAAAABYUCAgAAAAWGAgIAAAABhwICAAAAAYgCAgAAAAGJAgIAAAABjQICAI4DACEIgwIIAAAAAYQCCAAAAAWFAggAAAAFhgIIAAAAAYcCCAAAAAGIAggAAAABiQIIAAAAAY0CCACPAwAhBwYAAP4CACAZAACRAwAgGgAAkQMAIIMCAAEAAAGEAgABAAAEhQIAAQAABI0CAAGQAwAhBIMCAAEAAAGEAgABAAAEhQIAAQAABI0CAAGRAwAhBwYAAP4CACAZAACTAwAgGgAAkwMAIIMCAAAAlwIChAIAAACXAgiFAgAAAJcCCI0CAACSA5cCIgSDAgAAAJcCAoQCAAAAlwIIhQIAAACXAgiNAgAAkwOXAiIO-QEAAJQDADD6AQAArQIAEPsBAACUAwAw_AEBAIQDACGVAgEAhAMAIZcCAACVA5cCIpgCAAGWAwAhmQIBAIQDACGaAgEAhAMAIZsCAgCXAwAhnAICAJgDACGdAgIAmAMAIZ4CQACZAwAhnwJAAJkDACEEgwIAAACXAgKEAgAAAJcCCIUCAAAAlwIIjQIAAJMDlwIiBIMCAAEAAAGEAgABAAAEhQIAAQAABI0CAAGRAwAhCIMCAgAAAAGEAgIAAAAEhQICAAAABIYCAgAAAAGHAgIAAAABiAICAAAAAYkCAgAAAAGNAgIA_gIAIQiDAgIAAAABhAICAAAABYUCAgAAAAWGAgIAAAABhwICAAAAAYgCAgAAAAGJAgIAAAABjQICAPkCACEIgwJAAAAAAYQCQAAAAASFAkAAAAAEhgJAAAAAAYcCQAAAAAGIAkAAAAABiQJAAAAAAY0CQACNAwAhCvkBAACaAwAw-gEAAKcCABD7AQAAmgMAMPwBAQD0AgAhngJAAIsDACGfAkAAiwMAIaACAQD0AgAhoQIBAPQCACGiAgEA9AIAIaMCAACbAwAgDwYAAP4CACAZAACcAwAgGgAAnAMAIIMCgAAAAAGGAoAAAAABhwKAAAAAAYgCgAAAAAGJAoAAAAABjQKAAAAAAaQCAQAAAAGlAgEAAAABpgIBAAAAAacCgAAAAAGoAoAAAAABqQKAAAAAAQyDAoAAAAABhgKAAAAAAYcCgAAAAAGIAoAAAAABiQKAAAAAAY0CgAAAAAGkAgEAAAABpQIBAAAAAaYCAQAAAAGnAoAAAAABqAKAAAAAAakCgAAAAAEK-QEAAJ0DADD6AQAAlAIAEPsBAACdAwAw_AEBAIQDACGeAkAAmQMAIZ8CQACZAwAhoAIBAIQDACGhAgEAhAMAIaICAQCEAwAhowIAAJ4DACAMgwKAAAAAAYYCgAAAAAGHAoAAAAABiAKAAAAAAYkCgAAAAAGNAoAAAAABpAIBAAAAAaUCAQAAAAGmAgEAAAABpwKAAAAAAagCgAAAAAGpAoAAAAABC_kBAACfAwAw-gEAAI4CABD7AQAAnwMAMPwBAQD0AgAh_gEBAPQCACGeAkAAiwMAIZ8CQACLAwAhqgIBAPQCACGrAgEA9AIAIawCAQD0AgAhrQJAAPUCACEl-QEAAKADADD6AQAA-AEAEPsBAACgAwAw_AEBAPQCACGRAgEA9AIAIZ4CQACLAwAhnwJAAIsDACGhAgEA9AIAIaICAQD0AgAhrgIBAPQCACGvAgEA9wIAIbACAAD2AgAgsQIAAKEDACCyAgAA9gIAILMCAAChAwAgtAIBAPcCACG1AgAA9gIAILYCAQD3AgAhtwIAAKEDACC4AgEA9wIAIbkCAAD2AgAgugIAAKEDACC7AgEA9wIAIbwCAQD3AgAhvQIAAPYCACC-AgAAoQMAIL8CAAChAwAgwAIBAPcCACHBAgEA9wIAIcICAAD2AgAgwwIBAPcCACHEAgAA9gIAIMUCAQD3AgAhxgIAAKEDACDHAkAA9QIAIcgCQAD1AgAhyQJAAPUCACEPBgAA-QIAIBkAAKIDACAaAACiAwAggwKAAAAAAYYCgAAAAAGHAoAAAAABiAKAAAAAAYkCgAAAAAGNAoAAAAABpAIBAAAAAaUCAQAAAAGmAgEAAAABpwKAAAAAAagCgAAAAAGpAoAAAAABDIMCgAAAAAGGAoAAAAABhwKAAAAAAYgCgAAAAAGJAoAAAAABjQKAAAAAAaQCAQAAAAGlAgEAAAABpgIBAAAAAacCgAAAAAGoAoAAAAABqQKAAAAAASmVAQAAhgMAIJYBAACmAwAglwEAAKcDACCYAQAAqAMAIPkBAACjAwAw-gEAAN0BABD7AQAAowMAMPwBAQCEAwAhkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGiAgEAhAMAIa4CAQCEAwAhrwIBAIUDACGwAgAA9gIAILECAACkAwAgsgIAAPYCACCzAgAApAMAILQCAQCFAwAhtQIAAPYCACC2AgEAhQMAIbcCAACkAwAguAIBAIUDACG5AgAA9gIAILoCAACkAwAguwIBAIUDACG8AgEAhQMAIb0CAAD2AgAgvgIAAKQDACC_AgAApAMAIMACAQCFAwAhwQIBAIUDACHCAgAA9gIAIMMCAQCFAwAhxAIAAPYCACDFAgEAhQMAIcYCAACkAwAgxwJAAKUDACHIAkAApQMAIckCQAClAwAhDIMCgAAAAAGGAoAAAAABhwKAAAAAAYgCgAAAAAGJAoAAAAABjQKAAAAAAaQCAQAAAAGlAgEAAAABpgIBAAAAAacCgAAAAAGoAoAAAAABqQKAAAAAAQiDAkAAAAABhAJAAAAABYUCQAAAAAWGAkAAAAABhwJAAAAAAYgCQAAAAAGJAkAAAAABjQJAAPwCACEDkgIAANkBACCTAgAA2QEAIJQCAADZAQAgK5UBAACGAwAglgEAAKYDACCXAQAApwMAIJgBAACoAwAg-QEAAKMDADD6AQAA3QEAEPsBAACjAwAw_AEBAIQDACGRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhAMAIaICAQCEAwAhrgIBAIQDACGvAgEAhQMAIbACAAD2AgAgsQIAAKQDACCyAgAA9gIAILMCAACkAwAgtAIBAIUDACG1AgAA9gIAILYCAQCFAwAhtwIAAKQDACC4AgEAhQMAIbkCAAD2AgAgugIAAKQDACC7AgEAhQMAIbwCAQCFAwAhvQIAAPYCACC-AgAApAMAIL8CAACkAwAgwAIBAIUDACHBAgEAhQMAIcICAAD2AgAgwwIBAIUDACHEAgAA9gIAIMUCAQCFAwAhxgIAAKQDACDHAkAApQMAIcgCQAClAwAhyQJAAKUDACHqAgAA3QEAIOsCAADdAQAgA5ICAADdAQAgkwIAAN0BACCUAgAA3QEAIAyUAQAAqgMAIPkBAACpAwAw-gEAANkBABD7AQAAqQMAMPwBAQCEAwAh_gEBAIQDACGeAkAAmQMAIZ8CQACZAwAhqgIBAIQDACGrAgEAhAMAIawCAQCEAwAhrQJAAKUDACErlQEAAIYDACCWAQAApgMAIJcBAACnAwAgmAEAAKgDACD5AQAAowMAMPoBAADdAQAQ-wEAAKMDADD8AQEAhAMAIZECAQCEAwAhngJAAJkDACGfAkAAmQMAIaECAQCEAwAhogIBAIQDACGuAgEAhAMAIa8CAQCFAwAhsAIAAPYCACCxAgAApAMAILICAAD2AgAgswIAAKQDACC0AgEAhQMAIbUCAAD2AgAgtgIBAIUDACG3AgAApAMAILgCAQCFAwAhuQIAAPYCACC6AgAApAMAILsCAQCFAwAhvAIBAIUDACG9AgAA9gIAIL4CAACkAwAgvwIAAKQDACDAAgEAhQMAIcECAQCFAwAhwgIAAPYCACDDAgEAhQMAIcQCAAD2AgAgxQIBAIUDACHGAgAApAMAIMcCQAClAwAhyAJAAKUDACHJAkAApQMAIeoCAADdAQAg6wIAAN0BACAC_gEBAAAAAf8BAQAAAAEMkwEAAK0DACCUAQAAqgMAIPkBAACsAwAw-gEAANMBABD7AQAArAMAMPwBAgCXAwAh_QEBAIQDACH-AQEAhAMAIf8BAQCEAwAhgAJAAKUDACGBAgAA9gIAIIICAQCFAwAhCJIBAACGAwAg-QEAAIMDADD6AQAAxgIAEPsBAACDAwAwggIBAIUDACGRAgEAhAMAIeoCAADGAgAg6wIAAMYCACAK-QEAAK4DADD6AQAAzgEAEPsBAACuAwAwkQIBAPQCACGeAkAAiwMAIZ8CQACLAwAhoQIBAPQCACGuAgAArwPMAiLMAgAAoQMAIM0CAAD2AgAgBwYAAP4CACAZAACxAwAgGgAAsQMAIIMCAAAAzAIChAIAAADMAgiFAgAAAMwCCI0CAACwA8wCIgcGAAD-AgAgGQAAsQMAIBoAALEDACCDAgAAAMwCAoQCAAAAzAIIhQIAAADMAgiNAgAAsAPMAiIEgwIAAADMAgKEAgAAAMwCCIUCAAAAzAIIjQIAALEDzAIiCvkBAACyAwAw-gEAALsBABD7AQAAsgMAMJECAQCEAwAhngJAAJkDACGfAkAAmQMAIaECAQCEAwAhrgIAALMDzAIizAIAAKQDACDNAgAA9gIAIASDAgAAAMwCAoQCAAAAzAIIhQIAAADMAgiNAgAAsQPMAiICoQIBAAAAAa4CAAAAzAICBvkBAAC1AwAw-gEAALUBABD7AQAAtQMAMPwBAgDzAgAhzwIBAPQCACHQAgEA9AIAIQj5AQAAtgMAMPoBAACfAQAQ-wEAALYDADCRAgEA9AIAIZ4CQACLAwAhnwJAAIsDACGhAgEA9wIAIdECAQD3AgAhCU0AALgDACD5AQAAtwMAMPoBAACMAQAQ-wEAALcDADCRAgEAhAMAIZ4CQACZAwAhnwJAAJkDACGhAgEAhQMAIdECAQCFAwAhA5ICAABrACCTAgAAawAglAIAAGsAIAn5AQAAuQMAMPoBAACGAQAQ-wEAALkDADCRAgEA9AIAIZ4CQACLAwAhnwJAAIsDACHRAgEA9wIAIdICAQD0AgAh0wIBAPQCACEKTQAAuAMAIPkBAAC6AwAw-gEAAHMAEPsBAAC6AwAwkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAh0QIBAIUDACHSAgEAhAMAIdMCAQCEAwAhAs8CAQAAAAHQAgEAAAABCE4AAL0DACBPAAC-AwAg-QEAALwDADD6AQAAawAQ-wEAALwDADD8AQIAlwMAIc8CAQCEAwAh0AIBAIQDACELTQAAuAMAIPkBAAC3AwAw-gEAAIwBABD7AQAAtwMAMJECAQCEAwAhngJAAJkDACGfAkAAmQMAIaECAQCFAwAh0QIBAIUDACHqAgAAjAEAIOsCAACMAQAgDE0AALgDACD5AQAAugMAMPoBAABzABD7AQAAugMAMJECAQCEAwAhngJAAJkDACGfAkAAmQMAIdECAQCFAwAh0gIBAIQDACHTAgEAhAMAIeoCAABzACDrAgAAcwAgCfkBAAC_AwAw-gEAAGYAEPsBAAC_AwAw_AEBAPQCACGeAkAAiwMAIZ8CQACLAwAh1QIBAPQCACHWAgEA9AIAIdcCQACLAwAhCfkBAADAAwAw-gEAAFMAEPsBAADAAwAw_AEBAIQDACGeAkAAmQMAIZ8CQACZAwAh1QIBAIQDACHWAgEAhAMAIdcCQACZAwAhAtUCAQAAAAHWAgEAAAABEPkBAADCAwAw-gEAAE0AEPsBAADCAwAw_AEBAPQCACGeAkAAiwMAIZ8CQACLAwAh2QIBAPQCACHaAgEA9AIAIdsCAQD0AgAh3AIBAPcCACHdAgEA9wIAId4CQAD1AgAh3wJAAPUCACHgAgEA9wIAIeECAQD3AgAh4gIBAPcCACEL-QEAAMMDADD6AQAANwAQ-wEAAMMDADD8AQEA9AIAIZ4CQACLAwAhnwJAAIsDACHXAkAAiwMAIdkCAQD0AgAh4wIBAPQCACHkAgEA9wIAIeUCAQD3AgAhC_kBAADEAwAw-gEAACEAEPsBAADEAwAw_AEBAPQCACGVAgEA9wIAIZ4CQACLAwAhnwJAAIsDACHRAgEA9wIAIeYCIADFAwAh5wIBAPcCACHoAgEA9AIAIQUGAAD-AgAgGQAAxwMAIBoAAMcDACCDAiAAAAABjQIgAMYDACEFBgAA_gIAIBkAAMcDACAaAADHAwAggwIgAAAAAY0CIADGAwAhAoMCIAAAAAGNAiAAxwMAIQ0EAADKAwAgBQAAywMAIPkBAADIAwAw-gEAAA4AEPsBAADIAwAw_AEBAIQDACGVAgEAhQMAIZ4CQACZAwAhnwJAAJkDACHRAgEAhQMAIeYCIADJAwAh5wIBAIUDACHoAgEAhAMAIQKDAiAAAAABjQIgAMcDACEDkgIAAAMAIJMCAAADACCUAgAAAwAgA5ICAAAHACCTAgAABwAglAIAAAcAIAwDAADNAwAg-QEAAMwDADD6AQAABwAQ-wEAAMwDADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHXAkAAmQMAIdkCAQCEAwAh4wIBAIQDACHkAgEAhQMAIeUCAQCFAwAhDwQAAMoDACAFAADLAwAg-QEAAMgDADD6AQAADgAQ-wEAAMgDADD8AQEAhAMAIZUCAQCFAwAhngJAAJkDACGfAkAAmQMAIdECAQCFAwAh5gIgAMkDACHnAgEAhQMAIegCAQCEAwAh6gIAAA4AIOsCAAAOACAC2gIBAAAAAdsCAQAAAAERAwAAzQMAIPkBAADPAwAw-gEAAAMAEPsBAADPAwAw_AEBAIQDACGeAkAAmQMAIZ8CQACZAwAh2QIBAIQDACHaAgEAhAMAIdsCAQCEAwAh3AIBAIUDACHdAgEAhQMAId4CQAClAwAh3wJAAKUDACHgAgEAhQMAIeECAQCFAwAh4gIBAIUDACEAAAAAAAAB7wIBAAAAAQHvAkAAAAABAu8CAQAAAAT1AgEAAAAFAe8CAQAAAAEF7wICAAAAAfYCAgAAAAH3AgIAAAAB-AICAAAAAfkCAgAAAAEFEwAAygUAIBQAANAFACDsAgAAywUAIO0CAADPBQAg8gIAAMMCACAFEwAAyAUAIBQAAM0FACDsAgAAyQUAIO0CAADMBQAg8gIAANEBACAB7wIBAAAABAMTAADKBQAg7AIAAMsFACDyAgAAwwIAIAMTAADIBQAg7AIAAMkFACDyAgAA0QEAIAAAAAsTAADkAwAwFAAA6QMAMOwCAADlAwAw7QIAAOYDADDuAgAA5wMAIO8CAADoAwAw8AIAAOgDADDxAgAA6AMAMPICAADoAwAw8wIAAOoDADD0AgAA6wMAMAeUAQAA3wMAIPwBAgAAAAH-AQEAAAAB_wEBAAAAAYACQAAAAAGBAgAA3QMAIIICAQAAAAECAAAA1QEAIBMAAO8DACADAAAA1QEAIBMAAO8DACAUAADuAwAgAQwAAMcFADANkwEAAK0DACCUAQAAqgMAIPkBAACsAwAw-gEAANMBABD7AQAArAMAMPwBAgAAAAH9AQEAhAMAIf4BAQCEAwAh_wEBAIQDACGAAkAApQMAIYECAAD2AgAgggIBAIUDACHKAgAAqwMAIAIAAADVAQAgDAAA7gMAIAIAAADsAwAgDAAA7QMAIAr5AQAA6wMAMPoBAADsAwAQ-wEAAOsDADD8AQIAlwMAIf0BAQCEAwAh_gEBAIQDACH_AQEAhAMAIYACQAClAwAhgQIAAPYCACCCAgEAhQMAIQr5AQAA6wMAMPoBAADsAwAQ-wEAAOsDADD8AQIAlwMAIf0BAQCEAwAh_gEBAIQDACH_AQEAhAMAIYACQAClAwAhgQIAAPYCACCCAgEAhQMAIQb8AQIA2gMAIf4BAQDWAwAh_wEBANYDACGAAkAA1wMAIYECAADYAwAgggIBANkDACEHlAEAANwDACD8AQIA2gMAIf4BAQDWAwAh_wEBANYDACGAAkAA1wMAIYECAADYAwAgggIBANkDACEHlAEAAN8DACD8AQIAAAAB_gEBAAAAAf8BAQAAAAGAAkAAAAABgQIAAN0DACCCAgEAAAABBBMAAOQDADDsAgAA5QMAMO4CAADnAwAg8gIAAOgDADAAAAAAAAAB7wIAAACXAgIB7wIAAQAAAQXvAgIAAAAB9gICAAAAAfcCAgAAAAH4AgIAAAAB-QICAAAAAQHvAkAAAAABAAAAAAAABRMAAMIFACAUAADFBQAg7AIAAMMFACDtAgAAxAUAIPICAADRAQAgAxMAAMIFACDsAgAAwwUAIPICAADRAQAgAAAAAu8CAQAAAAT1AgEAAAAFAu8CAQAAAAT1AgEAAAAFAu8CAQAAAAT1AgEAAAAFAu8CAQAAAAT1AgEAAAAFAu8CAQAAAAT1AgEAAAAFAu8CAQAAAAT1AgEAAAAFAu8CAQAAAAT1AgEAAAAFCxMAAKwEADAUAAC4BAAw7AIAAK0EADDtAgAAtwQAMO4CAACuBAAg7wIAAOgDADDwAgAA6AMAMPECAADoAwAw8gIAAOgDADDzAgAAuQQAMPQCAADrAwAwCxMAAKcEADAUAACxBAAw7AIAAKgEADDtAgAAsAQAMO4CAACpBAAg7wIAAKoEADDwAgAAqgQAMPECAACqBAAw8gIAAKoEADDzAgAAsgQAMPQCAACzBAAwBxMAALoFACAUAADABQAg7AIAALsFACDtAgAAvwUAIPACAADdAQAg8QIAAN0BACDyAgAA0QEAIAsTAACRBAAwFAAAlgQAMOwCAACSBAAw7QIAAJMEADDuAgAAlAQAIO8CAACVBAAw8AIAAJUEADDxAgAAlQQAMPICAACVBAAw8wIAAJcEADD0AgAAmAQAMCSVAQAApAQAIJYBAAClBAAgmAEAAKYEACD8AQEAAAABkQIBAAAAAZ4CQAAAAAGfAkAAAAABoQIBAAAAAaICAQAAAAGuAgEAAAABrwIBAAAAAbACAACdBAAgsQKAAAAAAbICAACeBAAgswKAAAAAAbQCAQAAAAG1AgAAnwQAILYCAQAAAAG3AoAAAAABuAIBAAAAAbkCAACgBAAgugKAAAAAAbsCAQAAAAG8AgEAAAABvQIAAKEEACC-AoAAAAABvwKAAAAAAcECAQAAAAHCAgAAogQAIMMCAQAAAAHEAgAAowQAIMUCAQAAAAHGAoAAAAABxwJAAAAAAcgCQAAAAAHJAkAAAAABAgAAANEBACATAACcBAAgAwAAANEBACATAACcBAAgFAAAmwQAIAEMAAC-BQAwKZUBAACGAwAglgEAAKYDACCXAQAApwMAIJgBAACoAwAg-QEAAKMDADD6AQAA3QEAEPsBAACjAwAw_AEBAAAAAZECAQAAAAGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGiAgEAhAMAIa4CAQCEAwAhrwIBAIUDACGwAgAA9gIAILECAACkAwAgsgIAAPYCACCzAgAApAMAILQCAQCFAwAhtQIAAPYCACC2AgEAhQMAIbcCAACkAwAguAIBAIUDACG5AgAA9gIAILoCAACkAwAguwIBAIUDACG8AgEAhQMAIb0CAAD2AgAgvgIAAKQDACC_AgAApAMAIMACAQCFAwAhwQIBAIUDACHCAgAA9gIAIMMCAQCFAwAhxAIAAPYCACDFAgEAhQMAIcYCAACkAwAgxwJAAKUDACHIAkAApQMAIckCQAClAwAhAgAAANEBACAMAACbBAAgAgAAAJkEACAMAACaBAAgJfkBAACYBAAw-gEAAJkEABD7AQAAmAQAMPwBAQCEAwAhkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGiAgEAhAMAIa4CAQCEAwAhrwIBAIUDACGwAgAA9gIAILECAACkAwAgsgIAAPYCACCzAgAApAMAILQCAQCFAwAhtQIAAPYCACC2AgEAhQMAIbcCAACkAwAguAIBAIUDACG5AgAA9gIAILoCAACkAwAguwIBAIUDACG8AgEAhQMAIb0CAAD2AgAgvgIAAKQDACC_AgAApAMAIMACAQCFAwAhwQIBAIUDACHCAgAA9gIAIMMCAQCFAwAhxAIAAPYCACDFAgEAhQMAIcYCAACkAwAgxwJAAKUDACHIAkAApQMAIckCQAClAwAhJfkBAACYBAAw-gEAAJkEABD7AQAAmAQAMPwBAQCEAwAhkQIBAIQDACGeAkAAmQMAIZ8CQACZAwAhoQIBAIQDACGiAgEAhAMAIa4CAQCEAwAhrwIBAIUDACGwAgAA9gIAILECAACkAwAgsgIAAPYCACCzAgAApAMAILQCAQCFAwAhtQIAAPYCACC2AgEAhQMAIbcCAACkAwAguAIBAIUDACG5AgAA9gIAILoCAACkAwAguwIBAIUDACG8AgEAhQMAIb0CAAD2AgAgvgIAAKQDACC_AgAApAMAIMACAQCFAwAhwQIBAIUDACHCAgAA9gIAIMMCAQCFAwAhxAIAAPYCACDFAgEAhQMAIcYCAACkAwAgxwJAAKUDACHIAkAApQMAIckCQAClAwAhIfwBAQDWAwAhkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANYDACGiAgEA1gMAIa4CAQDWAwAhrwIBANkDACGwAgAAhgQAILECgAAAAAGyAgAAhwQAILMCgAAAAAG0AgEA2QMAIbUCAACIBAAgtgIBANkDACG3AoAAAAABuAIBANkDACG5AgAAiQQAILoCgAAAAAG7AgEA2QMAIbwCAQDZAwAhvQIAAIoEACC-AoAAAAABvwKAAAAAAcECAQDZAwAhwgIAAIsEACDDAgEA2QMAIcQCAACMBAAgxQIBANkDACHGAoAAAAABxwJAANcDACHIAkAA1wMAIckCQADXAwAhJJUBAACNBAAglgEAAI4EACCYAQAAkAQAIPwBAQDWAwAhkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANYDACGiAgEA1gMAIa4CAQDWAwAhrwIBANkDACGwAgAAhgQAILECgAAAAAGyAgAAhwQAILMCgAAAAAG0AgEA2QMAIbUCAACIBAAgtgIBANkDACG3AoAAAAABuAIBANkDACG5AgAAiQQAILoCgAAAAAG7AgEA2QMAIbwCAQDZAwAhvQIAAIoEACC-AoAAAAABvwKAAAAAAcECAQDZAwAhwgIAAIsEACDDAgEA2QMAIcQCAACMBAAgxQIBANkDACHGAoAAAAABxwJAANcDACHIAkAA1wMAIckCQADXAwAhJJUBAACkBAAglgEAAKUEACCYAQAApgQAIPwBAQAAAAGRAgEAAAABngJAAAAAAZ8CQAAAAAGhAgEAAAABogIBAAAAAa4CAQAAAAGvAgEAAAABsAIAAJ0EACCxAoAAAAABsgIAAJ4EACCzAoAAAAABtAIBAAAAAbUCAACfBAAgtgIBAAAAAbcCgAAAAAG4AgEAAAABuQIAAKAEACC6AoAAAAABuwIBAAAAAbwCAQAAAAG9AgAAoQQAIL4CgAAAAAG_AoAAAAABwQIBAAAAAcICAACiBAAgwwIBAAAAAcQCAACjBAAgxQIBAAAAAcYCgAAAAAHHAkAAAAAByAJAAAAAAckCQAAAAAEB7wIBAAAABAHvAgEAAAAEAe8CAQAAAAQB7wIBAAAABAHvAgEAAAAEAe8CAQAAAAQB7wIBAAAABAQTAACsBAAw7AIAAK0EADDuAgAArgQAIPICAADoAwAwBBMAAKcEADDsAgAAqAQAMO4CAACpBAAg8gIAAKoEADAEEwAAkQQAMOwCAACSBAAw7gIAAJQEACDyAgAAlQQAMAf8AQEAAAABngJAAAAAAZ8CQAAAAAGqAgEAAAABqwIBAAAAAawCAQAAAAGtAkAAAAABAgAAANsBACATAACrBAAgAQwAAL0FADAMlAEAAKoDACD5AQAAqQMAMPoBAADZAQAQ-wEAAKkDADD8AQEAAAAB_gEBAIQDACGeAkAAmQMAIZ8CQACZAwAhqgIBAIQDACGrAgEAhAMAIawCAQCEAwAhrQJAAKUDACEH_AEBAAAAAZ4CQAAAAAGfAkAAAAABqgIBAAAAAasCAQAAAAGsAgEAAAABrQJAAAAAAQeTAQAA3gMAIPwBAgAAAAH9AQEAAAAB_wEBAAAAAYACQAAAAAGBAgAA3QMAIIICAQAAAAECAAAA1QEAIBMAAK8EACABDAAAvAUAMAeTAQAA3gMAIPwBAgAAAAH9AQEAAAAB_wEBAAAAAYACQAAAAAGBAgAA3QMAIIICAQAAAAEDAAAA2wEAIBMAAKsEACAUAAC2BAAgAgAAANsBACAMAAC2BAAgAgAAALQEACAMAAC1BAAgC_kBAACzBAAw-gEAALQEABD7AQAAswQAMPwBAQCEAwAh_gEBAIQDACGeAkAAmQMAIZ8CQACZAwAhqgIBAIQDACGrAgEAhAMAIawCAQCEAwAhrQJAAKUDACEL-QEAALMEADD6AQAAtAQAEPsBAACzBAAw_AEBAIQDACH-AQEAhAMAIZ4CQACZAwAhnwJAAJkDACGqAgEAhAMAIasCAQCEAwAhrAIBAIQDACGtAkAApQMAIQf8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACGqAgEA1gMAIasCAQDWAwAhrAIBANYDACGtAkAA1wMAIQf8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACGqAgEA1gMAIasCAQDWAwAhrAIBANYDACGtAkAA1wMAIQMAAADVAQAgEwAArwQAIBQAALsEACACAAAA1QEAIAwAALsEACACAAAA7AMAIAwAALoEACAG_AECANoDACH9AQEA1gMAIf8BAQDWAwAhgAJAANcDACGBAgAA2AMAIIICAQDZAwAhB5MBAADbAwAg_AECANoDACH9AQEA1gMAIf8BAQDWAwAhgAJAANcDACGBAgAA2AMAIIICAQDZAwAhAxMAALoFACDsAgAAuwUAIPICAADRAQAgABiVAQAA8QMAIJYBAAC9BAAglwEAAL4EACCYAQAAvwQAIK8CAADQAwAgsQIAANADACCzAgAA0AMAILQCAADQAwAgtgIAANADACC3AgAA0AMAILgCAADQAwAgugIAANADACC7AgAA0AMAILwCAADQAwAgvgIAANADACC_AgAA0AMAIMACAADQAwAgwQIAANADACDDAgAA0AMAIMUCAADQAwAgxgIAANADACDHAgAA0AMAIMgCAADQAwAgyQIAANADACAAApIBAADxAwAgggIAANADACAAAAAB7wIAAADMAgIC7wIBAAAABPUCAQAAAAUB7wIBAAAABAAAAAAABRMAALIFACAUAAC4BQAg7AIAALMFACDtAgAAtwUAIPICAACJAQAgBRMAALAFACAUAAC1BQAg7AIAALEFACDtAgAAtAUAIPICAABpACADEwAAsgUAIOwCAACzBQAg8gIAAIkBACADEwAAsAUAIOwCAACxBQAg8gIAAGkAIAAAAAsTAADUBAAwFAAA2QQAMOwCAADVBAAw7QIAANYEADDuAgAA1wQAIO8CAADYBAAw8AIAANgEADDxAgAA2AQAMPICAADYBAAw8wIAANoEADD0AgAA2wQAMANPAADPBAAg_AECAAAAAdACAQAAAAECAAAAbQAgEwAA3wQAIAMAAABtACATAADfBAAgFAAA3gQAIAEMAACvBQAwCU4AAL0DACBPAAC-AwAg-QEAALwDADD6AQAAawAQ-wEAALwDADD8AQIAAAABzwIBAIQDACHQAgEAhAMAIdQCAAC7AwAgAgAAAG0AIAwAAN4EACACAAAA3AQAIAwAAN0EACAG-QEAANsEADD6AQAA3AQAEPsBAADbBAAw_AECAJcDACHPAgEAhAMAIdACAQCEAwAhBvkBAADbBAAw-gEAANwEABD7AQAA2wQAMPwBAgCXAwAhzwIBAIQDACHQAgEAhAMAIQL8AQIA2gMAIdACAQDWAwAhA08AAM0EACD8AQIA2gMAIdACAQDWAwAhA08AAM8EACD8AQIAAAAB0AIBAAAAAQQTAADUBAAw7AIAANUEADDuAgAA1wQAIPICAADYBAAwAAAAAAsTAADmBAAwFAAA6gQAMOwCAADnBAAw7QIAAOgEADDuAgAA6QQAIO8CAADYBAAw8AIAANgEADDxAgAA2AQAMPICAADYBAAw8wIAAOsEADD0AgAA2wQAMANOAADOBAAg_AECAAAAAc8CAQAAAAECAAAAbQAgEwAA7gQAIAMAAABtACATAADuBAAgFAAA7QQAIAEMAACuBQAwAgAAAG0AIAwAAO0EACACAAAA3AQAIAwAAOwEACAC_AECANoDACHPAgEA1gMAIQNOAADMBAAg_AECANoDACHPAgEA1gMAIQNOAADOBAAg_AECAAAAAc8CAQAAAAEEEwAA5gQAMOwCAADnBAAw7gIAAOkEACDyAgAA2AQAMANNAADhBAAgoQIAANADACDRAgAA0AMAIAJNAADhBAAg0QIAANADACAAAAAAAAAFEwAAqQUAIBQAAKwFACDsAgAAqgUAIO0CAACrBQAg8gIAAAEAIAMTAACpBQAg7AIAAKoFACDyAgAAAQAgAAAABRMAAKQFACAUAACnBQAg7AIAAKUFACDtAgAApgUAIPICAAABACADEwAApAUAIOwCAAClBQAg8gIAAAEAIAAAAAHvAiAAAAABCxMAAJEFADAUAACWBQAw7AIAAJIFADDtAgAAkwUAMO4CAACUBQAg7wIAAJUFADDwAgAAlQUAMPECAACVBQAw8gIAAJUFADDzAgAAlwUAMPQCAACYBQAwCxMAAIUFADAUAACKBQAw7AIAAIYFADDtAgAAhwUAMO4CAACIBQAg7wIAAIkFADDwAgAAiQUAMPECAACJBQAw8gIAAIkFADDzAgAAiwUAMPQCAACMBQAwB_wBAQAAAAGeAkAAAAABnwJAAAAAAdcCQAAAAAHjAgEAAAAB5AIBAAAAAeUCAQAAAAECAAAACQAgEwAAkAUAIAMAAAAJACATAACQBQAgFAAAjwUAIAEMAACjBQAwDAMAAM0DACD5AQAAzAMAMPoBAAAHABD7AQAAzAMAMPwBAQAAAAGeAkAAmQMAIZ8CQACZAwAh1wJAAJkDACHZAgEAhAMAIeMCAQAAAAHkAgEAhQMAIeUCAQCFAwAhAgAAAAkAIAwAAI8FACACAAAAjQUAIAwAAI4FACAL-QEAAIwFADD6AQAAjQUAEPsBAACMBQAw_AEBAIQDACGeAkAAmQMAIZ8CQACZAwAh1wJAAJkDACHZAgEAhAMAIeMCAQCEAwAh5AIBAIUDACHlAgEAhQMAIQv5AQAAjAUAMPoBAACNBQAQ-wEAAIwFADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHXAkAAmQMAIdkCAQCEAwAh4wIBAIQDACHkAgEAhQMAIeUCAQCFAwAhB_wBAQDWAwAhngJAAPoDACGfAkAA-gMAIdcCQAD6AwAh4wIBANYDACHkAgEA2QMAIeUCAQDZAwAhB_wBAQDWAwAhngJAAPoDACGfAkAA-gMAIdcCQAD6AwAh4wIBANYDACHkAgEA2QMAIeUCAQDZAwAhB_wBAQAAAAGeAkAAAAABnwJAAAAAAdcCQAAAAAHjAgEAAAAB5AIBAAAAAeUCAQAAAAEM_AEBAAAAAZ4CQAAAAAGfAkAAAAAB2gIBAAAAAdsCAQAAAAHcAgEAAAAB3QIBAAAAAd4CQAAAAAHfAkAAAAAB4AIBAAAAAeECAQAAAAHiAgEAAAABAgAAAAUAIBMAAJwFACADAAAABQAgEwAAnAUAIBQAAJsFACABDAAAogUAMBIDAADNAwAg-QEAAM8DADD6AQAAAwAQ-wEAAM8DADD8AQEAAAABngJAAJkDACGfAkAAmQMAIdkCAQCEAwAh2gIBAIQDACHbAgEAhAMAIdwCAQCFAwAh3QIBAIUDACHeAkAApQMAId8CQAClAwAh4AIBAIUDACHhAgEAhQMAIeICAQCFAwAh6QIAAM4DACACAAAABQAgDAAAmwUAIAIAAACZBQAgDAAAmgUAIBD5AQAAmAUAMPoBAACZBQAQ-wEAAJgFADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHZAgEAhAMAIdoCAQCEAwAh2wIBAIQDACHcAgEAhQMAId0CAQCFAwAh3gJAAKUDACHfAkAApQMAIeACAQCFAwAh4QIBAIUDACHiAgEAhQMAIRD5AQAAmAUAMPoBAACZBQAQ-wEAAJgFADD8AQEAhAMAIZ4CQACZAwAhnwJAAJkDACHZAgEAhAMAIdoCAQCEAwAh2wIBAIQDACHcAgEAhQMAId0CAQCFAwAh3gJAAKUDACHfAkAApQMAIeACAQCFAwAh4QIBAIUDACHiAgEAhQMAIQz8AQEA1gMAIZ4CQAD6AwAhnwJAAPoDACHaAgEA1gMAIdsCAQDWAwAh3AIBANkDACHdAgEA2QMAId4CQADXAwAh3wJAANcDACHgAgEA2QMAIeECAQDZAwAh4gIBANkDACEM_AEBANYDACGeAkAA-gMAIZ8CQAD6AwAh2gIBANYDACHbAgEA1gMAIdwCAQDZAwAh3QIBANkDACHeAkAA1wMAId8CQADXAwAh4AIBANkDACHhAgEA2QMAIeICAQDZAwAhDPwBAQAAAAGeAkAAAAABnwJAAAAAAdoCAQAAAAHbAgEAAAAB3AIBAAAAAd0CAQAAAAHeAkAAAAAB3wJAAAAAAeACAQAAAAHhAgEAAAAB4gIBAAAAAQQTAACRBQAw7AIAAJIFADDuAgAAlAUAIPICAACVBQAwBBMAAIUFADDsAgAAhgUAMO4CAACIBQAg8gIAAIkFADAAAAUEAACfBQAgBQAAoAUAIJUCAADQAwAg0QIAANADACDnAgAA0AMAIAz8AQEAAAABngJAAAAAAZ8CQAAAAAHaAgEAAAAB2wIBAAAAAdwCAQAAAAHdAgEAAAAB3gJAAAAAAd8CQAAAAAHgAgEAAAAB4QIBAAAAAeICAQAAAAEH_AEBAAAAAZ4CQAAAAAGfAkAAAAAB1wJAAAAAAeMCAQAAAAHkAgEAAAAB5QIBAAAAAQkEAACdBQAg_AEBAAAAAZUCAQAAAAGeAkAAAAABnwJAAAAAAdECAQAAAAHmAiAAAAAB5wIBAAAAAegCAQAAAAECAAAAAQAgEwAApAUAIAMAAAAOACATAACkBQAgFAAAqAUAIAsAAAAOACAEAACDBQAgDAAAqAUAIPwBAQDWAwAhlQIBANkDACGeAkAA-gMAIZ8CQAD6AwAh0QIBANkDACHmAiAAggUAIecCAQDZAwAh6AIBANYDACEJBAAAgwUAIPwBAQDWAwAhlQIBANkDACGeAkAA-gMAIZ8CQAD6AwAh0QIBANkDACHmAiAAggUAIecCAQDZAwAh6AIBANYDACEJBQAAngUAIPwBAQAAAAGVAgEAAAABngJAAAAAAZ8CQAAAAAHRAgEAAAAB5gIgAAAAAecCAQAAAAHoAgEAAAABAgAAAAEAIBMAAKkFACADAAAADgAgEwAAqQUAIBQAAK0FACALAAAADgAgBQAAhAUAIAwAAK0FACD8AQEA1gMAIZUCAQDZAwAhngJAAPoDACGfAkAA-gMAIdECAQDZAwAh5gIgAIIFACHnAgEA2QMAIegCAQDWAwAhCQUAAIQFACD8AQEA1gMAIZUCAQDZAwAhngJAAPoDACGfAkAA-gMAIdECAQDZAwAh5gIgAIIFACHnAgEA2QMAIegCAQDWAwAhAvwBAgAAAAHPAgEAAAABAvwBAgAAAAHQAgEAAAABBpECAQAAAAGeAkAAAAABnwJAAAAAAdECAQAAAAHSAgEAAAAB0wIBAAAAAQIAAABpACATAACwBQAgBZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAHRAgEAAAABAgAAAIkBACATAACyBQAgAwAAAHMAIBMAALAFACAUAAC2BQAgCAAAAHMAIAwAALYFACCRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACHRAgEA2QMAIdICAQDWAwAh0wIBANYDACEGkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAh0QIBANkDACHSAgEA1gMAIdMCAQDWAwAhAwAAAIwBACATAACyBQAgFAAAuQUAIAcAAACMAQAgDAAAuQUAIJECAQDWAwAhngJAAPoDACGfAkAA-gMAIaECAQDZAwAh0QIBANkDACEFkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANkDACHRAgEA2QMAISWVAQAApAQAIJYBAAClBAAglwEAALwEACD8AQEAAAABkQIBAAAAAZ4CQAAAAAGfAkAAAAABoQIBAAAAAaICAQAAAAGuAgEAAAABrwIBAAAAAbACAACdBAAgsQKAAAAAAbICAACeBAAgswKAAAAAAbQCAQAAAAG1AgAAnwQAILYCAQAAAAG3AoAAAAABuAIBAAAAAbkCAACgBAAgugKAAAAAAbsCAQAAAAG8AgEAAAABvQIAAKEEACC-AoAAAAABvwKAAAAAAcACAQAAAAHBAgEAAAABwgIAAKIEACDDAgEAAAABxAIAAKMEACDFAgEAAAABxgKAAAAAAccCQAAAAAHIAkAAAAAByQJAAAAAAQIAAADRAQAgEwAAugUAIAb8AQIAAAAB_QEBAAAAAf8BAQAAAAGAAkAAAAABgQIAAN0DACCCAgEAAAABB_wBAQAAAAGeAkAAAAABnwJAAAAAAaoCAQAAAAGrAgEAAAABrAIBAAAAAa0CQAAAAAEh_AEBAAAAAZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAGiAgEAAAABrgIBAAAAAa8CAQAAAAGwAgAAnQQAILECgAAAAAGyAgAAngQAILMCgAAAAAG0AgEAAAABtQIAAJ8EACC2AgEAAAABtwKAAAAAAbgCAQAAAAG5AgAAoAQAILoCgAAAAAG7AgEAAAABvAIBAAAAAb0CAAChBAAgvgKAAAAAAb8CgAAAAAHBAgEAAAABwgIAAKIEACDDAgEAAAABxAIAAKMEACDFAgEAAAABxgKAAAAAAccCQAAAAAHIAkAAAAAByQJAAAAAAQMAAADdAQAgEwAAugUAIBQAAMEFACAnAAAA3QEAIAwAAMEFACCVAQAAjQQAIJYBAACOBAAglwEAAI8EACD8AQEA1gMAIZECAQDWAwAhngJAAPoDACGfAkAA-gMAIaECAQDWAwAhogIBANYDACGuAgEA1gMAIa8CAQDZAwAhsAIAAIYEACCxAoAAAAABsgIAAIcEACCzAoAAAAABtAIBANkDACG1AgAAiAQAILYCAQDZAwAhtwKAAAAAAbgCAQDZAwAhuQIAAIkEACC6AoAAAAABuwIBANkDACG8AgEA2QMAIb0CAACKBAAgvgKAAAAAAb8CgAAAAAHAAgEA2QMAIcECAQDZAwAhwgIAAIsEACDDAgEA2QMAIcQCAACMBAAgxQIBANkDACHGAoAAAAABxwJAANcDACHIAkAA1wMAIckCQADXAwAhJZUBAACNBAAglgEAAI4EACCXAQAAjwQAIPwBAQDWAwAhkQIBANYDACGeAkAA-gMAIZ8CQAD6AwAhoQIBANYDACGiAgEA1gMAIa4CAQDWAwAhrwIBANkDACGwAgAAhgQAILECgAAAAAGyAgAAhwQAILMCgAAAAAG0AgEA2QMAIbUCAACIBAAgtgIBANkDACG3AoAAAAABuAIBANkDACG5AgAAiQQAILoCgAAAAAG7AgEA2QMAIbwCAQDZAwAhvQIAAIoEACC-AoAAAAABvwKAAAAAAcACAQDZAwAhwQIBANkDACHCAgAAiwQAIMMCAQDZAwAhxAIAAIwEACDFAgEA2QMAIcYCgAAAAAHHAkAA1wMAIcgCQADXAwAhyQJAANcDACEllQEAAKQEACCXAQAAvAQAIJgBAACmBAAg_AEBAAAAAZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAGiAgEAAAABrgIBAAAAAa8CAQAAAAGwAgAAnQQAILECgAAAAAGyAgAAngQAILMCgAAAAAG0AgEAAAABtQIAAJ8EACC2AgEAAAABtwKAAAAAAbgCAQAAAAG5AgAAoAQAILoCgAAAAAG7AgEAAAABvAIBAAAAAb0CAAChBAAgvgKAAAAAAb8CgAAAAAHAAgEAAAABwQIBAAAAAcICAACiBAAgwwIBAAAAAcQCAACjBAAgxQIBAAAAAcYCgAAAAAHHAkAAAAAByAJAAAAAAckCQAAAAAECAAAA0QEAIBMAAMIFACADAAAA3QEAIBMAAMIFACAUAADGBQAgJwAAAN0BACAMAADGBQAglQEAAI0EACCXAQAAjwQAIJgBAACQBAAg_AEBANYDACGRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIaICAQDWAwAhrgIBANYDACGvAgEA2QMAIbACAACGBAAgsQKAAAAAAbICAACHBAAgswKAAAAAAbQCAQDZAwAhtQIAAIgEACC2AgEA2QMAIbcCgAAAAAG4AgEA2QMAIbkCAACJBAAgugKAAAAAAbsCAQDZAwAhvAIBANkDACG9AgAAigQAIL4CgAAAAAG_AoAAAAABwAIBANkDACHBAgEA2QMAIcICAACLBAAgwwIBANkDACHEAgAAjAQAIMUCAQDZAwAhxgKAAAAAAccCQADXAwAhyAJAANcDACHJAkAA1wMAISWVAQAAjQQAIJcBAACPBAAgmAEAAJAEACD8AQEA1gMAIZECAQDWAwAhngJAAPoDACGfAkAA-gMAIaECAQDWAwAhogIBANYDACGuAgEA1gMAIa8CAQDZAwAhsAIAAIYEACCxAoAAAAABsgIAAIcEACCzAoAAAAABtAIBANkDACG1AgAAiAQAILYCAQDZAwAhtwKAAAAAAbgCAQDZAwAhuQIAAIkEACC6AoAAAAABuwIBANkDACG8AgEA2QMAIb0CAACKBAAgvgKAAAAAAb8CgAAAAAHAAgEA2QMAIcECAQDZAwAhwgIAAIsEACDDAgEA2QMAIcQCAACMBAAgxQIBANkDACHGAoAAAAABxwJAANcDACHIAkAA1wMAIckCQADXAwAhBvwBAgAAAAH-AQEAAAAB_wEBAAAAAYACQAAAAAGBAgAA3QMAIIICAQAAAAEllgEAAKUEACCXAQAAvAQAIJgBAACmBAAg_AEBAAAAAZECAQAAAAGeAkAAAAABnwJAAAAAAaECAQAAAAGiAgEAAAABrgIBAAAAAa8CAQAAAAGwAgAAnQQAILECgAAAAAGyAgAAngQAILMCgAAAAAG0AgEAAAABtQIAAJ8EACC2AgEAAAABtwKAAAAAAbgCAQAAAAG5AgAAoAQAILoCgAAAAAG7AgEAAAABvAIBAAAAAb0CAAChBAAgvgKAAAAAAb8CgAAAAAHAAgEAAAABwQIBAAAAAcICAACiBAAgwwIBAAAAAcQCAACjBAAgxQIBAAAAAcYCgAAAAAHHAkAAAAAByAJAAAAAAckCQAAAAAECAAAA0QEAIBMAAMgFACACggIBAAAAAZECAQAAAAECAAAAwwIAIBMAAMoFACADAAAA3QEAIBMAAMgFACAUAADOBQAgJwAAAN0BACAMAADOBQAglgEAAI4EACCXAQAAjwQAIJgBAACQBAAg_AEBANYDACGRAgEA1gMAIZ4CQAD6AwAhnwJAAPoDACGhAgEA1gMAIaICAQDWAwAhrgIBANYDACGvAgEA2QMAIbACAACGBAAgsQKAAAAAAbICAACHBAAgswKAAAAAAbQCAQDZAwAhtQIAAIgEACC2AgEA2QMAIbcCgAAAAAG4AgEA2QMAIbkCAACJBAAgugKAAAAAAbsCAQDZAwAhvAIBANkDACG9AgAAigQAIL4CgAAAAAG_AoAAAAABwAIBANkDACHBAgEA2QMAIcICAACLBAAgwwIBANkDACHEAgAAjAQAIMUCAQDZAwAhxgKAAAAAAccCQADXAwAhyAJAANcDACHJAkAA1wMAISWWAQAAjgQAIJcBAACPBAAgmAEAAJAEACD8AQEA1gMAIZECAQDWAwAhngJAAPoDACGfAkAA-gMAIaECAQDWAwAhogIBANYDACGuAgEA1gMAIa8CAQDZAwAhsAIAAIYEACCxAoAAAAABsgIAAIcEACCzAoAAAAABtAIBANkDACG1AgAAiAQAILYCAQDZAwAhtwKAAAAAAbgCAQDZAwAhuQIAAIkEACC6AoAAAAABuwIBANkDACG8AgEA2QMAIb0CAACKBAAgvgKAAAAAAb8CgAAAAAHAAgEA2QMAIcECAQDZAwAhwgIAAIsEACDDAgEA2QMAIcQCAACMBAAgxQIBANkDACHGAoAAAAABxwJAANcDACHIAkAA1wMAIckCQADXAwAhAwAAAMYCACATAADKBQAgFAAA0QUAIAQAAADGAgAgDAAA0QUAIIICAQDZAwAhkQIBANYDACECggIBANkDACGRAgEA1gMAIQMEBgIFCgMGAAQBAwABAQMAAQIECwAFDAAAAAADBgAJGQAKGgALAAAAAwYACRkAChoACwEDAAEBAwABAwYAEBkAERoAEgAAAAMGABAZABEaABIBAwABAQMAAQMGABcZABgaABkAAAADBgAXGQAYGgAZAAAAAwYAHxkAIBoAIQAAAAMGAB8ZACAaACECBgAnTW4kAk4AJU8AIwIGACZNbyQBTXAAAU1xAAAAAwYAKxkALBoALQAAAAMGACsZACwaAC0AAAMGADIZADMaADQAAAADBgAyGQAzGgA0Ak4AJU8AIwJOACVPACMFBgA5GQA8GgA9fgA6fwA7AAAAAAAFBgA5GQA8GgA9fgA6fwA7AAAAAwYAQxkARBoARQAAAAMGAEMZAEQaAEUFBgBMlQHWAUiWAdwBS5cB3gFHmAHgAUcCkwEASZQBAEcCBgBKkgHXAUgBkgHYAQABlAEARwOVAeEBAJYB4gEAmAHjAQABlwHtAUcBlwHzAUcDBgBQGQBRGgBSAAAAAwYAUBkAURoAUgGUAQBHAZQBAEcDBgBXGQBYGgBZAAAAAwYAVxkAWBoAWQAAAAMGAF8ZAGAaAGEAAAADBgBfGQBgGgBhAAAABQYAZxkAahoAa34AaH8AaQAAAAAABQYAZxkAahoAa34AaH8AaQAAAwYAcBkAcRoAcgAAAAMGAHAZAHEaAHICkwEASZQBAEcCkwEASZQBAEcFBgB3GQB6GgB7fgB4fwB5AAAAAAAFBgB3GQB6GgB7fgB4fwB5BwIBCA0BCRABChEBCxIBDRQBDhYFDxcGEBkBERsFEhwHFR0BFh4BFx8FGyIIHCMMHSQDHiUDHyYDICcDISgDIioDIywFJC0NJS8DJjEFJzIOKDMDKTQDKjUFKzgPLDkTLToCLjsCLzwCMD0CMT4CMkACM0IFNEMUNUUCNkcFN0gVOEkCOUoCOksFO04WPE8aPVEbPlIbP1UbQFYbQVcbQlkbQ1sFRFwcRV4bRmAFR2EdSGIbSWMbSmQFS2ceTGgiUGojUXIjUnUjU3YjVHcjVXkjVnsFV3woWH4jWYABBVqBASlbggEjXIMBI12EAQVehwEqX4gBLmCKASVhiwElYo4BJWOPASVkkAElZZIBJWaUAQVnlQEvaJcBJWmZAQVqmgEwa5sBJWycASVtnQEFbqABMW-hATVwogEkcaMBJHKkASRzpQEkdKYBJHWoASR2qgEFd6sBNnitASR5rwEFerABN3uxASR8sgEkfbMBBYABtgE4gQG3AT6CAbkBP4MBugE_hAG9AT-FAb4BP4YBvwE_hwHBAT-IAcMBBYkBxAFAigHGAT-LAcgBBYwByQFBjQHKAT-OAcsBP48BzAEFkAHPAUKRAdABRpkB0gFHmgHkAUebAeUBR5wB5gFHnQHnAUeeAekBR58B6wEFoAHsAU2hAe8BR6IB8QEFowHyAU6kAfQBR6UB9QFHpgH2AQWnAfkBT6gB-gFTqQH7AUuqAfwBS6sB_QFLrAH-AUutAf8BS64BgQJLrwGDAgWwAYQCVLEBhgJLsgGIAgWzAYkCVbQBigJLtQGLAku2AYwCBbcBjwJWuAGQAlq5AZICW7oBkwJbuwGWAlu8AZcCW70BmAJbvgGaAlu_AZwCBcABnQJcwQGfAlvCAaECBcMBogJdxAGjAlvFAaQCW8YBpQIFxwGoAl7IAakCYskBqwJjygGsAmPLAa8CY8wBsAJjzQGxAmPOAbMCY88BtQIF0AG2AmTRAbgCY9IBugIF0wG7AmXUAbwCY9UBvQJj1gG-AgXXAcECZtgBwgJs2QHEAknaAcUCSdsByAJJ3AHJAkndAcoCSd4BzAJJ3wHOAgXgAc8CbeEB0QJJ4gHTAgXjAdQCbuQB1QJJ5QHWAknmAdcCBecB2gJv6AHbAnPpAdwCSOoB3QJI6wHeAkjsAd8CSO0B4AJI7gHiAkjvAeQCBfAB5QJ08QHnAkjyAekCBfMB6gJ19AHrAkj1AewCSPYB7QIF9wHwAnb4AfECfA"
|
|
24
24
|
};
|
|
25
25
|
async function decodeBase64AsWasm(wasmBase64) {
|
|
26
26
|
const { Buffer } = await import("node:buffer");
|