@igstack/app-catalog-backend-core 0.18.3 → 0.18.4-alpha-20260904221337

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.
Files changed (34) hide show
  1. package/dist/db/syncAppCatalog.mjs +1 -2
  2. package/dist/db/syncAppCatalog.mjs.map +1 -1
  3. package/dist/generated/prisma/internal/class.mjs +4 -4
  4. package/dist/generated/prisma/internal/class.mjs.map +1 -1
  5. package/dist/generated/prisma/internal/prismaNamespace.d.mts +2 -3
  6. package/dist/generated/prisma/internal/prismaNamespace.d.mts.map +1 -1
  7. package/dist/generated/prisma/models/DbResource.d.mts +40 -82
  8. package/dist/generated/prisma/models/DbResource.d.mts.map +1 -1
  9. package/dist/generated/prisma/models.d.mts +1 -1
  10. package/dist/index.d.mts +2 -2
  11. package/dist/modules/appCatalog/service.d.mts.map +1 -1
  12. package/dist/modules/appCatalog/service.mjs +1 -2
  13. package/dist/modules/appCatalog/service.mjs.map +1 -1
  14. package/dist/modules/lighthouseKeeper/tools.d.mts +1 -1
  15. package/dist/modules/lighthouseKeeper/tools.mjs +1 -1
  16. package/dist/modules/lighthouseKeeper/tools.mjs.map +1 -1
  17. package/dist/types/common/appCatalogTypes.d.mts +2 -4
  18. package/dist/types/common/appCatalogTypes.d.mts.map +1 -1
  19. package/dist/types/common/approvalMethodTypes.d.mts +3 -2
  20. package/dist/types/common/approvalMethodTypes.d.mts.map +1 -1
  21. package/dist/types/common/personGroupTypes.d.mts +7 -1
  22. package/dist/types/common/personGroupTypes.d.mts.map +1 -1
  23. package/package.json +4 -4
  24. package/prisma/schema.prisma +2 -2
  25. package/src/db/syncAppCatalog.ts +1 -2
  26. package/src/generated/prisma/internal/class.ts +4 -4
  27. package/src/generated/prisma/internal/prismaNamespace.ts +1 -2
  28. package/src/generated/prisma/internal/prismaNamespaceBrowser.ts +1 -2
  29. package/src/generated/prisma/models/DbResource.ts +40 -83
  30. package/src/modules/appCatalog/service.ts +1 -4
  31. package/src/modules/lighthouseKeeper/tools.ts +1 -1
  32. package/src/types/common/appCatalogTypes.ts +2 -4
  33. package/src/types/common/approvalMethodTypes.ts +3 -2
  34. package/src/types/common/personGroupTypes.ts +7 -0
@@ -159,10 +159,9 @@ async function syncAppCatalog(resources, tagsDefinitions, approvalMethods, scree
159
159
  tiers: resource.tiers ?? null,
160
160
  parentSlug: resource.parentSlug ?? null,
161
161
  tier: resource.tier ?? null,
162
- familySlug: resource.familySlug ?? null,
163
162
  aliases: resource.aliases ?? [],
164
163
  ownerPersonSlug: resource.ownerPersonSlug ?? null,
165
- accessMaintainerGroupSlugs: resource.accessMaintainerGroupSlugs ?? [],
164
+ approverSlugs: resource.approverSlugs ?? [],
166
165
  accessComments: resource.accessComments ?? null,
167
166
  extra: resource.extra ?? null,
168
167
  lastCheckedAt: resource.lastCheckedAt ? new Date(resource.lastCheckedAt) : null,
@@ -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 familySlug: resource.familySlug ?? null,\n aliases: resource.aliases ?? [],\n ownerPersonSlug: resource.ownerPersonSlug ?? null,\n accessMaintainerGroupSlugs: resource.accessMaintainerGroupSlugs ?? [],\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 // 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 // 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 familySlug String? // groups tier variants visually\n aliases String[] @default([])\n ownerPersonSlug String?\n accessMaintainerGroupSlugs String[] @default([])\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\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 sourceRefs SourceReference[]\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\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\":\"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\":\"familySlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"aliases\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ownerPersonSlug\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"accessMaintainerGroupSlugs\",\"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},\"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\":\"sourceRefs\",\"kind\":\"object\",\"type\":\"SourceReference\",\"relationName\":\"DbResourceToSourceReference\"},{\"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},\"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\",\"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\",\"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\",\"type\",\"abbreviation\",\"nicknames\",\"access\",\"teams\",\"accessRequest\",\"notes\",\"tags\",\"appUrl\",\"links\",\"iconName\",\"screenshotIds\",\"deprecated\",\"aiPrompt\",\"aiMemory\",\"urlIssues\",\"tiers\",\"parentSlug\",\"tier\",\"familySlug\",\"aliases\",\"ownerPersonSlug\",\"accessMaintainerGroupSlugs\",\"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: "mQV00AENBAAArAMAIAUAAK0DACDoAQAAqgMAMOkBAAAOABDqAQAAqgMAMOsBAQAAAAGEAgEA6gIAIY0CQAD-AgAhjgJAAP4CACG8AgEAAAAB0QIgAKsDACHSAgEA6gIAIdMCAQDpAgAhAQAAAAEAIBEDAACvAwAg6AEAALEDADDpAQAAAwAQ6gEAALEDADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHEAgEA6QIAIcUCAQDpAgAhxgIBAOkCACHHAgEA6gIAIcgCAQDqAgAhyQJAAIkDACHKAkAAiQMAIcsCAQDqAgAhzAIBAOoCACHNAgEA6gIAIQgDAADvBAAgxwIAALIDACDIAgAAsgMAIMkCAACyAwAgygIAALIDACDLAgAAsgMAIMwCAACyAwAgzQIAALIDACASAwAArwMAIOgBAACxAwAw6QEAAAMAEOoBAACxAwAw6wEBAAAAAY0CQAD-AgAhjgJAAP4CACHEAgEA6QIAIcUCAQDpAgAhxgIBAOkCACHHAgEA6gIAIcgCAQDqAgAhyQJAAIkDACHKAkAAiQMAIcsCAQDqAgAhzAIBAOoCACHNAgEA6gIAIdQCAACwAwAgAwAAAAMAIAEAAAQAMAIAAAUAIAwDAACvAwAg6AEAAK4DADDpAQAABwAQ6gEAAK4DADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHCAkAA_gIAIcQCAQDpAgAhzgIBAOkCACHPAgEA6gIAIdACAQDqAgAhAwMAAO8EACDPAgAAsgMAINACAACyAwAgDAMAAK8DACDoAQAArgMAMOkBAAAHABDqAQAArgMAMOsBAQAAAAGNAkAA_gIAIY4CQAD-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_ACAN6wEBAAAAAY0CQAAAAAGOAkAAAAABxAIBAAAAAcUCAQAAAAHGAgEAAAABxwIBAAAAAcgCAQAAAAHJAkAAAAABygJAAAAAAcsCAQAAAAHMAgEAAAABzQIBAAAAAQEMAABBADABDAAAQQAwDgMAAMYEACDrAQEAuAMAIY0CQADcAwAhjgJAANwDACHEAgEAuAMAIcUCAQC4AwAhxgIBALgDACHHAgEAuwMAIcgCAQC7AwAhyQJAALkDACHKAkAAuQMAIcsCAQC7AwAhzAIBALsDACHNAgEAuwMAIQIAAAAFACAMAABEACAN6wEBALgDACGNAkAA3AMAIY4CQADcAwAhxAIBALgDACHFAgEAuAMAIcYCAQC4AwAhxwIBALsDACHIAgEAuwMAIckCQAC5AwAhygJAALkDACHLAgEAuwMAIcwCAQC7AwAhzQIBALsDACECAAAAAwAgDAAARgAgAgAAAAMAIAwAAEYAIAMAAAAFACATAAA_ACAUAABEACABAAAABQAgAQAAAAMAIAoGAADDBAAgGQAAxQQAIBoAAMQEACDHAgAAsgMAIMgCAACyAwAgyQIAALIDACDKAgAAsgMAIMsCAACyAwAgzAIAALIDACDNAgAAsgMAIBDoAQAApAMAMOkBAABNABDqAQAApAMAMOsBAQDZAgAhjQJAAPACACGOAkAA8AIAIcQCAQDZAgAhxQIBANkCACHGAgEA2QIAIccCAQDcAgAhyAIBANwCACHJAkAA2gIAIcoCQADaAgAhywIBANwCACHMAgEA3AIAIc0CAQDcAgAhAwAAAAMAIAEAAEwAMBgAAE0AIAMAAAADACABAAAEADACAAAFACAK6AEAAKIDADDpAQAAUwAQ6gEAAKIDADDrAQEAAAABjQJAAP4CACGOAkAA_gIAIcACAQDpAgAhwQIBAOkCACHCAkAA_gIAIcMCAACjAwAgAQAAAFAAIAEAAABQACAJ6AEAAKIDADDpAQAAUwAQ6gEAAKIDADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHAAgEA6QIAIcECAQDpAgAhwgJAAP4CACEAAwAAAFMAIAEAAFQAMAIAAFAAIAMAAABTACABAABUADACAABQACADAAAAUwAgAQAAVAAwAgAAUAAgBusBAQAAAAGNAkAAAAABjgJAAAAAAcACAQAAAAHBAgEAAAABwgJAAAAAAQEMAABYACAG6wEBAAAAAY0CQAAAAAGOAkAAAAABwAIBAAAAAcECAQAAAAHCAkAAAAABAQwAAFoAMAEMAABaADAG6wEBALgDACGNAkAA3AMAIY4CQADcAwAhwAIBALgDACHBAgEAuAMAIcICQADcAwAhAgAAAFAAIAwAAF0AIAbrAQEAuAMAIY0CQADcAwAhjgJAANwDACHAAgEAuAMAIcECAQC4AwAhwgJAANwDACECAAAAUwAgDAAAXwAgAgAAAFMAIAwAAF8AIAMAAABQACATAABYACAUAABdACABAAAAUAAgAQAAAFMAIAMGAADABAAgGQAAwgQAIBoAAMEEACAJ6AEAAKEDADDpAQAAZgAQ6gEAAKEDADDrAQEA2QIAIY0CQADwAgAhjgJAAPACACHAAgEA2QIAIcECAQDZAgAhwgJAAPACACEDAAAAUwAgAQAAZQAwGAAAZgAgAwAAAFMAIAEAAFQAMAIAAFAAIApNAACaAwAg6AEAAJwDADDpAQAAcwAQ6gEAAJwDADCAAgEAAAABjQJAAP4CACGOAkAA_gIAIbwCAQAAAAG9AgEA6QIAIb4CAQDpAgAhAQAAAGkAIAhOAACfAwAgTwAAoAMAIOgBAACeAwAw6QEAAGsAEOoBAACeAwAw6wECAPwCACG6AgEA6QIAIbsCAQDpAgAhAk4AAL4EACBPAAC_BAAgCU4AAJ8DACBPAACgAwAg6AEAAJ4DADDpAQAAawAQ6gEAAJ4DADDrAQIAAAABugIBAOkCACG7AgEA6QIAIb8CAACdAwAgAwAAAGsAIAEAAGwAMAIAAG0AIAMAAABrACABAABsADACAABtACABAAAAawAgAQAAAGsAIAEAAABpACAKTQAAmgMAIOgBAACcAwAw6QEAAHMAEOoBAACcAwAwgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhvAIBAOoCACG9AgEA6QIAIb4CAQDpAgAhAk0AAK8EACC8AgAAsgMAIAMAAABzACABAAB0ADACAABpACADAAAAcwAgAQAAdAAwAgAAaQAgAwAAAHMAIAEAAHQAMAIAAGkAIAdNAAC9BAAggAIBAAAAAY0CQAAAAAGOAkAAAAABvAIBAAAAAb0CAQAAAAG-AgEAAAABAQwAAHgAIAaAAgEAAAABjQJAAAAAAY4CQAAAAAG8AgEAAAABvQIBAAAAAb4CAQAAAAEBDAAAegAwAQwAAHoAMAdNAACzBAAggAIBALgDACGNAkAA3AMAIY4CQADcAwAhvAIBALsDACG9AgEAuAMAIb4CAQC4AwAhAgAAAGkAIAwAAH0AIAaAAgEAuAMAIY0CQADcAwAhjgJAANwDACG8AgEAuwMAIb0CAQC4AwAhvgIBALgDACECAAAAcwAgDAAAfwAgAgAAAHMAIAwAAH8AIAMAAABpACATAAB4ACAUAAB9ACABAAAAaQAgAQAAAHMAIAQGAACwBAAgGQAAsgQAIBoAALEEACC8AgAAsgMAIAnoAQAAmwMAMOkBAACGAQAQ6gEAAJsDADCAAgEA2QIAIY0CQADwAgAhjgJAAPACACG8AgEA3AIAIb0CAQDZAgAhvgIBANkCACEDAAAAcwAgAQAAhQEAMBgAAIYBACADAAAAcwAgAQAAdAAwAgAAaQAgCU0AAJoDACDoAQAAmQMAMOkBAACMAQAQ6gEAAJkDADCAAgEAAAABjQJAAP4CACGOAkAA_gIAIZACAQDqAgAhvAIBAOoCACEBAAAAiQEAIAEAAACJAQAgCU0AAJoDACDoAQAAmQMAMOkBAACMAQAQ6gEAAJkDADCAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6gIAIbwCAQDqAgAhA00AAK8EACCQAgAAsgMAILwCAACyAwAgAwAAAIwBACABAACNAQAwAgAAiQEAIAMAAACMAQAgAQAAjQEAMAIAAIkBACADAAAAjAEAIAEAAI0BADACAACJAQAgBk0AAK4EACCAAgEAAAABjQJAAAAAAY4CQAAAAAGQAgEAAAABvAIBAAAAAQEMAACRAQAgBYACAQAAAAGNAkAAAAABjgJAAAAAAZACAQAAAAG8AgEAAAABAQwAAJMBADABDAAAkwEAMAZNAAChBAAggAIBALgDACGNAkAA3AMAIY4CQADcAwAhkAIBALsDACG8AgEAuwMAIQIAAACJAQAgDAAAlgEAIAWAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuwMAIbwCAQC7AwAhAgAAAIwBACAMAACYAQAgAgAAAIwBACAMAACYAQAgAwAAAIkBACATAACRAQAgFAAAlgEAIAEAAACJAQAgAQAAAIwBACAFBgAAngQAIBkAAKAEACAaAACfBAAgkAIAALIDACC8AgAAsgMAIAjoAQAAmAMAMOkBAACfAQAQ6gEAAJgDADCAAgEA2QIAIY0CQADwAgAhjgJAAPACACGQAgEA3AIAIbwCAQDcAgAhAwAAAIwBACABAACeAQAwGAAAnwEAIAMAAACMAQAgAQAAjQEAMAIAAIkBACABAAAAbQAgAQAAAG0AIAMAAABrACABAABsADACAABtACADAAAAawAgAQAAbAAwAgAAbQAgAwAAAGsAIAEAAGwAMAIAAG0AIAVOAACcBAAgTwAAnQQAIOsBAgAAAAG6AgEAAAABuwIBAAAAAQEMAACnAQAgA-sBAgAAAAG6AgEAAAABuwIBAAAAAQEMAACpAQAwAQwAAKkBADAFTgAAmgQAIE8AAJsEACDrAQIAvAMAIboCAQC4AwAhuwIBALgDACECAAAAbQAgDAAArAEAIAPrAQIAvAMAIboCAQC4AwAhuwIBALgDACECAAAAawAgDAAArgEAIAIAAABrACAMAACuAQAgAwAAAG0AIBMAAKcBACAUAACsAQAgAQAAAG0AIAEAAABrACAFBgAAlQQAIBkAAJgEACAaAACXBAAgfgAAlgQAIH8AAJkEACAG6AEAAJcDADDpAQAAtQEAEOoBAACXAwAw6wECANgCACG6AgEA2QIAIbsCAQDZAgAhAwAAAGsAIAEAALQBADAYAAC1AQAgAwAAAGsAIAEAAGwAMAIAAG0AIAvoAQAAlAMAMOkBAAC7AQAQ6gEAAJQDADCAAgEAAAABjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhmQIAAJUDtwIitwIAAIgDACC4AgAA2wIAILkCAACWAwAgAQAAALgBACABAAAAuAEAIAroAQAAlAMAMOkBAAC7AQAQ6gEAAJQDADCAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6QIAIZkCAACVA7cCIrcCAACIAwAguAIAANsCACABtwIAALIDACADAAAAuwEAIAEAALwBADACAAC4AQAgAwAAALsBACABAAC8AQAwAgAAuAEAIAMAAAC7AQAgAQAAvAEAMAIAALgBACAHgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAZkCAAAAtwICtwKAAAAAAbgCAACUBAAgAQwAAMABACAHgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAZkCAAAAtwICtwKAAAAAAbgCAACUBAAgAQwAAMIBADABDAAAwgEAMAeAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZkCAACSBLcCIrcCgAAAAAG4AgAAkwQAIAIAAAC4AQAgDAAAxQEAIAeAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZkCAACSBLcCIrcCgAAAAAG4AgAAkwQAIAIAAAC7AQAgDAAAxwEAIAIAAAC7AQAgDAAAxwEAIAMAAAC4AQAgEwAAwAEAIBQAAMUBACABAAAAuAEAIAEAAAC7AQAgBAYAAI8EACAZAACRBAAgGgAAkAQAILcCAACyAwAgCugBAACQAwAw6QEAAM4BABDqAQAAkAMAMIACAQDZAgAhjQJAAPACACGOAkAA8AIAIZACAQDZAgAhmQIAAJEDtwIitwIAAIUDACC4AgAA2wIAIAMAAAC7AQAgAQAAzQEAMBgAAM4BACADAAAAuwEAIAEAALwBADACAAC4AQAgKJUBAADrAgAglgEAAIoDACCXAQAAiwMAIOgBAACHAwAw6QEAANkBABDqAQAAhwMAMOsBAQAAAAGAAgEAAAABjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhkQIBAOkCACGZAgEA6QIAIZoCAQDqAgAhmwIAANsCACCcAgAAiAMAIJ0CAADbAgAgngIAAIgDACCfAgEA6gIAIaACAADbAgAgoQIBAOoCACGiAgAAiAMAIKMCAQDqAgAhpAIAANsCACClAgAAiAMAIKYCAQDqAgAhpwIBAOoCACGoAgAA2wIAIKkCAACIAwAgqgIBAOoCACGrAgEA6gIAIawCAQDqAgAhrQIAANsCACCuAgEA6gIAIa8CAADbAgAgsAIBAOoCACGxAgAAiAMAILICQACJAwAhswJAAIkDACG0AkAAiQMAIQEAAADRAQAgDJMBAACOAwAglAEAAI8DACDoAQAAjQMAMOkBAADTAQAQ6gEAAI0DADDrAQIA_AIAIewBAQDpAgAh7QEBAOkCACHuAQEA6QIAIe8BQACJAwAh8AEAANsCACDxAQEA6gIAIQSTAQAAjgQAIJQBAACMBAAg7wEAALIDACDxAQAAsgMAIA2TAQAAjgMAIJQBAACPAwAg6AEAAI0DADDpAQAA0wEAEOoBAACNAwAw6wECAAAAAewBAQDpAgAh7QEBAOkCACHuAQEA6QIAIe8BQACJAwAh8AEAANsCACDxAQEA6gIAIbUCAACMAwAgAwAAANMBACABAADUAQAwAgAA1QEAIAMAAADTAQAgAQAA1AEAMAIAANUBACABAAAA0wEAICiVAQAA6wIAIJYBAACKAwAglwEAAIsDACDoAQAAhwMAMOkBAADZAQAQ6gEAAIcDADDrAQEA6QIAIYACAQDpAgAhjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhkQIBAOkCACGZAgEA6QIAIZoCAQDqAgAhmwIAANsCACCcAgAAiAMAIJ0CAADbAgAgngIAAIgDACCfAgEA6gIAIaACAADbAgAgoQIBAOoCACGiAgAAiAMAIKMCAQDqAgAhpAIAANsCACClAgAAiAMAIKYCAQDqAgAhpwIBAOoCACGoAgAA2wIAIKkCAACIAwAgqgIBAOoCACGrAgEA6gIAIawCAQDqAgAhrQIAANsCACCuAgEA6gIAIa8CAADbAgAgsAIBAOoCACGxAgAAiAMAILICQACJAwAhswJAAIkDACG0AkAAiQMAIQEAAADZAQAgF5UBAADTAwAglgEAAIwEACCXAQAAjQQAIJoCAACyAwAgnAIAALIDACCeAgAAsgMAIJ8CAACyAwAgoQIAALIDACCiAgAAsgMAIKMCAACyAwAgpQIAALIDACCmAgAAsgMAIKcCAACyAwAgqQIAALIDACCqAgAAsgMAIKsCAACyAwAgrAIAALIDACCuAgAAsgMAILACAACyAwAgsQIAALIDACCyAgAAsgMAILMCAACyAwAgtAIAALIDACADAAAA2QEAIAEAANsBADACAADRAQAgAQAAANMBACABAAAA2QEAIAEAAADRAQAgAwAAANkBACABAADbAQAwAgAA0QEAIAMAAADZAQAgAQAA2wEAMAIAANEBACADAAAA2QEAIAEAANsBADACAADRAQAgJZUBAACABAAglgEAAIsEACCXAQAAgQQAIOsBAQAAAAGAAgEAAAABjQJAAAAAAY4CQAAAAAGQAgEAAAABkQIBAAAAAZkCAQAAAAGaAgEAAAABmwIAAPkDACCcAoAAAAABnQIAAPoDACCeAoAAAAABnwIBAAAAAaACAAD7AwAgoQIBAAAAAaICgAAAAAGjAgEAAAABpAIAAPwDACClAoAAAAABpgIBAAAAAacCAQAAAAGoAgAA_QMAIKkCgAAAAAGqAgEAAAABqwIBAAAAAawCAQAAAAGtAgAA_gMAIK4CAQAAAAGvAgAA_wMAILACAQAAAAGxAoAAAAABsgJAAAAAAbMCQAAAAAG0AkAAAAABAQwAAOMBACAi6wEBAAAAAYACAQAAAAGNAkAAAAABjgJAAAAAAZACAQAAAAGRAgEAAAABmQIBAAAAAZoCAQAAAAGbAgAA-QMAIJwCgAAAAAGdAgAA-gMAIJ4CgAAAAAGfAgEAAAABoAIAAPsDACChAgEAAAABogKAAAAAAaMCAQAAAAGkAgAA_AMAIKUCgAAAAAGmAgEAAAABpwIBAAAAAagCAAD9AwAgqQKAAAAAAaoCAQAAAAGrAgEAAAABrAIBAAAAAa0CAAD-AwAgrgIBAAAAAa8CAAD_AwAgsAIBAAAAAbECgAAAAAGyAkAAAAABswJAAAAAAbQCQAAAAAEBDAAA5QEAMAEMAADlAQAwAQAAANkBACAllQEAAOoDACCWAQAA6wMAIJcBAADsAwAg6wEBALgDACGAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZECAQC4AwAhmQIBALgDACGaAgEAuwMAIZsCAADjAwAgnAKAAAAAAZ0CAADkAwAgngKAAAAAAZ8CAQC7AwAhoAIAAOUDACChAgEAuwMAIaICgAAAAAGjAgEAuwMAIaQCAADmAwAgpQKAAAAAAaYCAQC7AwAhpwIBALsDACGoAgAA5wMAIKkCgAAAAAGqAgEAuwMAIasCAQC7AwAhrAIBALsDACGtAgAA6AMAIK4CAQC7AwAhrwIAAOkDACCwAgEAuwMAIbECgAAAAAGyAkAAuQMAIbMCQAC5AwAhtAJAALkDACECAAAA0QEAIAwAAOkBACAi6wEBALgDACGAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZECAQC4AwAhmQIBALgDACGaAgEAuwMAIZsCAADjAwAgnAKAAAAAAZ0CAADkAwAgngKAAAAAAZ8CAQC7AwAhoAIAAOUDACChAgEAuwMAIaICgAAAAAGjAgEAuwMAIaQCAADmAwAgpQKAAAAAAaYCAQC7AwAhpwIBALsDACGoAgAA5wMAIKkCgAAAAAGqAgEAuwMAIasCAQC7AwAhrAIBALsDACGtAgAA6AMAIK4CAQC7AwAhrwIAAOkDACCwAgEAuwMAIbECgAAAAAGyAkAAuQMAIbMCQAC5AwAhtAJAALkDACECAAAA2QEAIAwAAOsBACACAAAA2QEAIAwAAOsBACABAAAA2QEAIAMAAADRAQAgEwAA4wEAIBQAAOkBACABAAAA0QEAIAEAAADZAQAgFwYAAOADACAZAADiAwAgGgAA4QMAIJoCAACyAwAgnAIAALIDACCeAgAAsgMAIJ8CAACyAwAgoQIAALIDACCiAgAAsgMAIKMCAACyAwAgpQIAALIDACCmAgAAsgMAIKcCAACyAwAgqQIAALIDACCqAgAAsgMAIKsCAACyAwAgrAIAALIDACCuAgAAsgMAILACAACyAwAgsQIAALIDACCyAgAAsgMAILMCAACyAwAgtAIAALIDACAl6AEAAIQDADDpAQAA8wEAEOoBAACEAwAw6wEBANkCACGAAgEA2QIAIY0CQADwAgAhjgJAAPACACGQAgEA2QIAIZECAQDZAgAhmQIBANkCACGaAgEA3AIAIZsCAADbAgAgnAIAAIUDACCdAgAA2wIAIJ4CAACFAwAgnwIBANwCACGgAgAA2wIAIKECAQDcAgAhogIAAIUDACCjAgEA3AIAIaQCAADbAgAgpQIAAIUDACCmAgEA3AIAIacCAQDcAgAhqAIAANsCACCpAgAAhQMAIKoCAQDcAgAhqwIBANwCACGsAgEA3AIAIa0CAADbAgAgrgIBANwCACGvAgAA2wIAILACAQDcAgAhsQIAAIUDACCyAkAA2gIAIbMCQADaAgAhtAJAANoCACEDAAAA2QEAIAEAAPIBADAYAADzAQAgAwAAANkBACABAADbAQAwAgAA0QEAIAroAQAAggMAMOkBAAD5AQAQ6gEAAIIDADDrAQEAAAABjQJAAP4CACGOAkAA_gIAIY8CAQAAAAGQAgEA6QIAIZECAQDpAgAhkgIAAIMDACABAAAA9gEAIAEAAAD2AQAgCugBAACCAwAw6QEAAPkBABDqAQAAggMAMOsBAQDpAgAhjQJAAP4CACGOAkAA_gIAIY8CAQDpAgAhkAIBAOkCACGRAgEA6QIAIZICAACDAwAgAAMAAAD5AQAgAQAA-gEAMAIAAPYBACADAAAA-QEAIAEAAPoBADACAAD2AQAgAwAAAPkBACABAAD6AQAwAgAA9gEAIAfrAQEAAAABjQJAAAAAAY4CQAAAAAGPAgEAAAABkAIBAAAAAZECAQAAAAGSAoAAAAABAQwAAP4BACAH6wEBAAAAAY0CQAAAAAGOAkAAAAABjwIBAAAAAZACAQAAAAGRAgEAAAABkgKAAAAAAQEMAACAAgAwAQwAAIACADAH6wEBALgDACGNAkAA3AMAIY4CQADcAwAhjwIBALgDACGQAgEAuAMAIZECAQC4AwAhkgKAAAAAAQIAAAD2AQAgDAAAgwIAIAfrAQEAuAMAIY0CQADcAwAhjgJAANwDACGPAgEAuAMAIZACAQC4AwAhkQIBALgDACGSAoAAAAABAgAAAPkBACAMAACFAgAgAgAAAPkBACAMAACFAgAgAwAAAPYBACATAAD-AQAgFAAAgwIAIAEAAAD2AQAgAQAAAPkBACADBgAA3QMAIBkAAN8DACAaAADeAwAgCugBAAD_AgAw6QEAAIwCABDqAQAA_wIAMOsBAQDZAgAhjQJAAPACACGOAkAA8AIAIY8CAQDZAgAhkAIBANkCACGRAgEA2QIAIZICAACAAwAgAwAAAPkBACABAACLAgAwGAAAjAIAIAMAAAD5AQAgAQAA-gEAMAIAAPYBACAO6AEAAPkCADDpAQAAkgIAEOoBAAD5AgAw6wEBAAAAAYQCAQAAAAGGAgAA-gKGAiKHAgAB-wIAIYgCAQDpAgAhiQIBAOkCACGKAgIA_AIAIYsCAgD9AgAhjAICAP0CACGNAkAA_gIAIY4CQAD-AgAhAQAAAI8CACABAAAAjwIAIA7oAQAA-QIAMOkBAACSAgAQ6gEAAPkCADDrAQEA6QIAIYQCAQDpAgAhhgIAAPoChgIihwIAAfsCACGIAgEA6QIAIYkCAQDpAgAhigICAPwCACGLAgIA_QIAIYwCAgD9AgAhjQJAAP4CACGOAkAA_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_AAC3AwAg7wEAALIDACDxAQAAsgMAIAroAQAA1wIAMOkBAADUAgAQ6gEAANcCADDrAQIA2AIAIewBAQDZAgAh7QEBANkCACHuAQEA2QIAIe8BQADaAgAh8AEAANsCACDxAQEA3AIAIQMAAADTAQAgAQAA0wIAMBgAANQCACADAAAA0wEAIAEAANQBADACAADVAQAgCugBAADXAgAw6QEAANQCABDqAQAA1wIAMOsBAgDYAgAh7AEBANkCACHtAQEA2QIAIe4BAQDZAgAh7wFAANoCACHwAQAA2wIAIPEBAQDcAgAhDQYAAOMCACAZAADjAgAgGgAA4wIAIH4AAOYCACB_AADjAgAg8gECAAAAAfMBAgAAAAT0AQIAAAAE9QECAAAAAfYBAgAAAAH3AQIAAAAB-AECAAAAAfwBAgDlAgAhDgYAAOMCACAZAADkAgAgGgAA5AIAIPIBAQAAAAHzAQEAAAAE9AEBAAAABPUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAQAAAAH5AQEAAAAB-gEBAAAAAfsBAQAAAAH8AQEA4gIAIQsGAADeAgAgGQAA4QIAIBoAAOECACDyAUAAAAAB8wFAAAAABfQBQAAAAAX1AUAAAAAB9gFAAAAAAfcBQAAAAAH4AUAAAAAB_AFAAOACACEE8gEBAAAABf0BAQAAAAH-AQEAAAAE_wEBAAAABA4GAADeAgAgGQAA3wIAIBoAAN8CACDyAQEAAAAB8wEBAAAABfQBAQAAAAX1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQEAAAAB-QEBAAAAAfoBAQAAAAH7AQEAAAAB_AEBAN0CACEOBgAA3gIAIBkAAN8CACAaAADfAgAg8gEBAAAAAfMBAQAAAAX0AQEAAAAF9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEBAAAAAfkBAQAAAAH6AQEAAAAB-wEBAAAAAfwBAQDdAgAhCPIBAgAAAAHzAQIAAAAF9AECAAAABfUBAgAAAAH2AQIAAAAB9wECAAAAAfgBAgAAAAH8AQIA3gIAIQvyAQEAAAAB8wEBAAAABfQBAQAAAAX1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQEAAAAB-QEBAAAAAfoBAQAAAAH7AQEAAAAB_AEBAN8CACELBgAA3gIAIBkAAOECACAaAADhAgAg8gFAAAAAAfMBQAAAAAX0AUAAAAAF9QFAAAAAAfYBQAAAAAH3AUAAAAAB-AFAAAAAAfwBQADgAgAhCPIBQAAAAAHzAUAAAAAF9AFAAAAABfUBQAAAAAH2AUAAAAAB9wFAAAAAAfgBQAAAAAH8AUAA4QIAIQ4GAADjAgAgGQAA5AIAIBoAAOQCACDyAQEAAAAB8wEBAAAABPQBAQAAAAT1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQEAAAAB-QEBAAAAAfoBAQAAAAH7AQEAAAAB_AEBAOICACEI8gECAAAAAfMBAgAAAAT0AQIAAAAE9QECAAAAAfYBAgAAAAH3AQIAAAAB-AECAAAAAfwBAgDjAgAhC_IBAQAAAAHzAQEAAAAE9AEBAAAABPUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAQAAAAH5AQEAAAAB-gEBAAAAAfsBAQAAAAH8AQEA5AIAIQ0GAADjAgAgGQAA4wIAIBoAAOMCACB-AADmAgAgfwAA4wIAIPIBAgAAAAHzAQIAAAAE9AECAAAABPUBAgAAAAH2AQIAAAAB9wECAAAAAfgBAgAAAAH8AQIA5QIAIQjyAQgAAAAB8wEIAAAABPQBCAAAAAT1AQgAAAAB9gEIAAAAAfcBCAAAAAH4AQgAAAAB_AEIAOYCACEF6AEAAOcCADDpAQAAvgIAEOoBAADnAgAw8QEBANwCACGAAgEA2QIAIQaSAQAA6wIAIOgBAADoAgAw6QEAAKsCABDqAQAA6AIAMPEBAQDqAgAhgAIBAOkCACEL8gEBAAAAAfMBAQAAAAT0AQEAAAAE9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEBAAAAAfkBAQAAAAH6AQEAAAAB-wEBAAAAAfwBAQDkAgAhC_IBAQAAAAHzAQEAAAAF9AEBAAAABfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAQAAAAH5AQEAAAAB-gEBAAAAAfsBAQAAAAH8AQEA3wIAIQOBAgAA0wEAIIICAADTAQAggwIAANMBACAO6AEAAOwCADDpAQAApQIAEOoBAADsAgAw6wEBANkCACGEAgEA2QIAIYYCAADtAoYCIocCAAHuAgAhiAIBANkCACGJAgEA2QIAIYoCAgDYAgAhiwICAO8CACGMAgIA7wIAIY0CQADwAgAhjgJAAPACACEHBgAA4wIAIBkAAPgCACAaAAD4AgAg8gEAAACGAgLzAQAAAIYCCPQBAAAAhgII_AEAAPcChgIiBwYAAOMCACAZAAD2AgAgGgAA9gIAIPIBAAEAAAHzAQABAAAE9AEAAQAABPwBAAH1AgAhDQYAAN4CACAZAADeAgAgGgAA3gIAIH4AAPQCACB_AADeAgAg8gECAAAAAfMBAgAAAAX0AQIAAAAF9QECAAAAAfYBAgAAAAH3AQIAAAAB-AECAAAAAfwBAgDzAgAhCwYAAOMCACAZAADyAgAgGgAA8gIAIPIBQAAAAAHzAUAAAAAE9AFAAAAABPUBQAAAAAH2AUAAAAAB9wFAAAAAAfgBQAAAAAH8AUAA8QIAIQsGAADjAgAgGQAA8gIAIBoAAPICACDyAUAAAAAB8wFAAAAABPQBQAAAAAT1AUAAAAAB9gFAAAAAAfcBQAAAAAH4AUAAAAAB_AFAAPECACEI8gFAAAAAAfMBQAAAAAT0AUAAAAAE9QFAAAAAAfYBQAAAAAH3AUAAAAAB-AFAAAAAAfwBQADyAgAhDQYAAN4CACAZAADeAgAgGgAA3gIAIH4AAPQCACB_AADeAgAg8gECAAAAAfMBAgAAAAX0AQIAAAAF9QECAAAAAfYBAgAAAAH3AQIAAAAB-AECAAAAAfwBAgDzAgAhCPIBCAAAAAHzAQgAAAAF9AEIAAAABfUBCAAAAAH2AQgAAAAB9wEIAAAAAfgBCAAAAAH8AQgA9AIAIQcGAADjAgAgGQAA9gIAIBoAAPYCACDyAQABAAAB8wEAAQAABPQBAAEAAAT8AQAB9QIAIQTyAQABAAAB8wEAAQAABPQBAAEAAAT8AQAB9gIAIQcGAADjAgAgGQAA-AIAIBoAAPgCACDyAQAAAIYCAvMBAAAAhgII9AEAAACGAgj8AQAA9wKGAiIE8gEAAACGAgLzAQAAAIYCCPQBAAAAhgII_AEAAPgChgIiDugBAAD5AgAw6QEAAJICABDqAQAA-QIAMOsBAQDpAgAhhAIBAOkCACGGAgAA-gKGAiKHAgAB-wIAIYgCAQDpAgAhiQIBAOkCACGKAgIA_AIAIYsCAgD9AgAhjAICAP0CACGNAkAA_gIAIY4CQAD-AgAhBPIBAAAAhgIC8wEAAACGAgj0AQAAAIYCCPwBAAD4AoYCIgTyAQABAAAB8wEAAQAABPQBAAEAAAT8AQAB9gIAIQjyAQIAAAAB8wECAAAABPQBAgAAAAT1AQIAAAAB9gECAAAAAfcBAgAAAAH4AQIAAAAB_AECAOMCACEI8gECAAAAAfMBAgAAAAX0AQIAAAAF9QECAAAAAfYBAgAAAAH3AQIAAAAB-AECAAAAAfwBAgDeAgAhCPIBQAAAAAHzAUAAAAAE9AFAAAAABPUBQAAAAAH2AUAAAAAB9wFAAAAAAfgBQAAAAAH8AUAA8gIAIQroAQAA_wIAMOkBAACMAgAQ6gEAAP8CADDrAQEA2QIAIY0CQADwAgAhjgJAAPACACGPAgEA2QIAIZACAQDZAgAhkQIBANkCACGSAgAAgAMAIA8GAADjAgAgGQAAgQMAIBoAAIEDACDyAYAAAAAB9QGAAAAAAfYBgAAAAAH3AYAAAAAB-AGAAAAAAfwBgAAAAAGTAgEAAAABlAIBAAAAAZUCAQAAAAGWAoAAAAABlwKAAAAAAZgCgAAAAAEM8gGAAAAAAfUBgAAAAAH2AYAAAAAB9wGAAAAAAfgBgAAAAAH8AYAAAAABkwIBAAAAAZQCAQAAAAGVAgEAAAABlgKAAAAAAZcCgAAAAAGYAoAAAAABCugBAACCAwAw6QEAAPkBABDqAQAAggMAMOsBAQDpAgAhjQJAAP4CACGOAkAA_gIAIY8CAQDpAgAhkAIBAOkCACGRAgEA6QIAIZICAACDAwAgDPIBgAAAAAH1AYAAAAAB9gGAAAAAAfcBgAAAAAH4AYAAAAAB_AGAAAAAAZMCAQAAAAGUAgEAAAABlQIBAAAAAZYCgAAAAAGXAoAAAAABmAKAAAAAASXoAQAAhAMAMOkBAADzAQAQ6gEAAIQDADDrAQEA2QIAIYACAQDZAgAhjQJAAPACACGOAkAA8AIAIZACAQDZAgAhkQIBANkCACGZAgEA2QIAIZoCAQDcAgAhmwIAANsCACCcAgAAhQMAIJ0CAADbAgAgngIAAIUDACCfAgEA3AIAIaACAADbAgAgoQIBANwCACGiAgAAhQMAIKMCAQDcAgAhpAIAANsCACClAgAAhQMAIKYCAQDcAgAhpwIBANwCACGoAgAA2wIAIKkCAACFAwAgqgIBANwCACGrAgEA3AIAIawCAQDcAgAhrQIAANsCACCuAgEA3AIAIa8CAADbAgAgsAIBANwCACGxAgAAhQMAILICQADaAgAhswJAANoCACG0AkAA2gIAIQ8GAADeAgAgGQAAhgMAIBoAAIYDACDyAYAAAAAB9QGAAAAAAfYBgAAAAAH3AYAAAAAB-AGAAAAAAfwBgAAAAAGTAgEAAAABlAIBAAAAAZUCAQAAAAGWAoAAAAABlwKAAAAAAZgCgAAAAAEM8gGAAAAAAfUBgAAAAAH2AYAAAAAB9wGAAAAAAfgBgAAAAAH8AYAAAAABkwIBAAAAAZQCAQAAAAGVAgEAAAABlgKAAAAAAZcCgAAAAAGYAoAAAAABKJUBAADrAgAglgEAAIoDACCXAQAAiwMAIOgBAACHAwAw6QEAANkBABDqAQAAhwMAMOsBAQDpAgAhgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhkAIBAOkCACGRAgEA6QIAIZkCAQDpAgAhmgIBAOoCACGbAgAA2wIAIJwCAACIAwAgnQIAANsCACCeAgAAiAMAIJ8CAQDqAgAhoAIAANsCACChAgEA6gIAIaICAACIAwAgowIBAOoCACGkAgAA2wIAIKUCAACIAwAgpgIBAOoCACGnAgEA6gIAIagCAADbAgAgqQIAAIgDACCqAgEA6gIAIasCAQDqAgAhrAIBAOoCACGtAgAA2wIAIK4CAQDqAgAhrwIAANsCACCwAgEA6gIAIbECAACIAwAgsgJAAIkDACGzAkAAiQMAIbQCQACJAwAhDPIBgAAAAAH1AYAAAAAB9gGAAAAAAfcBgAAAAAH4AYAAAAAB_AGAAAAAAZMCAQAAAAGUAgEAAAABlQIBAAAAAZYCgAAAAAGXAoAAAAABmAKAAAAAAQjyAUAAAAAB8wFAAAAABfQBQAAAAAX1AUAAAAAB9gFAAAAAAfcBQAAAAAH4AUAAAAAB_AFAAOECACEqlQEAAOsCACCWAQAAigMAIJcBAACLAwAg6AEAAIcDADDpAQAA2QEAEOoBAACHAwAw6wEBAOkCACGAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6QIAIZECAQDpAgAhmQIBAOkCACGaAgEA6gIAIZsCAADbAgAgnAIAAIgDACCdAgAA2wIAIJ4CAACIAwAgnwIBAOoCACGgAgAA2wIAIKECAQDqAgAhogIAAIgDACCjAgEA6gIAIaQCAADbAgAgpQIAAIgDACCmAgEA6gIAIacCAQDqAgAhqAIAANsCACCpAgAAiAMAIKoCAQDqAgAhqwIBAOoCACGsAgEA6gIAIa0CAADbAgAgrgIBAOoCACGvAgAA2wIAILACAQDqAgAhsQIAAIgDACCyAkAAiQMAIbMCQACJAwAhtAJAAIkDACHVAgAA2QEAINYCAADZAQAgA4ECAADZAQAgggIAANkBACCDAgAA2QEAIALtAQEAAAAB7gEBAAAAAQyTAQAAjgMAIJQBAACPAwAg6AEAAI0DADDpAQAA0wEAEOoBAACNAwAw6wECAPwCACHsAQEA6QIAIe0BAQDpAgAh7gEBAOkCACHvAUAAiQMAIfABAADbAgAg8QEBAOoCACEIkgEAAOsCACDoAQAA6AIAMOkBAACrAgAQ6gEAAOgCADDxAQEA6gIAIYACAQDpAgAh1QIAAKsCACDWAgAAqwIAICqVAQAA6wIAIJYBAACKAwAglwEAAIsDACDoAQAAhwMAMOkBAADZAQAQ6gEAAIcDADDrAQEA6QIAIYACAQDpAgAhjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhkQIBAOkCACGZAgEA6QIAIZoCAQDqAgAhmwIAANsCACCcAgAAiAMAIJ0CAADbAgAgngIAAIgDACCfAgEA6gIAIaACAADbAgAgoQIBAOoCACGiAgAAiAMAIKMCAQDqAgAhpAIAANsCACClAgAAiAMAIKYCAQDqAgAhpwIBAOoCACGoAgAA2wIAIKkCAACIAwAgqgIBAOoCACGrAgEA6gIAIawCAQDqAgAhrQIAANsCACCuAgEA6gIAIa8CAADbAgAgsAIBAOoCACGxAgAAiAMAILICQACJAwAhswJAAIkDACG0AkAAiQMAIdUCAADZAQAg1gIAANkBACAK6AEAAJADADDpAQAAzgEAEOoBAACQAwAwgAIBANkCACGNAkAA8AIAIY4CQADwAgAhkAIBANkCACGZAgAAkQO3AiK3AgAAhQMAILgCAADbAgAgBwYAAOMCACAZAACTAwAgGgAAkwMAIPIBAAAAtwIC8wEAAAC3Agj0AQAAALcCCPwBAACSA7cCIgcGAADjAgAgGQAAkwMAIBoAAJMDACDyAQAAALcCAvMBAAAAtwII9AEAAAC3Agj8AQAAkgO3AiIE8gEAAAC3AgLzAQAAALcCCPQBAAAAtwII_AEAAJMDtwIiCugBAACUAwAw6QEAALsBABDqAQAAlAMAMIACAQDpAgAhjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhmQIAAJUDtwIitwIAAIgDACC4AgAA2wIAIATyAQAAALcCAvMBAAAAtwII9AEAAAC3Agj8AQAAkwO3AiICkAIBAAAAAZkCAAAAtwICBugBAACXAwAw6QEAALUBABDqAQAAlwMAMOsBAgDYAgAhugIBANkCACG7AgEA2QIAIQjoAQAAmAMAMOkBAACfAQAQ6gEAAJgDADCAAgEA2QIAIY0CQADwAgAhjgJAAPACACGQAgEA3AIAIbwCAQDcAgAhCU0AAJoDACDoAQAAmQMAMOkBAACMAQAQ6gEAAJkDADCAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6gIAIbwCAQDqAgAhA4ECAABrACCCAgAAawAggwIAAGsAIAnoAQAAmwMAMOkBAACGAQAQ6gEAAJsDADCAAgEA2QIAIY0CQADwAgAhjgJAAPACACG8AgEA3AIAIb0CAQDZAgAhvgIBANkCACEKTQAAmgMAIOgBAACcAwAw6QEAAHMAEOoBAACcAwAwgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhvAIBAOoCACG9AgEA6QIAIb4CAQDpAgAhAroCAQAAAAG7AgEAAAABCE4AAJ8DACBPAACgAwAg6AEAAJ4DADDpAQAAawAQ6gEAAJ4DADDrAQIA_AIAIboCAQDpAgAhuwIBAOkCACELTQAAmgMAIOgBAACZAwAw6QEAAIwBABDqAQAAmQMAMIACAQDpAgAhjQJAAP4CACGOAkAA_gIAIZACAQDqAgAhvAIBAOoCACHVAgAAjAEAINYCAACMAQAgDE0AAJoDACDoAQAAnAMAMOkBAABzABDqAQAAnAMAMIACAQDpAgAhjQJAAP4CACGOAkAA_gIAIbwCAQDqAgAhvQIBAOkCACG-AgEA6QIAIdUCAABzACDWAgAAcwAgCegBAAChAwAw6QEAAGYAEOoBAAChAwAw6wEBANkCACGNAkAA8AIAIY4CQADwAgAhwAIBANkCACHBAgEA2QIAIcICQADwAgAhCegBAACiAwAw6QEAAFMAEOoBAACiAwAw6wEBAOkCACGNAkAA_gIAIY4CQAD-AgAhwAIBAOkCACHBAgEA6QIAIcICQAD-AgAhAsACAQAAAAHBAgEAAAABEOgBAACkAwAw6QEAAE0AEOoBAACkAwAw6wEBANkCACGNAkAA8AIAIY4CQADwAgAhxAIBANkCACHFAgEA2QIAIcYCAQDZAgAhxwIBANwCACHIAgEA3AIAIckCQADaAgAhygJAANoCACHLAgEA3AIAIcwCAQDcAgAhzQIBANwCACEL6AEAAKUDADDpAQAANwAQ6gEAAKUDADDrAQEA2QIAIY0CQADwAgAhjgJAAPACACHCAkAA8AIAIcQCAQDZAgAhzgIBANkCACHPAgEA3AIAIdACAQDcAgAhC-gBAACmAwAw6QEAACEAEOoBAACmAwAw6wEBANkCACGEAgEA3AIAIY0CQADwAgAhjgJAAPACACG8AgEA3AIAIdECIACnAwAh0gIBANwCACHTAgEA2QIAIQUGAADjAgAgGQAAqQMAIBoAAKkDACDyASAAAAAB_AEgAKgDACEFBgAA4wIAIBkAAKkDACAaAACpAwAg8gEgAAAAAfwBIACoAwAhAvIBIAAAAAH8ASAAqQMAIQ0EAACsAwAgBQAArQMAIOgBAACqAwAw6QEAAA4AEOoBAACqAwAw6wEBAOkCACGEAgEA6gIAIY0CQAD-AgAhjgJAAP4CACG8AgEA6gIAIdECIACrAwAh0gIBAOoCACHTAgEA6QIAIQLyASAAAAAB_AEgAKkDACEDgQIAAAMAIIICAAADACCDAgAAAwAgA4ECAAAHACCCAgAABwAggwIAAAcAIAwDAACvAwAg6AEAAK4DADDpAQAABwAQ6gEAAK4DADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHCAkAA_gIAIcQCAQDpAgAhzgIBAOkCACHPAgEA6gIAIdACAQDqAgAhDwQAAKwDACAFAACtAwAg6AEAAKoDADDpAQAADgAQ6gEAAKoDADDrAQEA6QIAIYQCAQDqAgAhjQJAAP4CACGOAkAA_gIAIbwCAQDqAgAh0QIgAKsDACHSAgEA6gIAIdMCAQDpAgAh1QIAAA4AINYCAAAOACACxQIBAAAAAcYCAQAAAAERAwAArwMAIOgBAACxAwAw6QEAAAMAEOoBAACxAwAw6wEBAOkCACGNAkAA_gIAIY4CQAD-AgAhxAIBAOkCACHFAgEA6QIAIcYCAQDpAgAhxwIBAOoCACHIAgEA6gIAIckCQACJAwAhygJAAIkDACHLAgEA6gIAIcwCAQDqAgAhzQIBAOoCACEAAAAAAAAB2gIBAAAAAQHaAkAAAAABAtoCAQAAAATgAgEAAAAFAdoCAQAAAAEF2gICAAAAAeECAgAAAAHiAgIAAAAB4wICAAAAAeQCAgAAAAEFEwAAkgUAIBQAAJgFACDXAgAAkwUAINgCAACXBQAg3QIAAKgCACAFEwAAkAUAIBQAAJUFACDXAgAAkQUAINgCAACUBQAg3QIAANEBACAB2gIBAAAABAMTAACSBQAg1wIAAJMFACDdAgAAqAIAIAMTAACQBQAg1wIAAJEFACDdAgAA0QEAIAAAAAsTAADGAwAwFAAAywMAMNcCAADHAwAw2AIAAMgDADDZAgAAyQMAINoCAADKAwAw2wIAAMoDADDcAgAAygMAMN0CAADKAwAw3gIAAMwDADDfAgAAzQMAMAeUAQAAwQMAIOsBAgAAAAHtAQEAAAAB7gEBAAAAAe8BQAAAAAHwAQAAvwMAIPEBAQAAAAECAAAA1QEAIBMAANEDACADAAAA1QEAIBMAANEDACAUAADQAwAgAQwAAI8FADANkwEAAI4DACCUAQAAjwMAIOgBAACNAwAw6QEAANMBABDqAQAAjQMAMOsBAgAAAAHsAQEA6QIAIe0BAQDpAgAh7gEBAOkCACHvAUAAiQMAIfABAADbAgAg8QEBAOoCACG1AgAAjAMAIAIAAADVAQAgDAAA0AMAIAIAAADOAwAgDAAAzwMAIAroAQAAzQMAMOkBAADOAwAQ6gEAAM0DADDrAQIA_AIAIewBAQDpAgAh7QEBAOkCACHuAQEA6QIAIe8BQACJAwAh8AEAANsCACDxAQEA6gIAIQroAQAAzQMAMOkBAADOAwAQ6gEAAM0DADDrAQIA_AIAIewBAQDpAgAh7QEBAOkCACHuAQEA6QIAIe8BQACJAwAh8AEAANsCACDxAQEA6gIAIQbrAQIAvAMAIe0BAQC4AwAh7gEBALgDACHvAUAAuQMAIfABAAC6AwAg8QEBALsDACEHlAEAAL4DACDrAQIAvAMAIe0BAQC4AwAh7gEBALgDACHvAUAAuQMAIfABAAC6AwAg8QEBALsDACEHlAEAAMEDACDrAQIAAAAB7QEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABBBMAAMYDADDXAgAAxwMAMNkCAADJAwAg3QIAAMoDADAAAAAAAAAB2gIAAACGAgIB2gIAAQAAAQXaAgIAAAAB4QICAAAAAeICAgAAAAHjAgIAAAAB5AICAAAAAQHaAkAAAAABAAAAAAAAAtoCAQAAAATgAgEAAAAFAtoCAQAAAATgAgEAAAAFAtoCAQAAAATgAgEAAAAFAtoCAQAAAATgAgEAAAAFAtoCAQAAAATgAgEAAAAFAtoCAQAAAATgAgEAAAAFAtoCAQAAAATgAgEAAAAFCxMAAIIEADAUAACHBAAw1wIAAIMEADDYAgAAhgQAMNkCAACEBAAg2gIAAMoDADDbAgAAygMAMNwCAADKAwAw3QIAAMoDADDeAgAAiAQAMN8CAADNAwAwBxMAAIgFACAUAACNBQAg1wIAAIkFACDYAgAAjAUAINsCAADZAQAg3AIAANkBACDdAgAA0QEAIAsTAADtAwAwFAAA8gMAMNcCAADuAwAw2AIAAO8DADDZAgAA8AMAINoCAADxAwAw2wIAAPEDADDcAgAA8QMAMN0CAADxAwAw3gIAAPMDADDfAgAA9AMAMCOVAQAAgAQAIJcBAACBBAAg6wEBAAAAAYACAQAAAAGNAkAAAAABjgJAAAAAAZACAQAAAAGRAgEAAAABmQIBAAAAAZoCAQAAAAGbAgAA-QMAIJwCgAAAAAGdAgAA-gMAIJ4CgAAAAAGfAgEAAAABoAIAAPsDACChAgEAAAABogKAAAAAAaMCAQAAAAGkAgAA_AMAIKUCgAAAAAGmAgEAAAABpwIBAAAAAagCAAD9AwAgqQKAAAAAAasCAQAAAAGsAgEAAAABrQIAAP4DACCuAgEAAAABrwIAAP8DACCwAgEAAAABsQKAAAAAAbICQAAAAAGzAkAAAAABtAJAAAAAAQIAAADRAQAgEwAA-AMAIAMAAADRAQAgEwAA-AMAIBQAAPcDACABDAAAiwUAMCiVAQAA6wIAIJYBAACKAwAglwEAAIsDACDoAQAAhwMAMOkBAADZAQAQ6gEAAIcDADDrAQEAAAABgAIBAAAAAY0CQAD-AgAhjgJAAP4CACGQAgEA6QIAIZECAQDpAgAhmQIBAOkCACGaAgEA6gIAIZsCAADbAgAgnAIAAIgDACCdAgAA2wIAIJ4CAACIAwAgnwIBAOoCACGgAgAA2wIAIKECAQDqAgAhogIAAIgDACCjAgEA6gIAIaQCAADbAgAgpQIAAIgDACCmAgEA6gIAIacCAQDqAgAhqAIAANsCACCpAgAAiAMAIKoCAQDqAgAhqwIBAOoCACGsAgEA6gIAIa0CAADbAgAgrgIBAOoCACGvAgAA2wIAILACAQDqAgAhsQIAAIgDACCyAkAAiQMAIbMCQACJAwAhtAJAAIkDACECAAAA0QEAIAwAAPcDACACAAAA9QMAIAwAAPYDACAl6AEAAPQDADDpAQAA9QMAEOoBAAD0AwAw6wEBAOkCACGAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6QIAIZECAQDpAgAhmQIBAOkCACGaAgEA6gIAIZsCAADbAgAgnAIAAIgDACCdAgAA2wIAIJ4CAACIAwAgnwIBAOoCACGgAgAA2wIAIKECAQDqAgAhogIAAIgDACCjAgEA6gIAIaQCAADbAgAgpQIAAIgDACCmAgEA6gIAIacCAQDqAgAhqAIAANsCACCpAgAAiAMAIKoCAQDqAgAhqwIBAOoCACGsAgEA6gIAIa0CAADbAgAgrgIBAOoCACGvAgAA2wIAILACAQDqAgAhsQIAAIgDACCyAkAAiQMAIbMCQACJAwAhtAJAAIkDACEl6AEAAPQDADDpAQAA9QMAEOoBAAD0AwAw6wEBAOkCACGAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6QIAIZECAQDpAgAhmQIBAOkCACGaAgEA6gIAIZsCAADbAgAgnAIAAIgDACCdAgAA2wIAIJ4CAACIAwAgnwIBAOoCACGgAgAA2wIAIKECAQDqAgAhogIAAIgDACCjAgEA6gIAIaQCAADbAgAgpQIAAIgDACCmAgEA6gIAIacCAQDqAgAhqAIAANsCACCpAgAAiAMAIKoCAQDqAgAhqwIBAOoCACGsAgEA6gIAIa0CAADbAgAgrgIBAOoCACGvAgAA2wIAILACAQDqAgAhsQIAAIgDACCyAkAAiQMAIbMCQACJAwAhtAJAAIkDACEh6wEBALgDACGAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZECAQC4AwAhmQIBALgDACGaAgEAuwMAIZsCAADjAwAgnAKAAAAAAZ0CAADkAwAgngKAAAAAAZ8CAQC7AwAhoAIAAOUDACChAgEAuwMAIaICgAAAAAGjAgEAuwMAIaQCAADmAwAgpQKAAAAAAaYCAQC7AwAhpwIBALsDACGoAgAA5wMAIKkCgAAAAAGrAgEAuwMAIawCAQC7AwAhrQIAAOgDACCuAgEAuwMAIa8CAADpAwAgsAIBALsDACGxAoAAAAABsgJAALkDACGzAkAAuQMAIbQCQAC5AwAhI5UBAADqAwAglwEAAOwDACDrAQEAuAMAIYACAQC4AwAhjQJAANwDACGOAkAA3AMAIZACAQC4AwAhkQIBALgDACGZAgEAuAMAIZoCAQC7AwAhmwIAAOMDACCcAoAAAAABnQIAAOQDACCeAoAAAAABnwIBALsDACGgAgAA5QMAIKECAQC7AwAhogKAAAAAAaMCAQC7AwAhpAIAAOYDACClAoAAAAABpgIBALsDACGnAgEAuwMAIagCAADnAwAgqQKAAAAAAasCAQC7AwAhrAIBALsDACGtAgAA6AMAIK4CAQC7AwAhrwIAAOkDACCwAgEAuwMAIbECgAAAAAGyAkAAuQMAIbMCQAC5AwAhtAJAALkDACEjlQEAAIAEACCXAQAAgQQAIOsBAQAAAAGAAgEAAAABjQJAAAAAAY4CQAAAAAGQAgEAAAABkQIBAAAAAZkCAQAAAAGaAgEAAAABmwIAAPkDACCcAoAAAAABnQIAAPoDACCeAoAAAAABnwIBAAAAAaACAAD7AwAgoQIBAAAAAaICgAAAAAGjAgEAAAABpAIAAPwDACClAoAAAAABpgIBAAAAAacCAQAAAAGoAgAA_QMAIKkCgAAAAAGrAgEAAAABrAIBAAAAAa0CAAD-AwAgrgIBAAAAAa8CAAD_AwAgsAIBAAAAAbECgAAAAAGyAkAAAAABswJAAAAAAbQCQAAAAAEB2gIBAAAABAHaAgEAAAAEAdoCAQAAAAQB2gIBAAAABAHaAgEAAAAEAdoCAQAAAAQB2gIBAAAABAQTAACCBAAw1wIAAIMEADDZAgAAhAQAIN0CAADKAwAwBBMAAO0DADDXAgAA7gMAMNkCAADwAwAg3QIAAPEDADAHkwEAAMADACDrAQIAAAAB7AEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABAgAAANUBACATAACFBAAgAQwAAIoFADAHkwEAAMADACDrAQIAAAAB7AEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABAwAAANUBACATAACFBAAgFAAAigQAIAIAAADVAQAgDAAAigQAIAIAAADOAwAgDAAAiQQAIAbrAQIAvAMAIewBAQC4AwAh7gEBALgDACHvAUAAuQMAIfABAAC6AwAg8QEBALsDACEHkwEAAL0DACDrAQIAvAMAIewBAQC4AwAh7gEBALgDACHvAUAAuQMAIfABAAC6AwAg8QEBALsDACEDEwAAiAUAINcCAACJBQAg3QIAANEBACAXlQEAANMDACCWAQAAjAQAIJcBAACNBAAgmgIAALIDACCcAgAAsgMAIJ4CAACyAwAgnwIAALIDACChAgAAsgMAIKICAACyAwAgowIAALIDACClAgAAsgMAIKYCAACyAwAgpwIAALIDACCpAgAAsgMAIKoCAACyAwAgqwIAALIDACCsAgAAsgMAIK4CAACyAwAgsAIAALIDACCxAgAAsgMAILICAACyAwAgswIAALIDACC0AgAAsgMAIAACkgEAANMDACDxAQAAsgMAIAAAAAHaAgAAALcCAgLaAgEAAAAE4AIBAAAABQHaAgEAAAAEAAAAAAAFEwAAgAUAIBQAAIYFACDXAgAAgQUAINgCAACFBQAg3QIAAIkBACAFEwAA_gQAIBQAAIMFACDXAgAA_wQAINgCAACCBQAg3QIAAGkAIAMTAACABQAg1wIAAIEFACDdAgAAiQEAIAMTAAD-BAAg1wIAAP8EACDdAgAAaQAgAAAACxMAAKIEADAUAACnBAAw1wIAAKMEADDYAgAApAQAMNkCAAClBAAg2gIAAKYEADDbAgAApgQAMNwCAACmBAAw3QIAAKYEADDeAgAAqAQAMN8CAACpBAAwA08AAJ0EACDrAQIAAAABuwIBAAAAAQIAAABtACATAACtBAAgAwAAAG0AIBMAAK0EACAUAACsBAAgAQwAAP0EADAJTgAAnwMAIE8AAKADACDoAQAAngMAMOkBAABrABDqAQAAngMAMOsBAgAAAAG6AgEA6QIAIbsCAQDpAgAhvwIAAJ0DACACAAAAbQAgDAAArAQAIAIAAACqBAAgDAAAqwQAIAboAQAAqQQAMOkBAACqBAAQ6gEAAKkEADDrAQIA_AIAIboCAQDpAgAhuwIBAOkCACEG6AEAAKkEADDpAQAAqgQAEOoBAACpBAAw6wECAPwCACG6AgEA6QIAIbsCAQDpAgAhAusBAgC8AwAhuwIBALgDACEDTwAAmwQAIOsBAgC8AwAhuwIBALgDACEDTwAAnQQAIOsBAgAAAAG7AgEAAAABBBMAAKIEADDXAgAAowQAMNkCAAClBAAg3QIAAKYEADAAAAAACxMAALQEADAUAAC4BAAw1wIAALUEADDYAgAAtgQAMNkCAAC3BAAg2gIAAKYEADDbAgAApgQAMNwCAACmBAAw3QIAAKYEADDeAgAAuQQAMN8CAACpBAAwA04AAJwEACDrAQIAAAABugIBAAAAAQIAAABtACATAAC8BAAgAwAAAG0AIBMAALwEACAUAAC7BAAgAQwAAPwEADACAAAAbQAgDAAAuwQAIAIAAACqBAAgDAAAugQAIALrAQIAvAMAIboCAQC4AwAhA04AAJoEACDrAQIAvAMAIboCAQC4AwAhA04AAJwEACDrAQIAAAABugIBAAAAAQQTAAC0BAAw1wIAALUEADDZAgAAtwQAIN0CAACmBAAwA00AAK8EACCQAgAAsgMAILwCAACyAwAgAk0AAK8EACC8AgAAsgMAIAAAAAAAAAUTAAD3BAAgFAAA-gQAINcCAAD4BAAg2AIAAPkEACDdAgAAAQAgAxMAAPcEACDXAgAA-AQAIN0CAAABACAAAAAFEwAA8gQAIBQAAPUEACDXAgAA8wQAINgCAAD0BAAg3QIAAAEAIAMTAADyBAAg1wIAAPMEACDdAgAAAQAgAAAAAdoCIAAAAAELEwAA3wQAMBQAAOQEADDXAgAA4AQAMNgCAADhBAAw2QIAAOIEACDaAgAA4wQAMNsCAADjBAAw3AIAAOMEADDdAgAA4wQAMN4CAADlBAAw3wIAAOYEADALEwAA0wQAMBQAANgEADDXAgAA1AQAMNgCAADVBAAw2QIAANYEACDaAgAA1wQAMNsCAADXBAAw3AIAANcEADDdAgAA1wQAMN4CAADZBAAw3wIAANoEADAH6wEBAAAAAY0CQAAAAAGOAkAAAAABwgJAAAAAAc4CAQAAAAHPAgEAAAAB0AIBAAAAAQIAAAAJACATAADeBAAgAwAAAAkAIBMAAN4EACAUAADdBAAgAQwAAPEEADAMAwAArwMAIOgBAACuAwAw6QEAAAcAEOoBAACuAwAw6wEBAAAAAY0CQAD-AgAhjgJAAP4CACHCAkAA_gIAIcQCAQDpAgAhzgIBAAAAAc8CAQDqAgAh0AIBAOoCACECAAAACQAgDAAA3QQAIAIAAADbBAAgDAAA3AQAIAvoAQAA2gQAMOkBAADbBAAQ6gEAANoEADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHCAkAA_gIAIcQCAQDpAgAhzgIBAOkCACHPAgEA6gIAIdACAQDqAgAhC-gBAADaBAAw6QEAANsEABDqAQAA2gQAMOsBAQDpAgAhjQJAAP4CACGOAkAA_gIAIcICQAD-AgAhxAIBAOkCACHOAgEA6QIAIc8CAQDqAgAh0AIBAOoCACEH6wEBALgDACGNAkAA3AMAIY4CQADcAwAhwgJAANwDACHOAgEAuAMAIc8CAQC7AwAh0AIBALsDACEH6wEBALgDACGNAkAA3AMAIY4CQADcAwAhwgJAANwDACHOAgEAuAMAIc8CAQC7AwAh0AIBALsDACEH6wEBAAAAAY0CQAAAAAGOAkAAAAABwgJAAAAAAc4CAQAAAAHPAgEAAAAB0AIBAAAAAQzrAQEAAAABjQJAAAAAAY4CQAAAAAHFAgEAAAABxgIBAAAAAccCAQAAAAHIAgEAAAAByQJAAAAAAcoCQAAAAAHLAgEAAAABzAIBAAAAAc0CAQAAAAECAAAABQAgEwAA6gQAIAMAAAAFACATAADqBAAgFAAA6QQAIAEMAADwBAAwEgMAAK8DACDoAQAAsQMAMOkBAAADABDqAQAAsQMAMOsBAQAAAAGNAkAA_gIAIY4CQAD-AgAhxAIBAOkCACHFAgEA6QIAIcYCAQDpAgAhxwIBAOoCACHIAgEA6gIAIckCQACJAwAhygJAAIkDACHLAgEA6gIAIcwCAQDqAgAhzQIBAOoCACHUAgAAsAMAIAIAAAAFACAMAADpBAAgAgAAAOcEACAMAADoBAAgEOgBAADmBAAw6QEAAOcEABDqAQAA5gQAMOsBAQDpAgAhjQJAAP4CACGOAkAA_gIAIcQCAQDpAgAhxQIBAOkCACHGAgEA6QIAIccCAQDqAgAhyAIBAOoCACHJAkAAiQMAIcoCQACJAwAhywIBAOoCACHMAgEA6gIAIc0CAQDqAgAhEOgBAADmBAAw6QEAAOcEABDqAQAA5gQAMOsBAQDpAgAhjQJAAP4CACGOAkAA_gIAIcQCAQDpAgAhxQIBAOkCACHGAgEA6QIAIccCAQDqAgAhyAIBAOoCACHJAkAAiQMAIcoCQACJAwAhywIBAOoCACHMAgEA6gIAIc0CAQDqAgAhDOsBAQC4AwAhjQJAANwDACGOAkAA3AMAIcUCAQC4AwAhxgIBALgDACHHAgEAuwMAIcgCAQC7AwAhyQJAALkDACHKAkAAuQMAIcsCAQC7AwAhzAIBALsDACHNAgEAuwMAIQzrAQEAuAMAIY0CQADcAwAhjgJAANwDACHFAgEAuAMAIcYCAQC4AwAhxwIBALsDACHIAgEAuwMAIckCQAC5AwAhygJAALkDACHLAgEAuwMAIcwCAQC7AwAhzQIBALsDACEM6wEBAAAAAY0CQAAAAAGOAkAAAAABxQIBAAAAAcYCAQAAAAHHAgEAAAAByAIBAAAAAckCQAAAAAHKAkAAAAABywIBAAAAAcwCAQAAAAHNAgEAAAABBBMAAN8EADDXAgAA4AQAMNkCAADiBAAg3QIAAOMEADAEEwAA0wQAMNcCAADUBAAw2QIAANYEACDdAgAA1wQAMAAABQQAAO0EACAFAADuBAAghAIAALIDACC8AgAAsgMAINICAACyAwAgDOsBAQAAAAGNAkAAAAABjgJAAAAAAcUCAQAAAAHGAgEAAAABxwIBAAAAAcgCAQAAAAHJAkAAAAABygJAAAAAAcsCAQAAAAHMAgEAAAABzQIBAAAAAQfrAQEAAAABjQJAAAAAAY4CQAAAAAHCAkAAAAABzgIBAAAAAc8CAQAAAAHQAgEAAAABCQQAAOsEACDrAQEAAAABhAIBAAAAAY0CQAAAAAGOAkAAAAABvAIBAAAAAdECIAAAAAHSAgEAAAAB0wIBAAAAAQIAAAABACATAADyBAAgAwAAAA4AIBMAAPIEACAUAAD2BAAgCwAAAA4AIAQAANEEACAMAAD2BAAg6wEBALgDACGEAgEAuwMAIY0CQADcAwAhjgJAANwDACG8AgEAuwMAIdECIADQBAAh0gIBALsDACHTAgEAuAMAIQkEAADRBAAg6wEBALgDACGEAgEAuwMAIY0CQADcAwAhjgJAANwDACG8AgEAuwMAIdECIADQBAAh0gIBALsDACHTAgEAuAMAIQkFAADsBAAg6wEBAAAAAYQCAQAAAAGNAkAAAAABjgJAAAAAAbwCAQAAAAHRAiAAAAAB0gIBAAAAAdMCAQAAAAECAAAAAQAgEwAA9wQAIAMAAAAOACATAAD3BAAgFAAA-wQAIAsAAAAOACAFAADSBAAgDAAA-wQAIOsBAQC4AwAhhAIBALsDACGNAkAA3AMAIY4CQADcAwAhvAIBALsDACHRAiAA0AQAIdICAQC7AwAh0wIBALgDACEJBQAA0gQAIOsBAQC4AwAhhAIBALsDACGNAkAA3AMAIY4CQADcAwAhvAIBALsDACHRAiAA0AQAIdICAQC7AwAh0wIBALgDACEC6wECAAAAAboCAQAAAAEC6wECAAAAAbsCAQAAAAEGgAIBAAAAAY0CQAAAAAGOAkAAAAABvAIBAAAAAb0CAQAAAAG-AgEAAAABAgAAAGkAIBMAAP4EACAFgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAbwCAQAAAAECAAAAiQEAIBMAAIAFACADAAAAcwAgEwAA_gQAIBQAAIQFACAIAAAAcwAgDAAAhAUAIIACAQC4AwAhjQJAANwDACGOAkAA3AMAIbwCAQC7AwAhvQIBALgDACG-AgEAuAMAIQaAAgEAuAMAIY0CQADcAwAhjgJAANwDACG8AgEAuwMAIb0CAQC4AwAhvgIBALgDACEDAAAAjAEAIBMAAIAFACAUAACHBQAgBwAAAIwBACAMAACHBQAggAIBALgDACGNAkAA3AMAIY4CQADcAwAhkAIBALsDACG8AgEAuwMAIQWAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuwMAIbwCAQC7AwAhJJUBAACABAAglgEAAIsEACDrAQEAAAABgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAZECAQAAAAGZAgEAAAABmgIBAAAAAZsCAAD5AwAgnAKAAAAAAZ0CAAD6AwAgngKAAAAAAZ8CAQAAAAGgAgAA-wMAIKECAQAAAAGiAoAAAAABowIBAAAAAaQCAAD8AwAgpQKAAAAAAaYCAQAAAAGnAgEAAAABqAIAAP0DACCpAoAAAAABqgIBAAAAAasCAQAAAAGsAgEAAAABrQIAAP4DACCuAgEAAAABrwIAAP8DACCwAgEAAAABsQKAAAAAAbICQAAAAAGzAkAAAAABtAJAAAAAAQIAAADRAQAgEwAAiAUAIAbrAQIAAAAB7AEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABIesBAQAAAAGAAgEAAAABjQJAAAAAAY4CQAAAAAGQAgEAAAABkQIBAAAAAZkCAQAAAAGaAgEAAAABmwIAAPkDACCcAoAAAAABnQIAAPoDACCeAoAAAAABnwIBAAAAAaACAAD7AwAgoQIBAAAAAaICgAAAAAGjAgEAAAABpAIAAPwDACClAoAAAAABpgIBAAAAAacCAQAAAAGoAgAA_QMAIKkCgAAAAAGrAgEAAAABrAIBAAAAAa0CAAD-AwAgrgIBAAAAAa8CAAD_AwAgsAIBAAAAAbECgAAAAAGyAkAAAAABswJAAAAAAbQCQAAAAAEDAAAA2QEAIBMAAIgFACAUAACOBQAgJgAAANkBACAMAACOBQAglQEAAOoDACCWAQAA6wMAIOsBAQC4AwAhgAIBALgDACGNAkAA3AMAIY4CQADcAwAhkAIBALgDACGRAgEAuAMAIZkCAQC4AwAhmgIBALsDACGbAgAA4wMAIJwCgAAAAAGdAgAA5AMAIJ4CgAAAAAGfAgEAuwMAIaACAADlAwAgoQIBALsDACGiAoAAAAABowIBALsDACGkAgAA5gMAIKUCgAAAAAGmAgEAuwMAIacCAQC7AwAhqAIAAOcDACCpAoAAAAABqgIBALsDACGrAgEAuwMAIawCAQC7AwAhrQIAAOgDACCuAgEAuwMAIa8CAADpAwAgsAIBALsDACGxAoAAAAABsgJAALkDACGzAkAAuQMAIbQCQAC5AwAhJJUBAADqAwAglgEAAOsDACDrAQEAuAMAIYACAQC4AwAhjQJAANwDACGOAkAA3AMAIZACAQC4AwAhkQIBALgDACGZAgEAuAMAIZoCAQC7AwAhmwIAAOMDACCcAoAAAAABnQIAAOQDACCeAoAAAAABnwIBALsDACGgAgAA5QMAIKECAQC7AwAhogKAAAAAAaMCAQC7AwAhpAIAAOYDACClAoAAAAABpgIBALsDACGnAgEAuwMAIagCAADnAwAgqQKAAAAAAaoCAQC7AwAhqwIBALsDACGsAgEAuwMAIa0CAADoAwAgrgIBALsDACGvAgAA6QMAILACAQC7AwAhsQKAAAAAAbICQAC5AwAhswJAALkDACG0AkAAuQMAIQbrAQIAAAAB7QEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABJJYBAACLBAAglwEAAIEEACDrAQEAAAABgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAZECAQAAAAGZAgEAAAABmgIBAAAAAZsCAAD5AwAgnAKAAAAAAZ0CAAD6AwAgngKAAAAAAZ8CAQAAAAGgAgAA-wMAIKECAQAAAAGiAoAAAAABowIBAAAAAaQCAAD8AwAgpQKAAAAAAaYCAQAAAAGnAgEAAAABqAIAAP0DACCpAoAAAAABqgIBAAAAAasCAQAAAAGsAgEAAAABrQIAAP4DACCuAgEAAAABrwIAAP8DACCwAgEAAAABsQKAAAAAAbICQAAAAAGzAkAAAAABtAJAAAAAAQIAAADRAQAgEwAAkAUAIALxAQEAAAABgAIBAAAAAQIAAACoAgAgEwAAkgUAIAMAAADZAQAgEwAAkAUAIBQAAJYFACAmAAAA2QEAIAwAAJYFACCWAQAA6wMAIJcBAADsAwAg6wEBALgDACGAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZECAQC4AwAhmQIBALgDACGaAgEAuwMAIZsCAADjAwAgnAKAAAAAAZ0CAADkAwAgngKAAAAAAZ8CAQC7AwAhoAIAAOUDACChAgEAuwMAIaICgAAAAAGjAgEAuwMAIaQCAADmAwAgpQKAAAAAAaYCAQC7AwAhpwIBALsDACGoAgAA5wMAIKkCgAAAAAGqAgEAuwMAIasCAQC7AwAhrAIBALsDACGtAgAA6AMAIK4CAQC7AwAhrwIAAOkDACCwAgEAuwMAIbECgAAAAAGyAkAAuQMAIbMCQAC5AwAhtAJAALkDACEklgEAAOsDACCXAQAA7AMAIOsBAQC4AwAhgAIBALgDACGNAkAA3AMAIY4CQADcAwAhkAIBALgDACGRAgEAuAMAIZkCAQC4AwAhmgIBALsDACGbAgAA4wMAIJwCgAAAAAGdAgAA5AMAIJ4CgAAAAAGfAgEAuwMAIaACAADlAwAgoQIBALsDACGiAoAAAAABowIBALsDACGkAgAA5gMAIKUCgAAAAAGmAgEAuwMAIacCAQC7AwAhqAIAAOcDACCpAoAAAAABqgIBALsDACGrAgEAuwMAIawCAQC7AwAhrQIAAOgDACCuAgEAuwMAIa8CAADpAwAgsAIBALsDACGxAoAAAAABsgJAALkDACGzAkAAuQMAIbQCQAC5AwAhAwAAAKsCACATAACSBQAgFAAAmQUAIAQAAACrAgAgDAAAmQUAIPEBAQC7AwAhgAIBALgDACEC8QEBALsDACGAAgEAuAMAIQMEBgIFCgMGAAQBAwABAQMAAQIECwAFDAAAAAADBgAJGQAKGgALAAAAAwYACRkAChoACwEDAAEBAwABAwYAEBkAERoAEgAAAAMGABAZABEaABIBAwABAQMAAQMGABcZABgaABkAAAADBgAXGQAYGgAZAAAAAwYAHxkAIBoAIQAAAAMGAB8ZACAaACECBgAnTW4kAk4AJU8AIwIGACZNbyQBTXAAAU1xAAAAAwYAKxkALBoALQAAAAMGACsZACwaAC0AAAMGADIZADMaADQAAAADBgAyGQAzGgA0Ak4AJU8AIwJOACVPACMFBgA5GQA8GgA9fgA6fwA7AAAAAAAFBgA5GQA8GgA9fgA6fwA7AAAAAwYAQxkARBoARQAAAAMGAEMZAEQaAEUEBgBLlQHWAUiWAdoBR5cB3AFHApMBAEmUAQBHAgYASpIB1wFIAZIB2AEAApUB3QEAlwHeAQABlgHoAUcBlgHuAUcDBgBPGQBQGgBRAAAAAwYATxkAUBoAUQAAAAMGAFcZAFgaAFkAAAADBgBXGQBYGgBZAAAABQYAXxkAYhoAY34AYH8AYQAAAAAABQYAXxkAYhoAY34AYH8AYQAAAwYAaBkAaRoAagAAAAMGAGgZAGkaAGoCkwEASZQBAEcCkwEASZQBAEcFBgBvGQByGgBzfgBwfwBxAAAAAAAFBgBvGQByGgBzfgBwfwBxBwIBCA0BCRABChEBCxIBDRQBDhYFDxcGEBkBERsFEhwHFR0BFh4BFx8FGyIIHCMMHSQDHiUDHyYDICcDISgDIioDIywFJC0NJS8DJjEFJzIOKDMDKTQDKjUFKzgPLDkTLToCLjsCLzwCMD0CMT4CMkACM0IFNEMUNUUCNkcFN0gVOEkCOUoCOksFO04WPE8aPVEbPlIbP1UbQFYbQVcbQlkbQ1sFRFwcRV4bRmAFR2EdSGIbSWMbSmQFS2ceTGgiUGojUXIjUnUjU3YjVHcjVXkjVnsFV3woWH4jWYABBVqBASlbggEjXIMBI12EAQVehwEqX4gBLmCKASVhiwElYo4BJWOPASVkkAElZZIBJWaUAQVnlQEvaJcBJWmZAQVqmgEwa5sBJWycASVtnQEFbqABMW-hATVwogEkcaMBJHKkASRzpQEkdKYBJHWoASR2qgEFd6sBNnitASR5rwEFerABN3uxASR8sgEkfbMBBYABtgE4gQG3AT6CAbkBP4MBugE_hAG9AT-FAb4BP4YBvwE_hwHBAT-IAcMBBYkBxAFAigHGAT-LAcgBBYwByQFBjQHKAT-OAcsBP48BzAEFkAHPAUKRAdABRpgB0gFHmQHfAUeaAeABR5sB4QFHnAHiAUedAeQBR54B5gEFnwHnAUygAeoBR6EB7AEFogHtAU2jAe8BR6QB8AFHpQHxAQWmAfQBTqcB9QFSqAH3AVOpAfgBU6oB-wFTqwH8AVOsAf0BU60B_wFTrgGBAgWvAYICVLABhAJTsQGGAgWyAYcCVbMBiAJTtAGJAlO1AYoCBbYBjQJWtwGOAlq4AZACW7kBkQJbugGUAlu7AZUCW7wBlgJbvQGYAlu-AZoCBb8BmwJcwAGdAlvBAZ8CBcIBoAJdwwGhAlvEAaICW8UBowIFxgGmAl7HAacCZMgBqQJJyQGqAknKAa0CScsBrgJJzAGvAknNAbECSc4BswIFzwG0AmXQAbYCSdEBuAIF0gG5AmbTAboCSdQBuwJJ1QG8AgXWAb8CZ9cBwAJr2AHBAkjZAcICSNoBwwJI2wHEAkjcAcUCSN0BxwJI3gHJAgXfAcoCbOABzAJI4QHOAgXiAc8CbeMB0AJI5AHRAkjlAdICBeYB1QJu5wHWAnQ"
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\",\"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\",\"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\",\"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: "mQV00AENBAAArAMAIAUAAK0DACDoAQAAqgMAMOkBAAAOABDqAQAAqgMAMOsBAQAAAAGEAgEA6gIAIY0CQAD-AgAhjgJAAP4CACG7AgEAAAAB0AIgAKsDACHRAgEA6gIAIdICAQDpAgAhAQAAAAEAIBEDAACvAwAg6AEAALEDADDpAQAAAwAQ6gEAALEDADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHDAgEA6QIAIcQCAQDpAgAhxQIBAOkCACHGAgEA6gIAIccCAQDqAgAhyAJAAIkDACHJAkAAiQMAIcoCAQDqAgAhywIBAOoCACHMAgEA6gIAIQgDAADvBAAgxgIAALIDACDHAgAAsgMAIMgCAACyAwAgyQIAALIDACDKAgAAsgMAIMsCAACyAwAgzAIAALIDACASAwAArwMAIOgBAACxAwAw6QEAAAMAEOoBAACxAwAw6wEBAAAAAY0CQAD-AgAhjgJAAP4CACHDAgEA6QIAIcQCAQDpAgAhxQIBAOkCACHGAgEA6gIAIccCAQDqAgAhyAJAAIkDACHJAkAAiQMAIcoCAQDqAgAhywIBAOoCACHMAgEA6gIAIdMCAACwAwAgAwAAAAMAIAEAAAQAMAIAAAUAIAwDAACvAwAg6AEAAK4DADDpAQAABwAQ6gEAAK4DADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHBAkAA_gIAIcMCAQDpAgAhzQIBAOkCACHOAgEA6gIAIc8CAQDqAgAhAwMAAO8EACDOAgAAsgMAIM8CAACyAwAgDAMAAK8DACDoAQAArgMAMOkBAAAHABDqAQAArgMAMOsBAQAAAAGNAkAA_gIAIY4CQAD-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_ACAN6wEBAAAAAY0CQAAAAAGOAkAAAAABwwIBAAAAAcQCAQAAAAHFAgEAAAABxgIBAAAAAccCAQAAAAHIAkAAAAAByQJAAAAAAcoCAQAAAAHLAgEAAAABzAIBAAAAAQEMAABBADABDAAAQQAwDgMAAMYEACDrAQEAuAMAIY0CQADcAwAhjgJAANwDACHDAgEAuAMAIcQCAQC4AwAhxQIBALgDACHGAgEAuwMAIccCAQC7AwAhyAJAALkDACHJAkAAuQMAIcoCAQC7AwAhywIBALsDACHMAgEAuwMAIQIAAAAFACAMAABEACAN6wEBALgDACGNAkAA3AMAIY4CQADcAwAhwwIBALgDACHEAgEAuAMAIcUCAQC4AwAhxgIBALsDACHHAgEAuwMAIcgCQAC5AwAhyQJAALkDACHKAgEAuwMAIcsCAQC7AwAhzAIBALsDACECAAAAAwAgDAAARgAgAgAAAAMAIAwAAEYAIAMAAAAFACATAAA_ACAUAABEACABAAAABQAgAQAAAAMAIAoGAADDBAAgGQAAxQQAIBoAAMQEACDGAgAAsgMAIMcCAACyAwAgyAIAALIDACDJAgAAsgMAIMoCAACyAwAgywIAALIDACDMAgAAsgMAIBDoAQAApAMAMOkBAABNABDqAQAApAMAMOsBAQDZAgAhjQJAAPACACGOAkAA8AIAIcMCAQDZAgAhxAIBANkCACHFAgEA2QIAIcYCAQDcAgAhxwIBANwCACHIAkAA2gIAIckCQADaAgAhygIBANwCACHLAgEA3AIAIcwCAQDcAgAhAwAAAAMAIAEAAEwAMBgAAE0AIAMAAAADACABAAAEADACAAAFACAK6AEAAKIDADDpAQAAUwAQ6gEAAKIDADDrAQEAAAABjQJAAP4CACGOAkAA_gIAIb8CAQDpAgAhwAIBAOkCACHBAkAA_gIAIcICAACjAwAgAQAAAFAAIAEAAABQACAJ6AEAAKIDADDpAQAAUwAQ6gEAAKIDADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACG_AgEA6QIAIcACAQDpAgAhwQJAAP4CACEAAwAAAFMAIAEAAFQAMAIAAFAAIAMAAABTACABAABUADACAABQACADAAAAUwAgAQAAVAAwAgAAUAAgBusBAQAAAAGNAkAAAAABjgJAAAAAAb8CAQAAAAHAAgEAAAABwQJAAAAAAQEMAABYACAG6wEBAAAAAY0CQAAAAAGOAkAAAAABvwIBAAAAAcACAQAAAAHBAkAAAAABAQwAAFoAMAEMAABaADAG6wEBALgDACGNAkAA3AMAIY4CQADcAwAhvwIBALgDACHAAgEAuAMAIcECQADcAwAhAgAAAFAAIAwAAF0AIAbrAQEAuAMAIY0CQADcAwAhjgJAANwDACG_AgEAuAMAIcACAQC4AwAhwQJAANwDACECAAAAUwAgDAAAXwAgAgAAAFMAIAwAAF8AIAMAAABQACATAABYACAUAABdACABAAAAUAAgAQAAAFMAIAMGAADABAAgGQAAwgQAIBoAAMEEACAJ6AEAAKEDADDpAQAAZgAQ6gEAAKEDADDrAQEA2QIAIY0CQADwAgAhjgJAAPACACG_AgEA2QIAIcACAQDZAgAhwQJAAPACACEDAAAAUwAgAQAAZQAwGAAAZgAgAwAAAFMAIAEAAFQAMAIAAFAAIApNAACaAwAg6AEAAJwDADDpAQAAcwAQ6gEAAJwDADCAAgEAAAABjQJAAP4CACGOAkAA_gIAIbsCAQAAAAG8AgEA6QIAIb0CAQDpAgAhAQAAAGkAIAhOAACfAwAgTwAAoAMAIOgBAACeAwAw6QEAAGsAEOoBAACeAwAw6wECAPwCACG5AgEA6QIAIboCAQDpAgAhAk4AAL4EACBPAAC_BAAgCU4AAJ8DACBPAACgAwAg6AEAAJ4DADDpAQAAawAQ6gEAAJ4DADDrAQIAAAABuQIBAOkCACG6AgEA6QIAIb4CAACdAwAgAwAAAGsAIAEAAGwAMAIAAG0AIAMAAABrACABAABsADACAABtACABAAAAawAgAQAAAGsAIAEAAABpACAKTQAAmgMAIOgBAACcAwAw6QEAAHMAEOoBAACcAwAwgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhuwIBAOoCACG8AgEA6QIAIb0CAQDpAgAhAk0AAK8EACC7AgAAsgMAIAMAAABzACABAAB0ADACAABpACADAAAAcwAgAQAAdAAwAgAAaQAgAwAAAHMAIAEAAHQAMAIAAGkAIAdNAAC9BAAggAIBAAAAAY0CQAAAAAGOAkAAAAABuwIBAAAAAbwCAQAAAAG9AgEAAAABAQwAAHgAIAaAAgEAAAABjQJAAAAAAY4CQAAAAAG7AgEAAAABvAIBAAAAAb0CAQAAAAEBDAAAegAwAQwAAHoAMAdNAACzBAAggAIBALgDACGNAkAA3AMAIY4CQADcAwAhuwIBALsDACG8AgEAuAMAIb0CAQC4AwAhAgAAAGkAIAwAAH0AIAaAAgEAuAMAIY0CQADcAwAhjgJAANwDACG7AgEAuwMAIbwCAQC4AwAhvQIBALgDACECAAAAcwAgDAAAfwAgAgAAAHMAIAwAAH8AIAMAAABpACATAAB4ACAUAAB9ACABAAAAaQAgAQAAAHMAIAQGAACwBAAgGQAAsgQAIBoAALEEACC7AgAAsgMAIAnoAQAAmwMAMOkBAACGAQAQ6gEAAJsDADCAAgEA2QIAIY0CQADwAgAhjgJAAPACACG7AgEA3AIAIbwCAQDZAgAhvQIBANkCACEDAAAAcwAgAQAAhQEAMBgAAIYBACADAAAAcwAgAQAAdAAwAgAAaQAgCU0AAJoDACDoAQAAmQMAMOkBAACMAQAQ6gEAAJkDADCAAgEAAAABjQJAAP4CACGOAkAA_gIAIZACAQDqAgAhuwIBAOoCACEBAAAAiQEAIAEAAACJAQAgCU0AAJoDACDoAQAAmQMAMOkBAACMAQAQ6gEAAJkDADCAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6gIAIbsCAQDqAgAhA00AAK8EACCQAgAAsgMAILsCAACyAwAgAwAAAIwBACABAACNAQAwAgAAiQEAIAMAAACMAQAgAQAAjQEAMAIAAIkBACADAAAAjAEAIAEAAI0BADACAACJAQAgBk0AAK4EACCAAgEAAAABjQJAAAAAAY4CQAAAAAGQAgEAAAABuwIBAAAAAQEMAACRAQAgBYACAQAAAAGNAkAAAAABjgJAAAAAAZACAQAAAAG7AgEAAAABAQwAAJMBADABDAAAkwEAMAZNAAChBAAggAIBALgDACGNAkAA3AMAIY4CQADcAwAhkAIBALsDACG7AgEAuwMAIQIAAACJAQAgDAAAlgEAIAWAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuwMAIbsCAQC7AwAhAgAAAIwBACAMAACYAQAgAgAAAIwBACAMAACYAQAgAwAAAIkBACATAACRAQAgFAAAlgEAIAEAAACJAQAgAQAAAIwBACAFBgAAngQAIBkAAKAEACAaAACfBAAgkAIAALIDACC7AgAAsgMAIAjoAQAAmAMAMOkBAACfAQAQ6gEAAJgDADCAAgEA2QIAIY0CQADwAgAhjgJAAPACACGQAgEA3AIAIbsCAQDcAgAhAwAAAIwBACABAACeAQAwGAAAnwEAIAMAAACMAQAgAQAAjQEAMAIAAIkBACABAAAAbQAgAQAAAG0AIAMAAABrACABAABsADACAABtACADAAAAawAgAQAAbAAwAgAAbQAgAwAAAGsAIAEAAGwAMAIAAG0AIAVOAACcBAAgTwAAnQQAIOsBAgAAAAG5AgEAAAABugIBAAAAAQEMAACnAQAgA-sBAgAAAAG5AgEAAAABugIBAAAAAQEMAACpAQAwAQwAAKkBADAFTgAAmgQAIE8AAJsEACDrAQIAvAMAIbkCAQC4AwAhugIBALgDACECAAAAbQAgDAAArAEAIAPrAQIAvAMAIbkCAQC4AwAhugIBALgDACECAAAAawAgDAAArgEAIAIAAABrACAMAACuAQAgAwAAAG0AIBMAAKcBACAUAACsAQAgAQAAAG0AIAEAAABrACAFBgAAlQQAIBkAAJgEACAaAACXBAAgfgAAlgQAIH8AAJkEACAG6AEAAJcDADDpAQAAtQEAEOoBAACXAwAw6wECANgCACG5AgEA2QIAIboCAQDZAgAhAwAAAGsAIAEAALQBADAYAAC1AQAgAwAAAGsAIAEAAGwAMAIAAG0AIAvoAQAAlAMAMOkBAAC7AQAQ6gEAAJQDADCAAgEAAAABjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhmQIAAJUDtgIitgIAAIgDACC3AgAA2wIAILgCAACWAwAgAQAAALgBACABAAAAuAEAIAroAQAAlAMAMOkBAAC7AQAQ6gEAAJQDADCAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6QIAIZkCAACVA7YCIrYCAACIAwAgtwIAANsCACABtgIAALIDACADAAAAuwEAIAEAALwBADACAAC4AQAgAwAAALsBACABAAC8AQAwAgAAuAEAIAMAAAC7AQAgAQAAvAEAMAIAALgBACAHgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAZkCAAAAtgICtgKAAAAAAbcCAACUBAAgAQwAAMABACAHgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAZkCAAAAtgICtgKAAAAAAbcCAACUBAAgAQwAAMIBADABDAAAwgEAMAeAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZkCAACSBLYCIrYCgAAAAAG3AgAAkwQAIAIAAAC4AQAgDAAAxQEAIAeAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZkCAACSBLYCIrYCgAAAAAG3AgAAkwQAIAIAAAC7AQAgDAAAxwEAIAIAAAC7AQAgDAAAxwEAIAMAAAC4AQAgEwAAwAEAIBQAAMUBACABAAAAuAEAIAEAAAC7AQAgBAYAAI8EACAZAACRBAAgGgAAkAQAILYCAACyAwAgCugBAACQAwAw6QEAAM4BABDqAQAAkAMAMIACAQDZAgAhjQJAAPACACGOAkAA8AIAIZACAQDZAgAhmQIAAJEDtgIitgIAAIUDACC3AgAA2wIAIAMAAAC7AQAgAQAAzQEAMBgAAM4BACADAAAAuwEAIAEAALwBADACAAC4AQAgJ5UBAADrAgAglgEAAIoDACCXAQAAiwMAIOgBAACHAwAw6QEAANkBABDqAQAAhwMAMOsBAQAAAAGAAgEAAAABjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhkQIBAOkCACGZAgEA6QIAIZoCAQDqAgAhmwIAANsCACCcAgAAiAMAIJ0CAADbAgAgngIAAIgDACCfAgEA6gIAIaACAADbAgAgoQIBAOoCACGiAgAAiAMAIKMCAQDqAgAhpAIAANsCACClAgAAiAMAIKYCAQDqAgAhpwIBAOoCACGoAgAA2wIAIKkCAACIAwAgqgIBAOoCACGrAgEA6gIAIawCAADbAgAgrQIBAOoCACGuAgAA2wIAIK8CAQDqAgAhsAIAAIgDACCxAkAAiQMAIbICQACJAwAhswJAAIkDACEBAAAA0QEAIAyTAQAAjgMAIJQBAACPAwAg6AEAAI0DADDpAQAA0wEAEOoBAACNAwAw6wECAPwCACHsAQEA6QIAIe0BAQDpAgAh7gEBAOkCACHvAUAAiQMAIfABAADbAgAg8QEBAOoCACEEkwEAAI4EACCUAQAAjAQAIO8BAACyAwAg8QEAALIDACANkwEAAI4DACCUAQAAjwMAIOgBAACNAwAw6QEAANMBABDqAQAAjQMAMOsBAgAAAAHsAQEA6QIAIe0BAQDpAgAh7gEBAOkCACHvAUAAiQMAIfABAADbAgAg8QEBAOoCACG0AgAAjAMAIAMAAADTAQAgAQAA1AEAMAIAANUBACADAAAA0wEAIAEAANQBADACAADVAQAgAQAAANMBACAnlQEAAOsCACCWAQAAigMAIJcBAACLAwAg6AEAAIcDADDpAQAA2QEAEOoBAACHAwAw6wEBAOkCACGAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6QIAIZECAQDpAgAhmQIBAOkCACGaAgEA6gIAIZsCAADbAgAgnAIAAIgDACCdAgAA2wIAIJ4CAACIAwAgnwIBAOoCACGgAgAA2wIAIKECAQDqAgAhogIAAIgDACCjAgEA6gIAIaQCAADbAgAgpQIAAIgDACCmAgEA6gIAIacCAQDqAgAhqAIAANsCACCpAgAAiAMAIKoCAQDqAgAhqwIBAOoCACGsAgAA2wIAIK0CAQDqAgAhrgIAANsCACCvAgEA6gIAIbACAACIAwAgsQJAAIkDACGyAkAAiQMAIbMCQACJAwAhAQAAANkBACAWlQEAANMDACCWAQAAjAQAIJcBAACNBAAgmgIAALIDACCcAgAAsgMAIJ4CAACyAwAgnwIAALIDACChAgAAsgMAIKICAACyAwAgowIAALIDACClAgAAsgMAIKYCAACyAwAgpwIAALIDACCpAgAAsgMAIKoCAACyAwAgqwIAALIDACCtAgAAsgMAIK8CAACyAwAgsAIAALIDACCxAgAAsgMAILICAACyAwAgswIAALIDACADAAAA2QEAIAEAANsBADACAADRAQAgAQAAANMBACABAAAA2QEAIAEAAADRAQAgAwAAANkBACABAADbAQAwAgAA0QEAIAMAAADZAQAgAQAA2wEAMAIAANEBACADAAAA2QEAIAEAANsBADACAADRAQAgJJUBAACABAAglgEAAIsEACCXAQAAgQQAIOsBAQAAAAGAAgEAAAABjQJAAAAAAY4CQAAAAAGQAgEAAAABkQIBAAAAAZkCAQAAAAGaAgEAAAABmwIAAPkDACCcAoAAAAABnQIAAPoDACCeAoAAAAABnwIBAAAAAaACAAD7AwAgoQIBAAAAAaICgAAAAAGjAgEAAAABpAIAAPwDACClAoAAAAABpgIBAAAAAacCAQAAAAGoAgAA_QMAIKkCgAAAAAGqAgEAAAABqwIBAAAAAawCAAD-AwAgrQIBAAAAAa4CAAD_AwAgrwIBAAAAAbACgAAAAAGxAkAAAAABsgJAAAAAAbMCQAAAAAEBDAAA4wEAICHrAQEAAAABgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAZECAQAAAAGZAgEAAAABmgIBAAAAAZsCAAD5AwAgnAKAAAAAAZ0CAAD6AwAgngKAAAAAAZ8CAQAAAAGgAgAA-wMAIKECAQAAAAGiAoAAAAABowIBAAAAAaQCAAD8AwAgpQKAAAAAAaYCAQAAAAGnAgEAAAABqAIAAP0DACCpAoAAAAABqgIBAAAAAasCAQAAAAGsAgAA_gMAIK0CAQAAAAGuAgAA_wMAIK8CAQAAAAGwAoAAAAABsQJAAAAAAbICQAAAAAGzAkAAAAABAQwAAOUBADABDAAA5QEAMAEAAADZAQAgJJUBAADqAwAglgEAAOsDACCXAQAA7AMAIOsBAQC4AwAhgAIBALgDACGNAkAA3AMAIY4CQADcAwAhkAIBALgDACGRAgEAuAMAIZkCAQC4AwAhmgIBALsDACGbAgAA4wMAIJwCgAAAAAGdAgAA5AMAIJ4CgAAAAAGfAgEAuwMAIaACAADlAwAgoQIBALsDACGiAoAAAAABowIBALsDACGkAgAA5gMAIKUCgAAAAAGmAgEAuwMAIacCAQC7AwAhqAIAAOcDACCpAoAAAAABqgIBALsDACGrAgEAuwMAIawCAADoAwAgrQIBALsDACGuAgAA6QMAIK8CAQC7AwAhsAKAAAAAAbECQAC5AwAhsgJAALkDACGzAkAAuQMAIQIAAADRAQAgDAAA6QEAICHrAQEAuAMAIYACAQC4AwAhjQJAANwDACGOAkAA3AMAIZACAQC4AwAhkQIBALgDACGZAgEAuAMAIZoCAQC7AwAhmwIAAOMDACCcAoAAAAABnQIAAOQDACCeAoAAAAABnwIBALsDACGgAgAA5QMAIKECAQC7AwAhogKAAAAAAaMCAQC7AwAhpAIAAOYDACClAoAAAAABpgIBALsDACGnAgEAuwMAIagCAADnAwAgqQKAAAAAAaoCAQC7AwAhqwIBALsDACGsAgAA6AMAIK0CAQC7AwAhrgIAAOkDACCvAgEAuwMAIbACgAAAAAGxAkAAuQMAIbICQAC5AwAhswJAALkDACECAAAA2QEAIAwAAOsBACACAAAA2QEAIAwAAOsBACABAAAA2QEAIAMAAADRAQAgEwAA4wEAIBQAAOkBACABAAAA0QEAIAEAAADZAQAgFgYAAOADACAZAADiAwAgGgAA4QMAIJoCAACyAwAgnAIAALIDACCeAgAAsgMAIJ8CAACyAwAgoQIAALIDACCiAgAAsgMAIKMCAACyAwAgpQIAALIDACCmAgAAsgMAIKcCAACyAwAgqQIAALIDACCqAgAAsgMAIKsCAACyAwAgrQIAALIDACCvAgAAsgMAILACAACyAwAgsQIAALIDACCyAgAAsgMAILMCAACyAwAgJOgBAACEAwAw6QEAAPMBABDqAQAAhAMAMOsBAQDZAgAhgAIBANkCACGNAkAA8AIAIY4CQADwAgAhkAIBANkCACGRAgEA2QIAIZkCAQDZAgAhmgIBANwCACGbAgAA2wIAIJwCAACFAwAgnQIAANsCACCeAgAAhQMAIJ8CAQDcAgAhoAIAANsCACChAgEA3AIAIaICAACFAwAgowIBANwCACGkAgAA2wIAIKUCAACFAwAgpgIBANwCACGnAgEA3AIAIagCAADbAgAgqQIAAIUDACCqAgEA3AIAIasCAQDcAgAhrAIAANsCACCtAgEA3AIAIa4CAADbAgAgrwIBANwCACGwAgAAhQMAILECQADaAgAhsgJAANoCACGzAkAA2gIAIQMAAADZAQAgAQAA8gEAMBgAAPMBACADAAAA2QEAIAEAANsBADACAADRAQAgCugBAACCAwAw6QEAAPkBABDqAQAAggMAMOsBAQAAAAGNAkAA_gIAIY4CQAD-AgAhjwIBAAAAAZACAQDpAgAhkQIBAOkCACGSAgAAgwMAIAEAAAD2AQAgAQAAAPYBACAK6AEAAIIDADDpAQAA-QEAEOoBAACCAwAw6wEBAOkCACGNAkAA_gIAIY4CQAD-AgAhjwIBAOkCACGQAgEA6QIAIZECAQDpAgAhkgIAAIMDACAAAwAAAPkBACABAAD6AQAwAgAA9gEAIAMAAAD5AQAgAQAA-gEAMAIAAPYBACADAAAA-QEAIAEAAPoBADACAAD2AQAgB-sBAQAAAAGNAkAAAAABjgJAAAAAAY8CAQAAAAGQAgEAAAABkQIBAAAAAZICgAAAAAEBDAAA_gEAIAfrAQEAAAABjQJAAAAAAY4CQAAAAAGPAgEAAAABkAIBAAAAAZECAQAAAAGSAoAAAAABAQwAAIACADABDAAAgAIAMAfrAQEAuAMAIY0CQADcAwAhjgJAANwDACGPAgEAuAMAIZACAQC4AwAhkQIBALgDACGSAoAAAAABAgAAAPYBACAMAACDAgAgB-sBAQC4AwAhjQJAANwDACGOAkAA3AMAIY8CAQC4AwAhkAIBALgDACGRAgEAuAMAIZICgAAAAAECAAAA-QEAIAwAAIUCACACAAAA-QEAIAwAAIUCACADAAAA9gEAIBMAAP4BACAUAACDAgAgAQAAAPYBACABAAAA-QEAIAMGAADdAwAgGQAA3wMAIBoAAN4DACAK6AEAAP8CADDpAQAAjAIAEOoBAAD_AgAw6wEBANkCACGNAkAA8AIAIY4CQADwAgAhjwIBANkCACGQAgEA2QIAIZECAQDZAgAhkgIAAIADACADAAAA-QEAIAEAAIsCADAYAACMAgAgAwAAAPkBACABAAD6AQAwAgAA9gEAIA7oAQAA-QIAMOkBAACSAgAQ6gEAAPkCADDrAQEAAAABhAIBAAAAAYYCAAD6AoYCIocCAAH7AgAhiAIBAOkCACGJAgEA6QIAIYoCAgD8AgAhiwICAP0CACGMAgIA_QIAIY0CQAD-AgAhjgJAAP4CACEBAAAAjwIAIAEAAACPAgAgDugBAAD5AgAw6QEAAJICABDqAQAA-QIAMOsBAQDpAgAhhAIBAOkCACGGAgAA-gKGAiKHAgAB-wIAIYgCAQDpAgAhiQIBAOkCACGKAgIA_AIAIYsCAgD9AgAhjAICAP0CACGNAkAA_gIAIY4CQAD-AgAhAosCAACyAwAgjAIAALIDACADAAAAkgIAIAEAAJMCADACAACPAgAgAwAAAJICACABAACTAgAwAgAAjwIAIAMAAACSAgAgAQAAkwIAMAIAAI8CACAL6wEBAAAAAYQCAQAAAAGGAgAAAIYCAocCAAEAAAGIAgEAAAABiQIBAAAAAYoCAgAAAAGLAgIAAAABjAICAAAAAY0CQAAAAAGOAkAAAAABAQwAAJcCACAL6wEBAAAAAYQCAQAAAAGGAgAAAIYCAocCAAEAAAGIAgEAAAABiQIBAAAAAYoCAgAAAAGLAgIAAAABjAICAAAAAY0CQAAAAAGOAkAAAAABAQwAAJkCADABDAAAmQIAMAvrAQEAuAMAIYQCAQC4AwAhhgIAANkDhgIihwIAAdoDACGIAgEAuAMAIYkCAQC4AwAhigICALwDACGLAgIA2wMAIYwCAgDbAwAhjQJAANwDACGOAkAA3AMAIQIAAACPAgAgDAAAnAIAIAvrAQEAuAMAIYQCAQC4AwAhhgIAANkDhgIihwIAAdoDACGIAgEAuAMAIYkCAQC4AwAhigICALwDACGLAgIA2wMAIYwCAgDbAwAhjQJAANwDACGOAkAA3AMAIQIAAACSAgAgDAAAngIAIAIAAACSAgAgDAAAngIAIAMAAACPAgAgEwAAlwIAIBQAAJwCACABAAAAjwIAIAEAAACSAgAgBwYAANQDACAZAADXAwAgGgAA1gMAIH4AANUDACB_AADYAwAgiwIAALIDACCMAgAAsgMAIA7oAQAA7AIAMOkBAAClAgAQ6gEAAOwCADDrAQEA2QIAIYQCAQDZAgAhhgIAAO0ChgIihwIAAe4CACGIAgEA2QIAIYkCAQDZAgAhigICANgCACGLAgIA7wIAIYwCAgDvAgAhjQJAAPACACGOAkAA8AIAIQMAAACSAgAgAQAApAIAMBgAAKUCACADAAAAkgIAIAEAAJMCADACAACPAgAgBpIBAADrAgAg6AEAAOgCADDpAQAAqwIAEOoBAADoAgAw8QEBAOoCACGAAgEAAAABAQAAAKgCACABAAAAqAIAIAaSAQAA6wIAIOgBAADoAgAw6QEAAKsCABDqAQAA6AIAMPEBAQDqAgAhgAIBAOkCACECkgEAANMDACDxAQAAsgMAIAMAAACrAgAgAQAArAIAMAIAAKgCACADAAAAqwIAIAEAAKwCADACAACoAgAgAwAAAKsCACABAACsAgAwAgAAqAIAIAOSAQAA0gMAIPEBAQAAAAGAAgEAAAABAQwAALACACAC8QEBAAAAAYACAQAAAAEBDAAAsgIAMAEMAACyAgAwA5IBAADFAwAg8QEBALsDACGAAgEAuAMAIQIAAACoAgAgDAAAtQIAIALxAQEAuwMAIYACAQC4AwAhAgAAAKsCACAMAAC3AgAgAgAAAKsCACAMAAC3AgAgAwAAAKgCACATAACwAgAgFAAAtQIAIAEAAACoAgAgAQAAAKsCACAEBgAAwgMAIBkAAMQDACAaAADDAwAg8QEAALIDACAF6AEAAOcCADDpAQAAvgIAEOoBAADnAgAw8QEBANwCACGAAgEA2QIAIQMAAACrAgAgAQAAvQIAMBgAAL4CACADAAAAqwIAIAEAAKwCADACAACoAgAgAQAAANUBACABAAAA1QEAIAMAAADTAQAgAQAA1AEAMAIAANUBACADAAAA0wEAIAEAANQBADACAADVAQAgAwAAANMBACABAADUAQAwAgAA1QEAIAmTAQAAwAMAIJQBAADBAwAg6wECAAAAAewBAQAAAAHtAQEAAAAB7gEBAAAAAe8BQAAAAAHwAQAAvwMAIPEBAQAAAAEBDAAAxgIAIAfrAQIAAAAB7AEBAAAAAe0BAQAAAAHuAQEAAAAB7wFAAAAAAfABAAC_AwAg8QEBAAAAAQEMAADIAgAwAQwAAMgCADAJkwEAAL0DACCUAQAAvgMAIOsBAgC8AwAh7AEBALgDACHtAQEAuAMAIe4BAQC4AwAh7wFAALkDACHwAQAAugMAIPEBAQC7AwAhAgAAANUBACAMAADLAgAgB-sBAgC8AwAh7AEBALgDACHtAQEAuAMAIe4BAQC4AwAh7wFAALkDACHwAQAAugMAIPEBAQC7AwAhAgAAANMBACAMAADNAgAgAgAAANMBACAMAADNAgAgAwAAANUBACATAADGAgAgFAAAywIAIAEAAADVAQAgAQAAANMBACAHBgAAswMAIBkAALYDACAaAAC1AwAgfgAAtAMAIH8AALcDACDvAQAAsgMAIPEBAACyAwAgCugBAADXAgAw6QEAANQCABDqAQAA1wIAMOsBAgDYAgAh7AEBANkCACHtAQEA2QIAIe4BAQDZAgAh7wFAANoCACHwAQAA2wIAIPEBAQDcAgAhAwAAANMBACABAADTAgAwGAAA1AIAIAMAAADTAQAgAQAA1AEAMAIAANUBACAK6AEAANcCADDpAQAA1AIAEOoBAADXAgAw6wECANgCACHsAQEA2QIAIe0BAQDZAgAh7gEBANkCACHvAUAA2gIAIfABAADbAgAg8QEBANwCACENBgAA4wIAIBkAAOMCACAaAADjAgAgfgAA5gIAIH8AAOMCACDyAQIAAAAB8wECAAAABPQBAgAAAAT1AQIAAAAB9gECAAAAAfcBAgAAAAH4AQIAAAAB_AECAOUCACEOBgAA4wIAIBkAAOQCACAaAADkAgAg8gEBAAAAAfMBAQAAAAT0AQEAAAAE9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEBAAAAAfkBAQAAAAH6AQEAAAAB-wEBAAAAAfwBAQDiAgAhCwYAAN4CACAZAADhAgAgGgAA4QIAIPIBQAAAAAHzAUAAAAAF9AFAAAAABfUBQAAAAAH2AUAAAAAB9wFAAAAAAfgBQAAAAAH8AUAA4AIAIQTyAQEAAAAF_QEBAAAAAf4BAQAAAAT_AQEAAAAEDgYAAN4CACAZAADfAgAgGgAA3wIAIPIBAQAAAAHzAQEAAAAF9AEBAAAABfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAQAAAAH5AQEAAAAB-gEBAAAAAfsBAQAAAAH8AQEA3QIAIQ4GAADeAgAgGQAA3wIAIBoAAN8CACDyAQEAAAAB8wEBAAAABfQBAQAAAAX1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQEAAAAB-QEBAAAAAfoBAQAAAAH7AQEAAAAB_AEBAN0CACEI8gECAAAAAfMBAgAAAAX0AQIAAAAF9QECAAAAAfYBAgAAAAH3AQIAAAAB-AECAAAAAfwBAgDeAgAhC_IBAQAAAAHzAQEAAAAF9AEBAAAABfUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAQAAAAH5AQEAAAAB-gEBAAAAAfsBAQAAAAH8AQEA3wIAIQsGAADeAgAgGQAA4QIAIBoAAOECACDyAUAAAAAB8wFAAAAABfQBQAAAAAX1AUAAAAAB9gFAAAAAAfcBQAAAAAH4AUAAAAAB_AFAAOACACEI8gFAAAAAAfMBQAAAAAX0AUAAAAAF9QFAAAAAAfYBQAAAAAH3AUAAAAAB-AFAAAAAAfwBQADhAgAhDgYAAOMCACAZAADkAgAgGgAA5AIAIPIBAQAAAAHzAQEAAAAE9AEBAAAABPUBAQAAAAH2AQEAAAAB9wEBAAAAAfgBAQAAAAH5AQEAAAAB-gEBAAAAAfsBAQAAAAH8AQEA4gIAIQjyAQIAAAAB8wECAAAABPQBAgAAAAT1AQIAAAAB9gECAAAAAfcBAgAAAAH4AQIAAAAB_AECAOMCACEL8gEBAAAAAfMBAQAAAAT0AQEAAAAE9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEBAAAAAfkBAQAAAAH6AQEAAAAB-wEBAAAAAfwBAQDkAgAhDQYAAOMCACAZAADjAgAgGgAA4wIAIH4AAOYCACB_AADjAgAg8gECAAAAAfMBAgAAAAT0AQIAAAAE9QECAAAAAfYBAgAAAAH3AQIAAAAB-AECAAAAAfwBAgDlAgAhCPIBCAAAAAHzAQgAAAAE9AEIAAAABPUBCAAAAAH2AQgAAAAB9wEIAAAAAfgBCAAAAAH8AQgA5gIAIQXoAQAA5wIAMOkBAAC-AgAQ6gEAAOcCADDxAQEA3AIAIYACAQDZAgAhBpIBAADrAgAg6AEAAOgCADDpAQAAqwIAEOoBAADoAgAw8QEBAOoCACGAAgEA6QIAIQvyAQEAAAAB8wEBAAAABPQBAQAAAAT1AQEAAAAB9gEBAAAAAfcBAQAAAAH4AQEAAAAB-QEBAAAAAfoBAQAAAAH7AQEAAAAB_AEBAOQCACEL8gEBAAAAAfMBAQAAAAX0AQEAAAAF9QEBAAAAAfYBAQAAAAH3AQEAAAAB-AEBAAAAAfkBAQAAAAH6AQEAAAAB-wEBAAAAAfwBAQDfAgAhA4ECAADTAQAgggIAANMBACCDAgAA0wEAIA7oAQAA7AIAMOkBAAClAgAQ6gEAAOwCADDrAQEA2QIAIYQCAQDZAgAhhgIAAO0ChgIihwIAAe4CACGIAgEA2QIAIYkCAQDZAgAhigICANgCACGLAgIA7wIAIYwCAgDvAgAhjQJAAPACACGOAkAA8AIAIQcGAADjAgAgGQAA-AIAIBoAAPgCACDyAQAAAIYCAvMBAAAAhgII9AEAAACGAgj8AQAA9wKGAiIHBgAA4wIAIBkAAPYCACAaAAD2AgAg8gEAAQAAAfMBAAEAAAT0AQABAAAE_AEAAfUCACENBgAA3gIAIBkAAN4CACAaAADeAgAgfgAA9AIAIH8AAN4CACDyAQIAAAAB8wECAAAABfQBAgAAAAX1AQIAAAAB9gECAAAAAfcBAgAAAAH4AQIAAAAB_AECAPMCACELBgAA4wIAIBkAAPICACAaAADyAgAg8gFAAAAAAfMBQAAAAAT0AUAAAAAE9QFAAAAAAfYBQAAAAAH3AUAAAAAB-AFAAAAAAfwBQADxAgAhCwYAAOMCACAZAADyAgAgGgAA8gIAIPIBQAAAAAHzAUAAAAAE9AFAAAAABPUBQAAAAAH2AUAAAAAB9wFAAAAAAfgBQAAAAAH8AUAA8QIAIQjyAUAAAAAB8wFAAAAABPQBQAAAAAT1AUAAAAAB9gFAAAAAAfcBQAAAAAH4AUAAAAAB_AFAAPICACENBgAA3gIAIBkAAN4CACAaAADeAgAgfgAA9AIAIH8AAN4CACDyAQIAAAAB8wECAAAABfQBAgAAAAX1AQIAAAAB9gECAAAAAfcBAgAAAAH4AQIAAAAB_AECAPMCACEI8gEIAAAAAfMBCAAAAAX0AQgAAAAF9QEIAAAAAfYBCAAAAAH3AQgAAAAB-AEIAAAAAfwBCAD0AgAhBwYAAOMCACAZAAD2AgAgGgAA9gIAIPIBAAEAAAHzAQABAAAE9AEAAQAABPwBAAH1AgAhBPIBAAEAAAHzAQABAAAE9AEAAQAABPwBAAH2AgAhBwYAAOMCACAZAAD4AgAgGgAA-AIAIPIBAAAAhgIC8wEAAACGAgj0AQAAAIYCCPwBAAD3AoYCIgTyAQAAAIYCAvMBAAAAhgII9AEAAACGAgj8AQAA-AKGAiIO6AEAAPkCADDpAQAAkgIAEOoBAAD5AgAw6wEBAOkCACGEAgEA6QIAIYYCAAD6AoYCIocCAAH7AgAhiAIBAOkCACGJAgEA6QIAIYoCAgD8AgAhiwICAP0CACGMAgIA_QIAIY0CQAD-AgAhjgJAAP4CACEE8gEAAACGAgLzAQAAAIYCCPQBAAAAhgII_AEAAPgChgIiBPIBAAEAAAHzAQABAAAE9AEAAQAABPwBAAH2AgAhCPIBAgAAAAHzAQIAAAAE9AECAAAABPUBAgAAAAH2AQIAAAAB9wECAAAAAfgBAgAAAAH8AQIA4wIAIQjyAQIAAAAB8wECAAAABfQBAgAAAAX1AQIAAAAB9gECAAAAAfcBAgAAAAH4AQIAAAAB_AECAN4CACEI8gFAAAAAAfMBQAAAAAT0AUAAAAAE9QFAAAAAAfYBQAAAAAH3AUAAAAAB-AFAAAAAAfwBQADyAgAhCugBAAD_AgAw6QEAAIwCABDqAQAA_wIAMOsBAQDZAgAhjQJAAPACACGOAkAA8AIAIY8CAQDZAgAhkAIBANkCACGRAgEA2QIAIZICAACAAwAgDwYAAOMCACAZAACBAwAgGgAAgQMAIPIBgAAAAAH1AYAAAAAB9gGAAAAAAfcBgAAAAAH4AYAAAAAB_AGAAAAAAZMCAQAAAAGUAgEAAAABlQIBAAAAAZYCgAAAAAGXAoAAAAABmAKAAAAAAQzyAYAAAAAB9QGAAAAAAfYBgAAAAAH3AYAAAAAB-AGAAAAAAfwBgAAAAAGTAgEAAAABlAIBAAAAAZUCAQAAAAGWAoAAAAABlwKAAAAAAZgCgAAAAAEK6AEAAIIDADDpAQAA-QEAEOoBAACCAwAw6wEBAOkCACGNAkAA_gIAIY4CQAD-AgAhjwIBAOkCACGQAgEA6QIAIZECAQDpAgAhkgIAAIMDACAM8gGAAAAAAfUBgAAAAAH2AYAAAAAB9wGAAAAAAfgBgAAAAAH8AYAAAAABkwIBAAAAAZQCAQAAAAGVAgEAAAABlgKAAAAAAZcCgAAAAAGYAoAAAAABJOgBAACEAwAw6QEAAPMBABDqAQAAhAMAMOsBAQDZAgAhgAIBANkCACGNAkAA8AIAIY4CQADwAgAhkAIBANkCACGRAgEA2QIAIZkCAQDZAgAhmgIBANwCACGbAgAA2wIAIJwCAACFAwAgnQIAANsCACCeAgAAhQMAIJ8CAQDcAgAhoAIAANsCACChAgEA3AIAIaICAACFAwAgowIBANwCACGkAgAA2wIAIKUCAACFAwAgpgIBANwCACGnAgEA3AIAIagCAADbAgAgqQIAAIUDACCqAgEA3AIAIasCAQDcAgAhrAIAANsCACCtAgEA3AIAIa4CAADbAgAgrwIBANwCACGwAgAAhQMAILECQADaAgAhsgJAANoCACGzAkAA2gIAIQ8GAADeAgAgGQAAhgMAIBoAAIYDACDyAYAAAAAB9QGAAAAAAfYBgAAAAAH3AYAAAAAB-AGAAAAAAfwBgAAAAAGTAgEAAAABlAIBAAAAAZUCAQAAAAGWAoAAAAABlwKAAAAAAZgCgAAAAAEM8gGAAAAAAfUBgAAAAAH2AYAAAAAB9wGAAAAAAfgBgAAAAAH8AYAAAAABkwIBAAAAAZQCAQAAAAGVAgEAAAABlgKAAAAAAZcCgAAAAAGYAoAAAAABJ5UBAADrAgAglgEAAIoDACCXAQAAiwMAIOgBAACHAwAw6QEAANkBABDqAQAAhwMAMOsBAQDpAgAhgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhkAIBAOkCACGRAgEA6QIAIZkCAQDpAgAhmgIBAOoCACGbAgAA2wIAIJwCAACIAwAgnQIAANsCACCeAgAAiAMAIJ8CAQDqAgAhoAIAANsCACChAgEA6gIAIaICAACIAwAgowIBAOoCACGkAgAA2wIAIKUCAACIAwAgpgIBAOoCACGnAgEA6gIAIagCAADbAgAgqQIAAIgDACCqAgEA6gIAIasCAQDqAgAhrAIAANsCACCtAgEA6gIAIa4CAADbAgAgrwIBAOoCACGwAgAAiAMAILECQACJAwAhsgJAAIkDACGzAkAAiQMAIQzyAYAAAAAB9QGAAAAAAfYBgAAAAAH3AYAAAAAB-AGAAAAAAfwBgAAAAAGTAgEAAAABlAIBAAAAAZUCAQAAAAGWAoAAAAABlwKAAAAAAZgCgAAAAAEI8gFAAAAAAfMBQAAAAAX0AUAAAAAF9QFAAAAAAfYBQAAAAAH3AUAAAAAB-AFAAAAAAfwBQADhAgAhKZUBAADrAgAglgEAAIoDACCXAQAAiwMAIOgBAACHAwAw6QEAANkBABDqAQAAhwMAMOsBAQDpAgAhgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhkAIBAOkCACGRAgEA6QIAIZkCAQDpAgAhmgIBAOoCACGbAgAA2wIAIJwCAACIAwAgnQIAANsCACCeAgAAiAMAIJ8CAQDqAgAhoAIAANsCACChAgEA6gIAIaICAACIAwAgowIBAOoCACGkAgAA2wIAIKUCAACIAwAgpgIBAOoCACGnAgEA6gIAIagCAADbAgAgqQIAAIgDACCqAgEA6gIAIasCAQDqAgAhrAIAANsCACCtAgEA6gIAIa4CAADbAgAgrwIBAOoCACGwAgAAiAMAILECQACJAwAhsgJAAIkDACGzAkAAiQMAIdQCAADZAQAg1QIAANkBACADgQIAANkBACCCAgAA2QEAIIMCAADZAQAgAu0BAQAAAAHuAQEAAAABDJMBAACOAwAglAEAAI8DACDoAQAAjQMAMOkBAADTAQAQ6gEAAI0DADDrAQIA_AIAIewBAQDpAgAh7QEBAOkCACHuAQEA6QIAIe8BQACJAwAh8AEAANsCACDxAQEA6gIAIQiSAQAA6wIAIOgBAADoAgAw6QEAAKsCABDqAQAA6AIAMPEBAQDqAgAhgAIBAOkCACHUAgAAqwIAINUCAACrAgAgKZUBAADrAgAglgEAAIoDACCXAQAAiwMAIOgBAACHAwAw6QEAANkBABDqAQAAhwMAMOsBAQDpAgAhgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhkAIBAOkCACGRAgEA6QIAIZkCAQDpAgAhmgIBAOoCACGbAgAA2wIAIJwCAACIAwAgnQIAANsCACCeAgAAiAMAIJ8CAQDqAgAhoAIAANsCACChAgEA6gIAIaICAACIAwAgowIBAOoCACGkAgAA2wIAIKUCAACIAwAgpgIBAOoCACGnAgEA6gIAIagCAADbAgAgqQIAAIgDACCqAgEA6gIAIasCAQDqAgAhrAIAANsCACCtAgEA6gIAIa4CAADbAgAgrwIBAOoCACGwAgAAiAMAILECQACJAwAhsgJAAIkDACGzAkAAiQMAIdQCAADZAQAg1QIAANkBACAK6AEAAJADADDpAQAAzgEAEOoBAACQAwAwgAIBANkCACGNAkAA8AIAIY4CQADwAgAhkAIBANkCACGZAgAAkQO2AiK2AgAAhQMAILcCAADbAgAgBwYAAOMCACAZAACTAwAgGgAAkwMAIPIBAAAAtgIC8wEAAAC2Agj0AQAAALYCCPwBAACSA7YCIgcGAADjAgAgGQAAkwMAIBoAAJMDACDyAQAAALYCAvMBAAAAtgII9AEAAAC2Agj8AQAAkgO2AiIE8gEAAAC2AgLzAQAAALYCCPQBAAAAtgII_AEAAJMDtgIiCugBAACUAwAw6QEAALsBABDqAQAAlAMAMIACAQDpAgAhjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhmQIAAJUDtgIitgIAAIgDACC3AgAA2wIAIATyAQAAALYCAvMBAAAAtgII9AEAAAC2Agj8AQAAkwO2AiICkAIBAAAAAZkCAAAAtgICBugBAACXAwAw6QEAALUBABDqAQAAlwMAMOsBAgDYAgAhuQIBANkCACG6AgEA2QIAIQjoAQAAmAMAMOkBAACfAQAQ6gEAAJgDADCAAgEA2QIAIY0CQADwAgAhjgJAAPACACGQAgEA3AIAIbsCAQDcAgAhCU0AAJoDACDoAQAAmQMAMOkBAACMAQAQ6gEAAJkDADCAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6gIAIbsCAQDqAgAhA4ECAABrACCCAgAAawAggwIAAGsAIAnoAQAAmwMAMOkBAACGAQAQ6gEAAJsDADCAAgEA2QIAIY0CQADwAgAhjgJAAPACACG7AgEA3AIAIbwCAQDZAgAhvQIBANkCACEKTQAAmgMAIOgBAACcAwAw6QEAAHMAEOoBAACcAwAwgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhuwIBAOoCACG8AgEA6QIAIb0CAQDpAgAhArkCAQAAAAG6AgEAAAABCE4AAJ8DACBPAACgAwAg6AEAAJ4DADDpAQAAawAQ6gEAAJ4DADDrAQIA_AIAIbkCAQDpAgAhugIBAOkCACELTQAAmgMAIOgBAACZAwAw6QEAAIwBABDqAQAAmQMAMIACAQDpAgAhjQJAAP4CACGOAkAA_gIAIZACAQDqAgAhuwIBAOoCACHUAgAAjAEAINUCAACMAQAgDE0AAJoDACDoAQAAnAMAMOkBAABzABDqAQAAnAMAMIACAQDpAgAhjQJAAP4CACGOAkAA_gIAIbsCAQDqAgAhvAIBAOkCACG9AgEA6QIAIdQCAABzACDVAgAAcwAgCegBAAChAwAw6QEAAGYAEOoBAAChAwAw6wEBANkCACGNAkAA8AIAIY4CQADwAgAhvwIBANkCACHAAgEA2QIAIcECQADwAgAhCegBAACiAwAw6QEAAFMAEOoBAACiAwAw6wEBAOkCACGNAkAA_gIAIY4CQAD-AgAhvwIBAOkCACHAAgEA6QIAIcECQAD-AgAhAr8CAQAAAAHAAgEAAAABEOgBAACkAwAw6QEAAE0AEOoBAACkAwAw6wEBANkCACGNAkAA8AIAIY4CQADwAgAhwwIBANkCACHEAgEA2QIAIcUCAQDZAgAhxgIBANwCACHHAgEA3AIAIcgCQADaAgAhyQJAANoCACHKAgEA3AIAIcsCAQDcAgAhzAIBANwCACEL6AEAAKUDADDpAQAANwAQ6gEAAKUDADDrAQEA2QIAIY0CQADwAgAhjgJAAPACACHBAkAA8AIAIcMCAQDZAgAhzQIBANkCACHOAgEA3AIAIc8CAQDcAgAhC-gBAACmAwAw6QEAACEAEOoBAACmAwAw6wEBANkCACGEAgEA3AIAIY0CQADwAgAhjgJAAPACACG7AgEA3AIAIdACIACnAwAh0QIBANwCACHSAgEA2QIAIQUGAADjAgAgGQAAqQMAIBoAAKkDACDyASAAAAAB_AEgAKgDACEFBgAA4wIAIBkAAKkDACAaAACpAwAg8gEgAAAAAfwBIACoAwAhAvIBIAAAAAH8ASAAqQMAIQ0EAACsAwAgBQAArQMAIOgBAACqAwAw6QEAAA4AEOoBAACqAwAw6wEBAOkCACGEAgEA6gIAIY0CQAD-AgAhjgJAAP4CACG7AgEA6gIAIdACIACrAwAh0QIBAOoCACHSAgEA6QIAIQLyASAAAAAB_AEgAKkDACEDgQIAAAMAIIICAAADACCDAgAAAwAgA4ECAAAHACCCAgAABwAggwIAAAcAIAwDAACvAwAg6AEAAK4DADDpAQAABwAQ6gEAAK4DADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHBAkAA_gIAIcMCAQDpAgAhzQIBAOkCACHOAgEA6gIAIc8CAQDqAgAhDwQAAKwDACAFAACtAwAg6AEAAKoDADDpAQAADgAQ6gEAAKoDADDrAQEA6QIAIYQCAQDqAgAhjQJAAP4CACGOAkAA_gIAIbsCAQDqAgAh0AIgAKsDACHRAgEA6gIAIdICAQDpAgAh1AIAAA4AINUCAAAOACACxAIBAAAAAcUCAQAAAAERAwAArwMAIOgBAACxAwAw6QEAAAMAEOoBAACxAwAw6wEBAOkCACGNAkAA_gIAIY4CQAD-AgAhwwIBAOkCACHEAgEA6QIAIcUCAQDpAgAhxgIBAOoCACHHAgEA6gIAIcgCQACJAwAhyQJAAIkDACHKAgEA6gIAIcsCAQDqAgAhzAIBAOoCACEAAAAAAAAB2QIBAAAAAQHZAkAAAAABAtkCAQAAAATfAgEAAAAFAdkCAQAAAAEF2QICAAAAAeACAgAAAAHhAgIAAAAB4gICAAAAAeMCAgAAAAEFEwAAkgUAIBQAAJgFACDWAgAAkwUAINcCAACXBQAg3AIAAKgCACAFEwAAkAUAIBQAAJUFACDWAgAAkQUAINcCAACUBQAg3AIAANEBACAB2QIBAAAABAMTAACSBQAg1gIAAJMFACDcAgAAqAIAIAMTAACQBQAg1gIAAJEFACDcAgAA0QEAIAAAAAsTAADGAwAwFAAAywMAMNYCAADHAwAw1wIAAMgDADDYAgAAyQMAINkCAADKAwAw2gIAAMoDADDbAgAAygMAMNwCAADKAwAw3QIAAMwDADDeAgAAzQMAMAeUAQAAwQMAIOsBAgAAAAHtAQEAAAAB7gEBAAAAAe8BQAAAAAHwAQAAvwMAIPEBAQAAAAECAAAA1QEAIBMAANEDACADAAAA1QEAIBMAANEDACAUAADQAwAgAQwAAI8FADANkwEAAI4DACCUAQAAjwMAIOgBAACNAwAw6QEAANMBABDqAQAAjQMAMOsBAgAAAAHsAQEA6QIAIe0BAQDpAgAh7gEBAOkCACHvAUAAiQMAIfABAADbAgAg8QEBAOoCACG0AgAAjAMAIAIAAADVAQAgDAAA0AMAIAIAAADOAwAgDAAAzwMAIAroAQAAzQMAMOkBAADOAwAQ6gEAAM0DADDrAQIA_AIAIewBAQDpAgAh7QEBAOkCACHuAQEA6QIAIe8BQACJAwAh8AEAANsCACDxAQEA6gIAIQroAQAAzQMAMOkBAADOAwAQ6gEAAM0DADDrAQIA_AIAIewBAQDpAgAh7QEBAOkCACHuAQEA6QIAIe8BQACJAwAh8AEAANsCACDxAQEA6gIAIQbrAQIAvAMAIe0BAQC4AwAh7gEBALgDACHvAUAAuQMAIfABAAC6AwAg8QEBALsDACEHlAEAAL4DACDrAQIAvAMAIe0BAQC4AwAh7gEBALgDACHvAUAAuQMAIfABAAC6AwAg8QEBALsDACEHlAEAAMEDACDrAQIAAAAB7QEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABBBMAAMYDADDWAgAAxwMAMNgCAADJAwAg3AIAAMoDADAAAAAAAAAB2QIAAACGAgIB2QIAAQAAAQXZAgIAAAAB4AICAAAAAeECAgAAAAHiAgIAAAAB4wICAAAAAQHZAkAAAAABAAAAAAAAAtkCAQAAAATfAgEAAAAFAtkCAQAAAATfAgEAAAAFAtkCAQAAAATfAgEAAAAFAtkCAQAAAATfAgEAAAAFAtkCAQAAAATfAgEAAAAFAtkCAQAAAATfAgEAAAAFAtkCAQAAAATfAgEAAAAFCxMAAIIEADAUAACHBAAw1gIAAIMEADDXAgAAhgQAMNgCAACEBAAg2QIAAMoDADDaAgAAygMAMNsCAADKAwAw3AIAAMoDADDdAgAAiAQAMN4CAADNAwAwBxMAAIgFACAUAACNBQAg1gIAAIkFACDXAgAAjAUAINoCAADZAQAg2wIAANkBACDcAgAA0QEAIAsTAADtAwAwFAAA8gMAMNYCAADuAwAw1wIAAO8DADDYAgAA8AMAINkCAADxAwAw2gIAAPEDADDbAgAA8QMAMNwCAADxAwAw3QIAAPMDADDeAgAA9AMAMCKVAQAAgAQAIJcBAACBBAAg6wEBAAAAAYACAQAAAAGNAkAAAAABjgJAAAAAAZACAQAAAAGRAgEAAAABmQIBAAAAAZoCAQAAAAGbAgAA-QMAIJwCgAAAAAGdAgAA-gMAIJ4CgAAAAAGfAgEAAAABoAIAAPsDACChAgEAAAABogKAAAAAAaMCAQAAAAGkAgAA_AMAIKUCgAAAAAGmAgEAAAABpwIBAAAAAagCAAD9AwAgqQKAAAAAAasCAQAAAAGsAgAA_gMAIK0CAQAAAAGuAgAA_wMAIK8CAQAAAAGwAoAAAAABsQJAAAAAAbICQAAAAAGzAkAAAAABAgAAANEBACATAAD4AwAgAwAAANEBACATAAD4AwAgFAAA9wMAIAEMAACLBQAwJ5UBAADrAgAglgEAAIoDACCXAQAAiwMAIOgBAACHAwAw6QEAANkBABDqAQAAhwMAMOsBAQAAAAGAAgEAAAABjQJAAP4CACGOAkAA_gIAIZACAQDpAgAhkQIBAOkCACGZAgEA6QIAIZoCAQDqAgAhmwIAANsCACCcAgAAiAMAIJ0CAADbAgAgngIAAIgDACCfAgEA6gIAIaACAADbAgAgoQIBAOoCACGiAgAAiAMAIKMCAQDqAgAhpAIAANsCACClAgAAiAMAIKYCAQDqAgAhpwIBAOoCACGoAgAA2wIAIKkCAACIAwAgqgIBAOoCACGrAgEA6gIAIawCAADbAgAgrQIBAOoCACGuAgAA2wIAIK8CAQDqAgAhsAIAAIgDACCxAkAAiQMAIbICQACJAwAhswJAAIkDACECAAAA0QEAIAwAAPcDACACAAAA9QMAIAwAAPYDACAk6AEAAPQDADDpAQAA9QMAEOoBAAD0AwAw6wEBAOkCACGAAgEA6QIAIY0CQAD-AgAhjgJAAP4CACGQAgEA6QIAIZECAQDpAgAhmQIBAOkCACGaAgEA6gIAIZsCAADbAgAgnAIAAIgDACCdAgAA2wIAIJ4CAACIAwAgnwIBAOoCACGgAgAA2wIAIKECAQDqAgAhogIAAIgDACCjAgEA6gIAIaQCAADbAgAgpQIAAIgDACCmAgEA6gIAIacCAQDqAgAhqAIAANsCACCpAgAAiAMAIKoCAQDqAgAhqwIBAOoCACGsAgAA2wIAIK0CAQDqAgAhrgIAANsCACCvAgEA6gIAIbACAACIAwAgsQJAAIkDACGyAkAAiQMAIbMCQACJAwAhJOgBAAD0AwAw6QEAAPUDABDqAQAA9AMAMOsBAQDpAgAhgAIBAOkCACGNAkAA_gIAIY4CQAD-AgAhkAIBAOkCACGRAgEA6QIAIZkCAQDpAgAhmgIBAOoCACGbAgAA2wIAIJwCAACIAwAgnQIAANsCACCeAgAAiAMAIJ8CAQDqAgAhoAIAANsCACChAgEA6gIAIaICAACIAwAgowIBAOoCACGkAgAA2wIAIKUCAACIAwAgpgIBAOoCACGnAgEA6gIAIagCAADbAgAgqQIAAIgDACCqAgEA6gIAIasCAQDqAgAhrAIAANsCACCtAgEA6gIAIa4CAADbAgAgrwIBAOoCACGwAgAAiAMAILECQACJAwAhsgJAAIkDACGzAkAAiQMAISDrAQEAuAMAIYACAQC4AwAhjQJAANwDACGOAkAA3AMAIZACAQC4AwAhkQIBALgDACGZAgEAuAMAIZoCAQC7AwAhmwIAAOMDACCcAoAAAAABnQIAAOQDACCeAoAAAAABnwIBALsDACGgAgAA5QMAIKECAQC7AwAhogKAAAAAAaMCAQC7AwAhpAIAAOYDACClAoAAAAABpgIBALsDACGnAgEAuwMAIagCAADnAwAgqQKAAAAAAasCAQC7AwAhrAIAAOgDACCtAgEAuwMAIa4CAADpAwAgrwIBALsDACGwAoAAAAABsQJAALkDACGyAkAAuQMAIbMCQAC5AwAhIpUBAADqAwAglwEAAOwDACDrAQEAuAMAIYACAQC4AwAhjQJAANwDACGOAkAA3AMAIZACAQC4AwAhkQIBALgDACGZAgEAuAMAIZoCAQC7AwAhmwIAAOMDACCcAoAAAAABnQIAAOQDACCeAoAAAAABnwIBALsDACGgAgAA5QMAIKECAQC7AwAhogKAAAAAAaMCAQC7AwAhpAIAAOYDACClAoAAAAABpgIBALsDACGnAgEAuwMAIagCAADnAwAgqQKAAAAAAasCAQC7AwAhrAIAAOgDACCtAgEAuwMAIa4CAADpAwAgrwIBALsDACGwAoAAAAABsQJAALkDACGyAkAAuQMAIbMCQAC5AwAhIpUBAACABAAglwEAAIEEACDrAQEAAAABgAIBAAAAAY0CQAAAAAGOAkAAAAABkAIBAAAAAZECAQAAAAGZAgEAAAABmgIBAAAAAZsCAAD5AwAgnAKAAAAAAZ0CAAD6AwAgngKAAAAAAZ8CAQAAAAGgAgAA-wMAIKECAQAAAAGiAoAAAAABowIBAAAAAaQCAAD8AwAgpQKAAAAAAaYCAQAAAAGnAgEAAAABqAIAAP0DACCpAoAAAAABqwIBAAAAAawCAAD-AwAgrQIBAAAAAa4CAAD_AwAgrwIBAAAAAbACgAAAAAGxAkAAAAABsgJAAAAAAbMCQAAAAAEB2QIBAAAABAHZAgEAAAAEAdkCAQAAAAQB2QIBAAAABAHZAgEAAAAEAdkCAQAAAAQB2QIBAAAABAQTAACCBAAw1gIAAIMEADDYAgAAhAQAINwCAADKAwAwBBMAAO0DADDWAgAA7gMAMNgCAADwAwAg3AIAAPEDADAHkwEAAMADACDrAQIAAAAB7AEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABAgAAANUBACATAACFBAAgAQwAAIoFADAHkwEAAMADACDrAQIAAAAB7AEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABAwAAANUBACATAACFBAAgFAAAigQAIAIAAADVAQAgDAAAigQAIAIAAADOAwAgDAAAiQQAIAbrAQIAvAMAIewBAQC4AwAh7gEBALgDACHvAUAAuQMAIfABAAC6AwAg8QEBALsDACEHkwEAAL0DACDrAQIAvAMAIewBAQC4AwAh7gEBALgDACHvAUAAuQMAIfABAAC6AwAg8QEBALsDACEDEwAAiAUAINYCAACJBQAg3AIAANEBACAWlQEAANMDACCWAQAAjAQAIJcBAACNBAAgmgIAALIDACCcAgAAsgMAIJ4CAACyAwAgnwIAALIDACChAgAAsgMAIKICAACyAwAgowIAALIDACClAgAAsgMAIKYCAACyAwAgpwIAALIDACCpAgAAsgMAIKoCAACyAwAgqwIAALIDACCtAgAAsgMAIK8CAACyAwAgsAIAALIDACCxAgAAsgMAILICAACyAwAgswIAALIDACAAApIBAADTAwAg8QEAALIDACAAAAAB2QIAAAC2AgIC2QIBAAAABN8CAQAAAAUB2QIBAAAABAAAAAAABRMAAIAFACAUAACGBQAg1gIAAIEFACDXAgAAhQUAINwCAACJAQAgBRMAAP4EACAUAACDBQAg1gIAAP8EACDXAgAAggUAINwCAABpACADEwAAgAUAINYCAACBBQAg3AIAAIkBACADEwAA_gQAINYCAAD_BAAg3AIAAGkAIAAAAAsTAACiBAAwFAAApwQAMNYCAACjBAAw1wIAAKQEADDYAgAApQQAINkCAACmBAAw2gIAAKYEADDbAgAApgQAMNwCAACmBAAw3QIAAKgEADDeAgAAqQQAMANPAACdBAAg6wECAAAAAboCAQAAAAECAAAAbQAgEwAArQQAIAMAAABtACATAACtBAAgFAAArAQAIAEMAAD9BAAwCU4AAJ8DACBPAACgAwAg6AEAAJ4DADDpAQAAawAQ6gEAAJ4DADDrAQIAAAABuQIBAOkCACG6AgEA6QIAIb4CAACdAwAgAgAAAG0AIAwAAKwEACACAAAAqgQAIAwAAKsEACAG6AEAAKkEADDpAQAAqgQAEOoBAACpBAAw6wECAPwCACG5AgEA6QIAIboCAQDpAgAhBugBAACpBAAw6QEAAKoEABDqAQAAqQQAMOsBAgD8AgAhuQIBAOkCACG6AgEA6QIAIQLrAQIAvAMAIboCAQC4AwAhA08AAJsEACDrAQIAvAMAIboCAQC4AwAhA08AAJ0EACDrAQIAAAABugIBAAAAAQQTAACiBAAw1gIAAKMEADDYAgAApQQAINwCAACmBAAwAAAAAAsTAAC0BAAwFAAAuAQAMNYCAAC1BAAw1wIAALYEADDYAgAAtwQAINkCAACmBAAw2gIAAKYEADDbAgAApgQAMNwCAACmBAAw3QIAALkEADDeAgAAqQQAMANOAACcBAAg6wECAAAAAbkCAQAAAAECAAAAbQAgEwAAvAQAIAMAAABtACATAAC8BAAgFAAAuwQAIAEMAAD8BAAwAgAAAG0AIAwAALsEACACAAAAqgQAIAwAALoEACAC6wECALwDACG5AgEAuAMAIQNOAACaBAAg6wECALwDACG5AgEAuAMAIQNOAACcBAAg6wECAAAAAbkCAQAAAAEEEwAAtAQAMNYCAAC1BAAw2AIAALcEACDcAgAApgQAMANNAACvBAAgkAIAALIDACC7AgAAsgMAIAJNAACvBAAguwIAALIDACAAAAAAAAAFEwAA9wQAIBQAAPoEACDWAgAA-AQAINcCAAD5BAAg3AIAAAEAIAMTAAD3BAAg1gIAAPgEACDcAgAAAQAgAAAABRMAAPIEACAUAAD1BAAg1gIAAPMEACDXAgAA9AQAINwCAAABACADEwAA8gQAINYCAADzBAAg3AIAAAEAIAAAAAHZAiAAAAABCxMAAN8EADAUAADkBAAw1gIAAOAEADDXAgAA4QQAMNgCAADiBAAg2QIAAOMEADDaAgAA4wQAMNsCAADjBAAw3AIAAOMEADDdAgAA5QQAMN4CAADmBAAwCxMAANMEADAUAADYBAAw1gIAANQEADDXAgAA1QQAMNgCAADWBAAg2QIAANcEADDaAgAA1wQAMNsCAADXBAAw3AIAANcEADDdAgAA2QQAMN4CAADaBAAwB-sBAQAAAAGNAkAAAAABjgJAAAAAAcECQAAAAAHNAgEAAAABzgIBAAAAAc8CAQAAAAECAAAACQAgEwAA3gQAIAMAAAAJACATAADeBAAgFAAA3QQAIAEMAADxBAAwDAMAAK8DACDoAQAArgMAMOkBAAAHABDqAQAArgMAMOsBAQAAAAGNAkAA_gIAIY4CQAD-AgAhwQJAAP4CACHDAgEA6QIAIc0CAQAAAAHOAgEA6gIAIc8CAQDqAgAhAgAAAAkAIAwAAN0EACACAAAA2wQAIAwAANwEACAL6AEAANoEADDpAQAA2wQAEOoBAADaBAAw6wEBAOkCACGNAkAA_gIAIY4CQAD-AgAhwQJAAP4CACHDAgEA6QIAIc0CAQDpAgAhzgIBAOoCACHPAgEA6gIAIQvoAQAA2gQAMOkBAADbBAAQ6gEAANoEADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHBAkAA_gIAIcMCAQDpAgAhzQIBAOkCACHOAgEA6gIAIc8CAQDqAgAhB-sBAQC4AwAhjQJAANwDACGOAkAA3AMAIcECQADcAwAhzQIBALgDACHOAgEAuwMAIc8CAQC7AwAhB-sBAQC4AwAhjQJAANwDACGOAkAA3AMAIcECQADcAwAhzQIBALgDACHOAgEAuwMAIc8CAQC7AwAhB-sBAQAAAAGNAkAAAAABjgJAAAAAAcECQAAAAAHNAgEAAAABzgIBAAAAAc8CAQAAAAEM6wEBAAAAAY0CQAAAAAGOAkAAAAABxAIBAAAAAcUCAQAAAAHGAgEAAAABxwIBAAAAAcgCQAAAAAHJAkAAAAABygIBAAAAAcsCAQAAAAHMAgEAAAABAgAAAAUAIBMAAOoEACADAAAABQAgEwAA6gQAIBQAAOkEACABDAAA8AQAMBIDAACvAwAg6AEAALEDADDpAQAAAwAQ6gEAALEDADDrAQEAAAABjQJAAP4CACGOAkAA_gIAIcMCAQDpAgAhxAIBAOkCACHFAgEA6QIAIcYCAQDqAgAhxwIBAOoCACHIAkAAiQMAIckCQACJAwAhygIBAOoCACHLAgEA6gIAIcwCAQDqAgAh0wIAALADACACAAAABQAgDAAA6QQAIAIAAADnBAAgDAAA6AQAIBDoAQAA5gQAMOkBAADnBAAQ6gEAAOYEADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHDAgEA6QIAIcQCAQDpAgAhxQIBAOkCACHGAgEA6gIAIccCAQDqAgAhyAJAAIkDACHJAkAAiQMAIcoCAQDqAgAhywIBAOoCACHMAgEA6gIAIRDoAQAA5gQAMOkBAADnBAAQ6gEAAOYEADDrAQEA6QIAIY0CQAD-AgAhjgJAAP4CACHDAgEA6QIAIcQCAQDpAgAhxQIBAOkCACHGAgEA6gIAIccCAQDqAgAhyAJAAIkDACHJAkAAiQMAIcoCAQDqAgAhywIBAOoCACHMAgEA6gIAIQzrAQEAuAMAIY0CQADcAwAhjgJAANwDACHEAgEAuAMAIcUCAQC4AwAhxgIBALsDACHHAgEAuwMAIcgCQAC5AwAhyQJAALkDACHKAgEAuwMAIcsCAQC7AwAhzAIBALsDACEM6wEBALgDACGNAkAA3AMAIY4CQADcAwAhxAIBALgDACHFAgEAuAMAIcYCAQC7AwAhxwIBALsDACHIAkAAuQMAIckCQAC5AwAhygIBALsDACHLAgEAuwMAIcwCAQC7AwAhDOsBAQAAAAGNAkAAAAABjgJAAAAAAcQCAQAAAAHFAgEAAAABxgIBAAAAAccCAQAAAAHIAkAAAAAByQJAAAAAAcoCAQAAAAHLAgEAAAABzAIBAAAAAQQTAADfBAAw1gIAAOAEADDYAgAA4gQAINwCAADjBAAwBBMAANMEADDWAgAA1AQAMNgCAADWBAAg3AIAANcEADAAAAUEAADtBAAgBQAA7gQAIIQCAACyAwAguwIAALIDACDRAgAAsgMAIAzrAQEAAAABjQJAAAAAAY4CQAAAAAHEAgEAAAABxQIBAAAAAcYCAQAAAAHHAgEAAAAByAJAAAAAAckCQAAAAAHKAgEAAAABywIBAAAAAcwCAQAAAAEH6wEBAAAAAY0CQAAAAAGOAkAAAAABwQJAAAAAAc0CAQAAAAHOAgEAAAABzwIBAAAAAQkEAADrBAAg6wEBAAAAAYQCAQAAAAGNAkAAAAABjgJAAAAAAbsCAQAAAAHQAiAAAAAB0QIBAAAAAdICAQAAAAECAAAAAQAgEwAA8gQAIAMAAAAOACATAADyBAAgFAAA9gQAIAsAAAAOACAEAADRBAAgDAAA9gQAIOsBAQC4AwAhhAIBALsDACGNAkAA3AMAIY4CQADcAwAhuwIBALsDACHQAiAA0AQAIdECAQC7AwAh0gIBALgDACEJBAAA0QQAIOsBAQC4AwAhhAIBALsDACGNAkAA3AMAIY4CQADcAwAhuwIBALsDACHQAiAA0AQAIdECAQC7AwAh0gIBALgDACEJBQAA7AQAIOsBAQAAAAGEAgEAAAABjQJAAAAAAY4CQAAAAAG7AgEAAAAB0AIgAAAAAdECAQAAAAHSAgEAAAABAgAAAAEAIBMAAPcEACADAAAADgAgEwAA9wQAIBQAAPsEACALAAAADgAgBQAA0gQAIAwAAPsEACDrAQEAuAMAIYQCAQC7AwAhjQJAANwDACGOAkAA3AMAIbsCAQC7AwAh0AIgANAEACHRAgEAuwMAIdICAQC4AwAhCQUAANIEACDrAQEAuAMAIYQCAQC7AwAhjQJAANwDACGOAkAA3AMAIbsCAQC7AwAh0AIgANAEACHRAgEAuwMAIdICAQC4AwAhAusBAgAAAAG5AgEAAAABAusBAgAAAAG6AgEAAAABBoACAQAAAAGNAkAAAAABjgJAAAAAAbsCAQAAAAG8AgEAAAABvQIBAAAAAQIAAABpACATAAD-BAAgBYACAQAAAAGNAkAAAAABjgJAAAAAAZACAQAAAAG7AgEAAAABAgAAAIkBACATAACABQAgAwAAAHMAIBMAAP4EACAUAACEBQAgCAAAAHMAIAwAAIQFACCAAgEAuAMAIY0CQADcAwAhjgJAANwDACG7AgEAuwMAIbwCAQC4AwAhvQIBALgDACEGgAIBALgDACGNAkAA3AMAIY4CQADcAwAhuwIBALsDACG8AgEAuAMAIb0CAQC4AwAhAwAAAIwBACATAACABQAgFAAAhwUAIAcAAACMAQAgDAAAhwUAIIACAQC4AwAhjQJAANwDACGOAkAA3AMAIZACAQC7AwAhuwIBALsDACEFgAIBALgDACGNAkAA3AMAIY4CQADcAwAhkAIBALsDACG7AgEAuwMAISOVAQAAgAQAIJYBAACLBAAg6wEBAAAAAYACAQAAAAGNAkAAAAABjgJAAAAAAZACAQAAAAGRAgEAAAABmQIBAAAAAZoCAQAAAAGbAgAA-QMAIJwCgAAAAAGdAgAA-gMAIJ4CgAAAAAGfAgEAAAABoAIAAPsDACChAgEAAAABogKAAAAAAaMCAQAAAAGkAgAA_AMAIKUCgAAAAAGmAgEAAAABpwIBAAAAAagCAAD9AwAgqQKAAAAAAaoCAQAAAAGrAgEAAAABrAIAAP4DACCtAgEAAAABrgIAAP8DACCvAgEAAAABsAKAAAAAAbECQAAAAAGyAkAAAAABswJAAAAAAQIAAADRAQAgEwAAiAUAIAbrAQIAAAAB7AEBAAAAAe4BAQAAAAHvAUAAAAAB8AEAAL8DACDxAQEAAAABIOsBAQAAAAGAAgEAAAABjQJAAAAAAY4CQAAAAAGQAgEAAAABkQIBAAAAAZkCAQAAAAGaAgEAAAABmwIAAPkDACCcAoAAAAABnQIAAPoDACCeAoAAAAABnwIBAAAAAaACAAD7AwAgoQIBAAAAAaICgAAAAAGjAgEAAAABpAIAAPwDACClAoAAAAABpgIBAAAAAacCAQAAAAGoAgAA_QMAIKkCgAAAAAGrAgEAAAABrAIAAP4DACCtAgEAAAABrgIAAP8DACCvAgEAAAABsAKAAAAAAbECQAAAAAGyAkAAAAABswJAAAAAAQMAAADZAQAgEwAAiAUAIBQAAI4FACAlAAAA2QEAIAwAAI4FACCVAQAA6gMAIJYBAADrAwAg6wEBALgDACGAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZECAQC4AwAhmQIBALgDACGaAgEAuwMAIZsCAADjAwAgnAKAAAAAAZ0CAADkAwAgngKAAAAAAZ8CAQC7AwAhoAIAAOUDACChAgEAuwMAIaICgAAAAAGjAgEAuwMAIaQCAADmAwAgpQKAAAAAAaYCAQC7AwAhpwIBALsDACGoAgAA5wMAIKkCgAAAAAGqAgEAuwMAIasCAQC7AwAhrAIAAOgDACCtAgEAuwMAIa4CAADpAwAgrwIBALsDACGwAoAAAAABsQJAALkDACGyAkAAuQMAIbMCQAC5AwAhI5UBAADqAwAglgEAAOsDACDrAQEAuAMAIYACAQC4AwAhjQJAANwDACGOAkAA3AMAIZACAQC4AwAhkQIBALgDACGZAgEAuAMAIZoCAQC7AwAhmwIAAOMDACCcAoAAAAABnQIAAOQDACCeAoAAAAABnwIBALsDACGgAgAA5QMAIKECAQC7AwAhogKAAAAAAaMCAQC7AwAhpAIAAOYDACClAoAAAAABpgIBALsDACGnAgEAuwMAIagCAADnAwAgqQKAAAAAAaoCAQC7AwAhqwIBALsDACGsAgAA6AMAIK0CAQC7AwAhrgIAAOkDACCvAgEAuwMAIbACgAAAAAGxAkAAuQMAIbICQAC5AwAhswJAALkDACEG6wECAAAAAe0BAQAAAAHuAQEAAAAB7wFAAAAAAfABAAC_AwAg8QEBAAAAASOWAQAAiwQAIJcBAACBBAAg6wEBAAAAAYACAQAAAAGNAkAAAAABjgJAAAAAAZACAQAAAAGRAgEAAAABmQIBAAAAAZoCAQAAAAGbAgAA-QMAIJwCgAAAAAGdAgAA-gMAIJ4CgAAAAAGfAgEAAAABoAIAAPsDACChAgEAAAABogKAAAAAAaMCAQAAAAGkAgAA_AMAIKUCgAAAAAGmAgEAAAABpwIBAAAAAagCAAD9AwAgqQKAAAAAAaoCAQAAAAGrAgEAAAABrAIAAP4DACCtAgEAAAABrgIAAP8DACCvAgEAAAABsAKAAAAAAbECQAAAAAGyAkAAAAABswJAAAAAAQIAAADRAQAgEwAAkAUAIALxAQEAAAABgAIBAAAAAQIAAACoAgAgEwAAkgUAIAMAAADZAQAgEwAAkAUAIBQAAJYFACAlAAAA2QEAIAwAAJYFACCWAQAA6wMAIJcBAADsAwAg6wEBALgDACGAAgEAuAMAIY0CQADcAwAhjgJAANwDACGQAgEAuAMAIZECAQC4AwAhmQIBALgDACGaAgEAuwMAIZsCAADjAwAgnAKAAAAAAZ0CAADkAwAgngKAAAAAAZ8CAQC7AwAhoAIAAOUDACChAgEAuwMAIaICgAAAAAGjAgEAuwMAIaQCAADmAwAgpQKAAAAAAaYCAQC7AwAhpwIBALsDACGoAgAA5wMAIKkCgAAAAAGqAgEAuwMAIasCAQC7AwAhrAIAAOgDACCtAgEAuwMAIa4CAADpAwAgrwIBALsDACGwAoAAAAABsQJAALkDACGyAkAAuQMAIbMCQAC5AwAhI5YBAADrAwAglwEAAOwDACDrAQEAuAMAIYACAQC4AwAhjQJAANwDACGOAkAA3AMAIZACAQC4AwAhkQIBALgDACGZAgEAuAMAIZoCAQC7AwAhmwIAAOMDACCcAoAAAAABnQIAAOQDACCeAoAAAAABnwIBALsDACGgAgAA5QMAIKECAQC7AwAhogKAAAAAAaMCAQC7AwAhpAIAAOYDACClAoAAAAABpgIBALsDACGnAgEAuwMAIagCAADnAwAgqQKAAAAAAaoCAQC7AwAhqwIBALsDACGsAgAA6AMAIK0CAQC7AwAhrgIAAOkDACCvAgEAuwMAIbACgAAAAAGxAkAAuQMAIbICQAC5AwAhswJAALkDACEDAAAAqwIAIBMAAJIFACAUAACZBQAgBAAAAKsCACAMAACZBQAg8QEBALsDACGAAgEAuAMAIQLxAQEAuwMAIYACAQC4AwAhAwQGAgUKAwYABAEDAAEBAwABAgQLAAUMAAAAAAMGAAkZAAoaAAsAAAADBgAJGQAKGgALAQMAAQEDAAEDBgAQGQARGgASAAAAAwYAEBkAERoAEgEDAAEBAwABAwYAFxkAGBoAGQAAAAMGABcZABgaABkAAAADBgAfGQAgGgAhAAAAAwYAHxkAIBoAIQIGACdNbiQCTgAlTwAjAgYAJk1vJAFNcAABTXEAAAADBgArGQAsGgAtAAAAAwYAKxkALBoALQAAAwYAMhkAMxoANAAAAAMGADIZADMaADQCTgAlTwAjAk4AJU8AIwUGADkZADwaAD1-ADp_ADsAAAAAAAUGADkZADwaAD1-ADp_ADsAAAADBgBDGQBEGgBFAAAAAwYAQxkARBoARQQGAEuVAdYBSJYB2gFHlwHcAUcCkwEASZQBAEcCBgBKkgHXAUgBkgHYAQAClQHdAQCXAd4BAAGWAegBRwGWAe4BRwMGAE8ZAFAaAFEAAAADBgBPGQBQGgBRAAAAAwYAVxkAWBoAWQAAAAMGAFcZAFgaAFkAAAAFBgBfGQBiGgBjfgBgfwBhAAAAAAAFBgBfGQBiGgBjfgBgfwBhAAADBgBoGQBpGgBqAAAAAwYAaBkAaRoAagKTAQBJlAEARwKTAQBJlAEARwUGAG8ZAHIaAHN-AHB_AHEAAAAAAAUGAG8ZAHIaAHN-AHB_AHEHAgEIDQEJEAEKEQELEgENFAEOFgUPFwYQGQERGwUSHAcVHQEWHgEXHwUbIggcIwwdJAMeJQMfJgMgJwMhKAMiKgMjLAUkLQ0lLwMmMQUnMg4oMwMpNAMqNQUrOA8sORMtOgIuOwIvPAIwPQIxPgIyQAIzQgU0QxQ1RQI2RwU3SBU4SQI5SgI6SwU7ThY8Txo9URs-Uhs_VRtAVhtBVxtCWRtDWwVEXBxFXhtGYAVHYR1IYhtJYxtKZAVLZx5MaCJQaiNRciNSdSNTdiNUdyNVeSNWewVXfChYfiNZgAEFWoEBKVuCASNcgwEjXYQBBV6HASpfiAEuYIoBJWGLASVijgElY48BJWSQASVlkgElZpQBBWeVAS9olwElaZkBBWqaATBrmwElbJwBJW2dAQVuoAExb6EBNXCiASRxowEkcqQBJHOlASR0pgEkdagBJHaqAQV3qwE2eK0BJHmvAQV6sAE3e7EBJHyyASR9swEFgAG2ATiBAbcBPoIBuQE_gwG6AT-EAb0BP4UBvgE_hgG_AT-HAcEBP4gBwwEFiQHEAUCKAcYBP4sByAEFjAHJAUGNAcoBP44BywE_jwHMAQWQAc8BQpEB0AFGmAHSAUeZAd8BR5oB4AFHmwHhAUecAeIBR50B5AFHngHmAQWfAecBTKAB6gFHoQHsAQWiAe0BTaMB7wFHpAHwAUelAfEBBaYB9AFOpwH1AVKoAfcBU6kB-AFTqgH7AVOrAfwBU6wB_QFTrQH_AVOuAYECBa8BggJUsAGEAlOxAYYCBbIBhwJVswGIAlO0AYkCU7UBigIFtgGNAla3AY4CWrgBkAJbuQGRAlu6AZQCW7sBlQJbvAGWAlu9AZgCW74BmgIFvwGbAlzAAZ0CW8EBnwIFwgGgAl3DAaECW8QBogJbxQGjAgXGAaYCXscBpwJkyAGpAknJAaoCScoBrQJJywGuAknMAa8CSc0BsQJJzgGzAgXPAbQCZdABtgJJ0QG4AgXSAbkCZtMBugJJ1AG7AknVAbwCBdYBvwJn1wHAAmvYAcECSNkBwgJI2gHDAkjbAcQCSNwBxQJI3QHHAkjeAckCBd8BygJs4AHMAkjhAc4CBeIBzwJt4wHQAkjkAdECSOUB0gIF5gHVAm7nAdYCdA"
24
24
  };
25
25
  async function decodeBase64AsWasm(wasmBase64) {
26
26
  const { Buffer } = await import("node:buffer");