
/* !!! This is code generated by Prisma. Do not edit directly. !!! */
/* eslint-disable */
// biome-ignore-all lint: generated file
// @ts-nocheck 
/*
 * WARNING: This is an internal file that is subject to change!
 *
 * 🛑 Under no circumstances should you import this file directly! 🛑
 *
 * Please import the `PrismaClient` class from the `client.ts` file instead.
 */

import * as runtime from "@prisma/client/runtime/client"
import type * as Prisma from "./prismaNamespace"


const config: runtime.GetPrismaClientConfig = {
  "previewFeatures": [],
  "clientVersion": "7.8.0",
  "engineVersion": "3c6e192761c0362d496ed980de936e2f3cebcd3a",
  "activeProvider": "postgresql",
  "inlineSchema": "// Schéma Prisma — base `leperelion`. Voir 06_MODELE_DONNEES.md.\ngenerator client {\n  provider = \"prisma-client\"\n  output   = \"../src/generated/prisma\"\n}\n\ndatasource db {\n  provider = \"postgresql\"\n}\n\nenum Role {\n  super_admin\n  admin\n  user\n}\n\nmodel User {\n  id           String   @id @default(uuid())\n  username     String   @unique\n  email        String?  @unique\n  passwordHash String\n  role         Role     @default(user)\n  displayName  String?\n  isActive     Boolean  @default(true)\n  createdAt    DateTime @default(now())\n  updatedAt    DateTime @updatedAt\n\n  googleAccounts  GoogleAccount[]\n  refreshSessions RefreshSession[]\n  devices         Device[]\n}\n\nmodel GoogleAccount {\n  id              String    @id @default(uuid())\n  userId          String\n  user            User      @relation(fields: [userId], references: [id], onDelete: Cascade)\n  googleSub       String\n  email           String\n  refreshTokenEnc String\n  scopes          String[]\n  connectedAt     DateTime  @default(now())\n  lastRefreshAt   DateTime?\n\n  @@unique([userId, googleSub])\n}\n\nmodel RefreshSession {\n  id        String    @id @default(uuid())\n  userId    String\n  user      User      @relation(fields: [userId], references: [id], onDelete: Cascade)\n  tokenHash String\n  userAgent String?\n  expiresAt DateTime\n  revokedAt DateTime?\n  createdAt DateTime  @default(now())\n\n  @@index([userId])\n}\n\nmodel Device {\n  id                String    @id @default(uuid())\n  userId            String\n  user              User      @relation(fields: [userId], references: [id], onDelete: Cascade)\n  name              String\n  pairingToken      String    @unique\n  lastSeenAt        DateTime?\n  createdAt         DateTime  @default(now())\n  // Commandes OwnTracks en attente (envoyées au prochain contact du téléphone, mode HTTP)\n  cmdReportLocation Boolean   @default(false) // demander une position immédiate\n  cmdSyncWaypoints  Boolean   @default(false) // pousser la zone (waypoint) vers le téléphone\n\n  locations    LocationPoint[]\n  geofence     Geofence?\n  batteryAlert BatteryAlert?\n}\n\n// Alerte de batterie faible : message WhatsApp quand la batterie passe sous un seuil.\nmodel BatteryAlert {\n  id             String    @id @default(uuid())\n  deviceId       String    @unique\n  device         Device    @relation(fields: [deviceId], references: [id], onDelete: Cascade)\n  threshold      Int       @default(20) // %\n  notifyNumber   String // cible WhatsApp (jid de conversation ou numéro)\n  message        String? // modèle (variables {device} {battery} {threshold}) ; défaut si vide\n  enabled        Boolean   @default(true)\n  lastBelow      Boolean? // état précédent (alerter au franchissement à la baisse)\n  lastNotifiedAt DateTime?\n  createdAt      DateTime  @default(now())\n  updatedAt      DateTime  @updatedAt\n}\n\n// Alerte de zone : si l'appareil sort d'un rayon autour d'un point de référence,\n// un message WhatsApp est envoyé. Une zone par appareil (MVP).\nmodel Geofence {\n  id             String    @id @default(uuid())\n  deviceId       String    @unique\n  device         Device    @relation(fields: [deviceId], references: [id], onDelete: Cascade)\n  refLat         Float\n  refLng         Float\n  radiusM        Int       @default(50)\n  notifyNumber   String // cible WhatsApp (jid de conversation ou numéro international)\n  message        String? // modèle de message (variables {device} {distance} {radius} {link}) ; défaut si vide\n  enabled        Boolean   @default(true)\n  lastInside     Boolean? // état précédent (pour n'alerter qu'au franchissement)\n  lastNotifiedAt DateTime?\n  createdAt      DateTime  @default(now())\n  updatedAt      DateTime  @updatedAt\n}\n\n// Journal des connexions (consultable par le Super Admin via /admin/logs).\nmodel LoginEvent {\n  id        String   @id @default(uuid())\n  userId    String? // utilisateur concerné (null si échec sur identifiant inconnu)\n  username  String // identifiant saisi / du compte concerné\n  success   Boolean\n  kind      String   @default(\"password\") // \"password\" | \"impersonation\"\n  actor     String? // qui a déclenché (impersonation : le super_admin)\n  ip        String?\n  userAgent String?\n  createdAt DateTime @default(now())\n\n  @@index([createdAt])\n}\n\n// Réglages applicatifs globaux (clé/valeur), éditables par le Super Admin via /admin/config.\n// Les valeurs sensibles (secrets OAuth…) sont chiffrées au repos (isSecret = true).\nmodel AppSetting {\n  key       String   @id\n  value     String\n  isSecret  Boolean  @default(false)\n  updatedAt DateTime @updatedAt\n}\n\nmodel LocationPoint {\n  id         String   @id @default(uuid())\n  deviceId   String\n  device     Device   @relation(fields: [deviceId], references: [id], onDelete: Cascade)\n  lat        Float\n  lng        Float\n  accuracy   Float?\n  battery    Int?\n  recordedAt DateTime\n  createdAt  DateTime @default(now())\n\n  @@index([deviceId, recordedAt])\n}\n",
  "runtimeDataModel": {
    "models": {},
    "enums": {},
    "types": {}
  },
  "parameterizationSchema": {
    "strings": [],
    "graph": ""
  }
}

config.runtimeDataModel = JSON.parse("{\"models\":{\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"passwordHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"Role\"},{\"name\":\"displayName\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"googleAccounts\",\"kind\":\"object\",\"type\":\"GoogleAccount\",\"relationName\":\"GoogleAccountToUser\"},{\"name\":\"refreshSessions\",\"kind\":\"object\",\"type\":\"RefreshSession\",\"relationName\":\"RefreshSessionToUser\"},{\"name\":\"devices\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToUser\"}],\"dbName\":null},\"GoogleAccount\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"GoogleAccountToUser\"},{\"name\":\"googleSub\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refreshTokenEnc\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"scopes\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"connectedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"lastRefreshAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"RefreshSession\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"RefreshSessionToUser\"},{\"name\":\"tokenHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"revokedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Device\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"DeviceToUser\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"pairingToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"lastSeenAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"cmdReportLocation\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"cmdSyncWaypoints\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"locations\",\"kind\":\"object\",\"type\":\"LocationPoint\",\"relationName\":\"DeviceToLocationPoint\"},{\"name\":\"geofence\",\"kind\":\"object\",\"type\":\"Geofence\",\"relationName\":\"DeviceToGeofence\"},{\"name\":\"batteryAlert\",\"kind\":\"object\",\"type\":\"BatteryAlert\",\"relationName\":\"BatteryAlertToDevice\"}],\"dbName\":null},\"BatteryAlert\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deviceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"BatteryAlertToDevice\"},{\"name\":\"threshold\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"notifyNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lastBelow\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lastNotifiedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Geofence\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deviceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToGeofence\"},{\"name\":\"refLat\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"refLng\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"radiusM\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"notifyNumber\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"message\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"enabled\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lastInside\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"lastNotifiedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"LoginEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"username\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"success\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"kind\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"actor\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"ip\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userAgent\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"AppSetting\":{\"fields\":[{\"name\":\"key\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"value\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isSecret\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"LocationPoint\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"deviceId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"device\",\"kind\":\"object\",\"type\":\"Device\",\"relationName\":\"DeviceToLocationPoint\"},{\"name\":\"lat\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"lng\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"accuracy\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"battery\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"recordedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}")
config.parameterizationSchema = {
  strings: JSON.parse("[\"where\",\"orderBy\",\"cursor\",\"user\",\"googleAccounts\",\"refreshSessions\",\"device\",\"locations\",\"geofence\",\"batteryAlert\",\"_count\",\"devices\",\"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\",\"GoogleAccount.findUnique\",\"GoogleAccount.findUniqueOrThrow\",\"GoogleAccount.findFirst\",\"GoogleAccount.findFirstOrThrow\",\"GoogleAccount.findMany\",\"GoogleAccount.createOne\",\"GoogleAccount.createMany\",\"GoogleAccount.createManyAndReturn\",\"GoogleAccount.updateOne\",\"GoogleAccount.updateMany\",\"GoogleAccount.updateManyAndReturn\",\"GoogleAccount.upsertOne\",\"GoogleAccount.deleteOne\",\"GoogleAccount.deleteMany\",\"GoogleAccount.groupBy\",\"GoogleAccount.aggregate\",\"RefreshSession.findUnique\",\"RefreshSession.findUniqueOrThrow\",\"RefreshSession.findFirst\",\"RefreshSession.findFirstOrThrow\",\"RefreshSession.findMany\",\"RefreshSession.createOne\",\"RefreshSession.createMany\",\"RefreshSession.createManyAndReturn\",\"RefreshSession.updateOne\",\"RefreshSession.updateMany\",\"RefreshSession.updateManyAndReturn\",\"RefreshSession.upsertOne\",\"RefreshSession.deleteOne\",\"RefreshSession.deleteMany\",\"RefreshSession.groupBy\",\"RefreshSession.aggregate\",\"Device.findUnique\",\"Device.findUniqueOrThrow\",\"Device.findFirst\",\"Device.findFirstOrThrow\",\"Device.findMany\",\"Device.createOne\",\"Device.createMany\",\"Device.createManyAndReturn\",\"Device.updateOne\",\"Device.updateMany\",\"Device.updateManyAndReturn\",\"Device.upsertOne\",\"Device.deleteOne\",\"Device.deleteMany\",\"Device.groupBy\",\"Device.aggregate\",\"BatteryAlert.findUnique\",\"BatteryAlert.findUniqueOrThrow\",\"BatteryAlert.findFirst\",\"BatteryAlert.findFirstOrThrow\",\"BatteryAlert.findMany\",\"BatteryAlert.createOne\",\"BatteryAlert.createMany\",\"BatteryAlert.createManyAndReturn\",\"BatteryAlert.updateOne\",\"BatteryAlert.updateMany\",\"BatteryAlert.updateManyAndReturn\",\"BatteryAlert.upsertOne\",\"BatteryAlert.deleteOne\",\"BatteryAlert.deleteMany\",\"_avg\",\"_sum\",\"BatteryAlert.groupBy\",\"BatteryAlert.aggregate\",\"Geofence.findUnique\",\"Geofence.findUniqueOrThrow\",\"Geofence.findFirst\",\"Geofence.findFirstOrThrow\",\"Geofence.findMany\",\"Geofence.createOne\",\"Geofence.createMany\",\"Geofence.createManyAndReturn\",\"Geofence.updateOne\",\"Geofence.updateMany\",\"Geofence.updateManyAndReturn\",\"Geofence.upsertOne\",\"Geofence.deleteOne\",\"Geofence.deleteMany\",\"Geofence.groupBy\",\"Geofence.aggregate\",\"LoginEvent.findUnique\",\"LoginEvent.findUniqueOrThrow\",\"LoginEvent.findFirst\",\"LoginEvent.findFirstOrThrow\",\"LoginEvent.findMany\",\"LoginEvent.createOne\",\"LoginEvent.createMany\",\"LoginEvent.createManyAndReturn\",\"LoginEvent.updateOne\",\"LoginEvent.updateMany\",\"LoginEvent.updateManyAndReturn\",\"LoginEvent.upsertOne\",\"LoginEvent.deleteOne\",\"LoginEvent.deleteMany\",\"LoginEvent.groupBy\",\"LoginEvent.aggregate\",\"AppSetting.findUnique\",\"AppSetting.findUniqueOrThrow\",\"AppSetting.findFirst\",\"AppSetting.findFirstOrThrow\",\"AppSetting.findMany\",\"AppSetting.createOne\",\"AppSetting.createMany\",\"AppSetting.createManyAndReturn\",\"AppSetting.updateOne\",\"AppSetting.updateMany\",\"AppSetting.updateManyAndReturn\",\"AppSetting.upsertOne\",\"AppSetting.deleteOne\",\"AppSetting.deleteMany\",\"AppSetting.groupBy\",\"AppSetting.aggregate\",\"LocationPoint.findUnique\",\"LocationPoint.findUniqueOrThrow\",\"LocationPoint.findFirst\",\"LocationPoint.findFirstOrThrow\",\"LocationPoint.findMany\",\"LocationPoint.createOne\",\"LocationPoint.createMany\",\"LocationPoint.createManyAndReturn\",\"LocationPoint.updateOne\",\"LocationPoint.updateMany\",\"LocationPoint.updateManyAndReturn\",\"LocationPoint.upsertOne\",\"LocationPoint.deleteOne\",\"LocationPoint.deleteMany\",\"LocationPoint.groupBy\",\"LocationPoint.aggregate\",\"AND\",\"OR\",\"NOT\",\"id\",\"deviceId\",\"lat\",\"lng\",\"accuracy\",\"battery\",\"recordedAt\",\"createdAt\",\"equals\",\"in\",\"notIn\",\"lt\",\"lte\",\"gt\",\"gte\",\"not\",\"contains\",\"startsWith\",\"endsWith\",\"key\",\"value\",\"isSecret\",\"updatedAt\",\"userId\",\"username\",\"success\",\"kind\",\"actor\",\"ip\",\"userAgent\",\"refLat\",\"refLng\",\"radiusM\",\"notifyNumber\",\"message\",\"enabled\",\"lastInside\",\"lastNotifiedAt\",\"threshold\",\"lastBelow\",\"name\",\"pairingToken\",\"lastSeenAt\",\"cmdReportLocation\",\"cmdSyncWaypoints\",\"tokenHash\",\"expiresAt\",\"revokedAt\",\"googleSub\",\"email\",\"refreshTokenEnc\",\"scopes\",\"connectedAt\",\"lastRefreshAt\",\"has\",\"hasEvery\",\"hasSome\",\"passwordHash\",\"Role\",\"role\",\"displayName\",\"isActive\",\"every\",\"some\",\"none\",\"userId_googleSub\",\"is\",\"isNot\",\"connectOrCreate\",\"upsert\",\"disconnect\",\"delete\",\"connect\",\"createMany\",\"set\",\"updateMany\",\"deleteMany\",\"push\",\"increment\",\"decrement\",\"multiply\",\"divide\"]"),
  graph: "3gNRkAEPBAAApgIAIAUAAKcCACALAACoAgAgpAEAAKQCADClAQAAHAAQpgEAAKQCADCnAQEAAAABrgFAAIQCACG9AUAAhAIAIb8BAQAAAAHYAQEAAAAB4AEBAIICACHiAQAApQLiASLjAQEAigIAIeQBIACDAgAhAQAAAAEAIAwDAACtAgAgpAEAALMCADClAQAAAwAQpgEAALMCADCnAQEAggIAIb4BAQCCAgAh1wEBAIICACHYAQEAggIAIdkBAQCCAgAh2gEAAJ8CACDbAUAAhAIAIdwBQACYAgAhAgMAALkDACDcAQAAtAIAIA0DAACtAgAgpAEAALMCADClAQAAAwAQpgEAALMCADCnAQEAAAABvgEBAIICACHXAQEAggIAIdgBAQCCAgAh2QEBAIICACHaAQAAnwIAINsBQACEAgAh3AFAAJgCACHoAQAAsgIAIAMAAAADACABAAAEADACAAAFACALAwAArQIAIKQBAACxAgAwpQEAAAcAEKYBAACxAgAwpwEBAIICACGuAUAAhAIAIb4BAQCCAgAhxAEBAIoCACHUAQEAggIAIdUBQACEAgAh1gFAAJgCACEDAwAAuQMAIMQBAAC0AgAg1gEAALQCACALAwAArQIAIKQBAACxAgAwpQEAAAcAEKYBAACxAgAwpwEBAAAAAa4BQACEAgAhvgEBAIICACHEAQEAigIAIdQBAQCCAgAh1QFAAIQCACHWAUAAmAIAIQMAAAAHACABAAAIADACAAAJACAPAwAArQIAIAcAAK4CACAIAACvAgAgCQAAsAIAIKQBAACsAgAwpQEAAAsAEKYBAACsAgAwpwEBAIICACGuAUAAhAIAIb4BAQCCAgAhzwEBAIICACHQAQEAggIAIdEBQACYAgAh0gEgAIMCACHTASAAgwIAIQUDAAC5AwAgBwAAugMAIAgAALsDACAJAAC8AwAg0QEAALQCACAPAwAArQIAIAcAAK4CACAIAACvAgAgCQAAsAIAIKQBAACsAgAwpQEAAAsAEKYBAACsAgAwpwEBAAAAAa4BQACEAgAhvgEBAIICACHPAQEAggIAIdABAQAAAAHRAUAAmAIAIdIBIACDAgAh0wEgAIMCACEDAAAACwAgAQAADAAwAgAADQAgDAYAAJkCACCkAQAAqQIAMKUBAAAPABCmAQAAqQIAMKcBAQCCAgAhqAEBAIICACGpAQgAlQIAIaoBCACVAgAhqwEIAKoCACGsAQIAqwIAIa0BQACEAgAhrgFAAIQCACEDBgAA0wIAIKsBAAC0AgAgrAEAALQCACAMBgAAmQIAIKQBAACpAgAwpQEAAA8AEKYBAACpAgAwpwEBAAAAAagBAQCCAgAhqQEIAJUCACGqAQgAlQIAIasBCACqAgAhrAECAKsCACGtAUAAhAIAIa4BQACEAgAhAwAAAA8AIAEAABAAMAIAABEAIBAGAACZAgAgpAEAAJQCADClAQAAEwAQpgEAAJQCADCnAQEAggIAIagBAQCCAgAhrgFAAIQCACG9AUAAhAIAIcUBCACVAgAhxgEIAJUCACHHAQIAlgIAIcgBAQCCAgAhyQEBAIoCACHKASAAgwIAIcsBIACXAgAhzAFAAJgCACEBAAAAEwAgDgYAAJkCACCkAQAAmwIAMKUBAAAVABCmAQAAmwIAMKcBAQCCAgAhqAEBAIICACGuAUAAhAIAIb0BQACEAgAhyAEBAIICACHJAQEAigIAIcoBIACDAgAhzAFAAJgCACHNAQIAlgIAIc4BIACXAgAhAQAAABUAIAEAAAAPACABAAAAAwAgAQAAAAcAIAEAAAALACABAAAAAQAgDwQAAKYCACAFAACnAgAgCwAAqAIAIKQBAACkAgAwpQEAABwAEKYBAACkAgAwpwEBAIICACGuAUAAhAIAIb0BQACEAgAhvwEBAIICACHYAQEAigIAIeABAQCCAgAh4gEAAKUC4gEi4wEBAIoCACHkASAAgwIAIQUEAAC2AwAgBQAAtwMAIAsAALgDACDYAQAAtAIAIOMBAAC0AgAgAwAAABwAIAEAAB0AMAIAAAEAIAMAAAAcACABAAAdADACAAABACADAAAAHAAgAQAAHQAwAgAAAQAgDAQAALMDACAFAAC0AwAgCwAAtQMAIKcBAQAAAAGuAUAAAAABvQFAAAAAAb8BAQAAAAHYAQEAAAAB4AEBAAAAAeIBAAAA4gEC4wEBAAAAAeQBIAAAAAEBEQAAIQAgCacBAQAAAAGuAUAAAAABvQFAAAAAAb8BAQAAAAHYAQEAAAAB4AEBAAAAAeIBAAAA4gEC4wEBAAAAAeQBIAAAAAEBEQAAIwAwAREAACMAMAwEAACMAwAgBQAAjQMAIAsAAI4DACCnAQEAugIAIa4BQAC-AgAhvQFAAL4CACG_AQEAugIAIdgBAQDIAgAh4AEBALoCACHiAQAAiwPiASLjAQEAyAIAIeQBIADEAgAhAgAAAAEAIBEAACYAIAmnAQEAugIAIa4BQAC-AgAhvQFAAL4CACG_AQEAugIAIdgBAQDIAgAh4AEBALoCACHiAQAAiwPiASLjAQEAyAIAIeQBIADEAgAhAgAAABwAIBEAACgAIAIAAAAcACARAAAoACADAAAAAQAgGAAAIQAgGQAAJgAgAQAAAAEAIAEAAAAcACAFCgAAiAMAIB4AAIoDACAfAACJAwAg2AEAALQCACDjAQAAtAIAIAykAQAAoAIAMKUBAAAvABCmAQAAoAIAMKcBAQDtAQAhrgFAAPEBACG9AUAA8QEAIb8BAQDtAQAh2AEBAIYCACHgAQEA7QEAIeIBAAChAuIBIuMBAQCGAgAh5AEgAP4BACEDAAAAHAAgAQAALgAwHQAALwAgAwAAABwAIAEAAB0AMAIAAAEAIAEAAAAFACABAAAABQAgAwAAAAMAIAEAAAQAMAIAAAUAIAMAAAADACABAAAEADACAAAFACADAAAAAwAgAQAABAAwAgAABQAgCQMAAIcDACCnAQEAAAABvgEBAAAAAdcBAQAAAAHYAQEAAAAB2QEBAAAAAdoBAACGAwAg2wFAAAAAAdwBQAAAAAEBEQAANwAgCKcBAQAAAAG-AQEAAAAB1wEBAAAAAdgBAQAAAAHZAQEAAAAB2gEAAIYDACDbAUAAAAAB3AFAAAAAAQERAAA5ADABEQAAOQAwCQMAAIUDACCnAQEAugIAIb4BAQC6AgAh1wEBALoCACHYAQEAugIAIdkBAQC6AgAh2gEAAIQDACDbAUAAvgIAIdwBQADQAgAhAgAAAAUAIBEAADwAIAinAQEAugIAIb4BAQC6AgAh1wEBALoCACHYAQEAugIAIdkBAQC6AgAh2gEAAIQDACDbAUAAvgIAIdwBQADQAgAhAgAAAAMAIBEAAD4AIAIAAAADACARAAA-ACADAAAABQAgGAAANwAgGQAAPAAgAQAAAAUAIAEAAAADACAECgAAgQMAIB4AAIMDACAfAACCAwAg3AEAALQCACALpAEAAJ4CADClAQAARQAQpgEAAJ4CADCnAQEA7QEAIb4BAQDtAQAh1wEBAO0BACHYAQEA7QEAIdkBAQDtAQAh2gEAAJ8CACDbAUAA8QEAIdwBQACOAgAhAwAAAAMAIAEAAEQAMB0AAEUAIAMAAAADACABAAAEADACAAAFACABAAAACQAgAQAAAAkAIAMAAAAHACABAAAIADACAAAJACADAAAABwAgAQAACAAwAgAACQAgAwAAAAcAIAEAAAgAMAIAAAkAIAgDAACAAwAgpwEBAAAAAa4BQAAAAAG-AQEAAAABxAEBAAAAAdQBAQAAAAHVAUAAAAAB1gFAAAAAAQERAABNACAHpwEBAAAAAa4BQAAAAAG-AQEAAAABxAEBAAAAAdQBAQAAAAHVAUAAAAAB1gFAAAAAAQERAABPADABEQAATwAwCAMAAP8CACCnAQEAugIAIa4BQAC-AgAhvgEBALoCACHEAQEAyAIAIdQBAQC6AgAh1QFAAL4CACHWAUAA0AIAIQIAAAAJACARAABSACAHpwEBALoCACGuAUAAvgIAIb4BAQC6AgAhxAEBAMgCACHUAQEAugIAIdUBQAC-AgAh1gFAANACACECAAAABwAgEQAAVAAgAgAAAAcAIBEAAFQAIAMAAAAJACAYAABNACAZAABSACABAAAACQAgAQAAAAcAIAUKAAD8AgAgHgAA_gIAIB8AAP0CACDEAQAAtAIAINYBAAC0AgAgCqQBAACdAgAwpQEAAFsAEKYBAACdAgAwpwEBAO0BACGuAUAA8QEAIb4BAQDtAQAhxAEBAIYCACHUAQEA7QEAIdUBQADxAQAh1gFAAI4CACEDAAAABwAgAQAAWgAwHQAAWwAgAwAAAAcAIAEAAAgAMAIAAAkAIAEAAAANACABAAAADQAgAwAAAAsAIAEAAAwAMAIAAA0AIAMAAAALACABAAAMADACAAANACADAAAACwAgAQAADAAwAgAADQAgDAMAAPgCACAHAAD5AgAgCAAA-gIAIAkAAPsCACCnAQEAAAABrgFAAAAAAb4BAQAAAAHPAQEAAAAB0AEBAAAAAdEBQAAAAAHSASAAAAAB0wEgAAAAAQERAABjACAIpwEBAAAAAa4BQAAAAAG-AQEAAAABzwEBAAAAAdABAQAAAAHRAUAAAAAB0gEgAAAAAdMBIAAAAAEBEQAAZQAwAREAAGUAMAwDAADeAgAgBwAA3wIAIAgAAOACACAJAADhAgAgpwEBALoCACGuAUAAvgIAIb4BAQC6AgAhzwEBALoCACHQAQEAugIAIdEBQADQAgAh0gEgAMQCACHTASAAxAIAIQIAAAANACARAABoACAIpwEBALoCACGuAUAAvgIAIb4BAQC6AgAhzwEBALoCACHQAQEAugIAIdEBQADQAgAh0gEgAMQCACHTASAAxAIAIQIAAAALACARAABqACACAAAACwAgEQAAagAgAwAAAA0AIBgAAGMAIBkAAGgAIAEAAAANACABAAAACwAgBAoAANsCACAeAADdAgAgHwAA3AIAINEBAAC0AgAgC6QBAACcAgAwpQEAAHEAEKYBAACcAgAwpwEBAO0BACGuAUAA8QEAIb4BAQDtAQAhzwEBAO0BACHQAQEA7QEAIdEBQACOAgAh0gEgAP4BACHTASAA_gEAIQMAAAALACABAABwADAdAABxACADAAAACwAgAQAADAAwAgAADQAgDgYAAJkCACCkAQAAmwIAMKUBAAAVABCmAQAAmwIAMKcBAQAAAAGoAQEAAAABrgFAAIQCACG9AUAAhAIAIcgBAQCCAgAhyQEBAIoCACHKASAAgwIAIcwBQACYAgAhzQECAJYCACHOASAAlwIAIQEAAAB0ACABAAAAdAAgBAYAANMCACDJAQAAtAIAIMwBAAC0AgAgzgEAALQCACADAAAAFQAgAQAAdwAwAgAAdAAgAwAAABUAIAEAAHcAMAIAAHQAIAMAAAAVACABAAB3ADACAAB0ACALBgAA2gIAIKcBAQAAAAGoAQEAAAABrgFAAAAAAb0BQAAAAAHIAQEAAAAByQEBAAAAAcoBIAAAAAHMAUAAAAABzQECAAAAAc4BIAAAAAEBEQAAewAgCqcBAQAAAAGoAQEAAAABrgFAAAAAAb0BQAAAAAHIAQEAAAAByQEBAAAAAcoBIAAAAAHMAUAAAAABzQECAAAAAc4BIAAAAAEBEQAAfQAwAREAAH0AMAsGAADZAgAgpwEBALoCACGoAQEAugIAIa4BQAC-AgAhvQFAAL4CACHIAQEAugIAIckBAQDIAgAhygEgAMQCACHMAUAA0AIAIc0BAgDOAgAhzgEgAM8CACECAAAAdAAgEQAAgAEAIAqnAQEAugIAIagBAQC6AgAhrgFAAL4CACG9AUAAvgIAIcgBAQC6AgAhyQEBAMgCACHKASAAxAIAIcwBQADQAgAhzQECAM4CACHOASAAzwIAIQIAAAAVACARAACCAQAgAgAAABUAIBEAAIIBACADAAAAdAAgGAAAewAgGQAAgAEAIAEAAAB0ACABAAAAFQAgCAoAANQCACAeAADXAgAgHwAA1gIAIGAAANUCACBhAADYAgAgyQEAALQCACDMAQAAtAIAIM4BAAC0AgAgDaQBAACaAgAwpQEAAIkBABCmAQAAmgIAMKcBAQDtAQAhqAEBAO0BACGuAUAA8QEAIb0BQADxAQAhyAEBAO0BACHJAQEAhgIAIcoBIAD-AQAhzAFAAI4CACHNAQIAjAIAIc4BIACNAgAhAwAAABUAIAEAAIgBADAdAACJAQAgAwAAABUAIAEAAHcAMAIAAHQAIBAGAACZAgAgpAEAAJQCADClAQAAEwAQpgEAAJQCADCnAQEAAAABqAEBAAAAAa4BQACEAgAhvQFAAIQCACHFAQgAlQIAIcYBCACVAgAhxwECAJYCACHIAQEAggIAIckBAQCKAgAhygEgAIMCACHLASAAlwIAIcwBQACYAgAhAQAAAIwBACABAAAAjAEAIAQGAADTAgAgyQEAALQCACDLAQAAtAIAIMwBAAC0AgAgAwAAABMAIAEAAI8BADACAACMAQAgAwAAABMAIAEAAI8BADACAACMAQAgAwAAABMAIAEAAI8BADACAACMAQAgDQYAANICACCnAQEAAAABqAEBAAAAAa4BQAAAAAG9AUAAAAABxQEIAAAAAcYBCAAAAAHHAQIAAAAByAEBAAAAAckBAQAAAAHKASAAAAABywEgAAAAAcwBQAAAAAEBEQAAkwEAIAynAQEAAAABqAEBAAAAAa4BQAAAAAG9AUAAAAABxQEIAAAAAcYBCAAAAAHHAQIAAAAByAEBAAAAAckBAQAAAAHKASAAAAABywEgAAAAAcwBQAAAAAEBEQAAlQEAMAERAACVAQAwDQYAANECACCnAQEAugIAIagBAQC6AgAhrgFAAL4CACG9AUAAvgIAIcUBCAC7AgAhxgEIALsCACHHAQIAzgIAIcgBAQC6AgAhyQEBAMgCACHKASAAxAIAIcsBIADPAgAhzAFAANACACECAAAAjAEAIBEAAJgBACAMpwEBALoCACGoAQEAugIAIa4BQAC-AgAhvQFAAL4CACHFAQgAuwIAIcYBCAC7AgAhxwECAM4CACHIAQEAugIAIckBAQDIAgAhygEgAMQCACHLASAAzwIAIcwBQADQAgAhAgAAABMAIBEAAJoBACACAAAAEwAgEQAAmgEAIAMAAACMAQAgGAAAkwEAIBkAAJgBACABAAAAjAEAIAEAAAATACAICgAAyQIAIB4AAMwCACAfAADLAgAgYAAAygIAIGEAAM0CACDJAQAAtAIAIMsBAAC0AgAgzAEAALQCACAPpAEAAIsCADClAQAAoQEAEKYBAACLAgAwpwEBAO0BACGoAQEA7QEAIa4BQADxAQAhvQFAAPEBACHFAQgA7gEAIcYBCADuAQAhxwECAIwCACHIAQEA7QEAIckBAQCGAgAhygEgAP4BACHLASAAjQIAIcwBQACOAgAhAwAAABMAIAEAAKABADAdAAChAQAgAwAAABMAIAEAAI8BADACAACMAQAgDKQBAACJAgAwpQEAAKcBABCmAQAAiQIAMKcBAQAAAAGuAUAAhAIAIb4BAQCKAgAhvwEBAIICACHAASAAgwIAIcEBAQCCAgAhwgEBAIoCACHDAQEAigIAIcQBAQCKAgAhAQAAAKQBACABAAAApAEAIAykAQAAiQIAMKUBAACnAQAQpgEAAIkCADCnAQEAggIAIa4BQACEAgAhvgEBAIoCACG_AQEAggIAIcABIACDAgAhwQEBAIICACHCAQEAigIAIcMBAQCKAgAhxAEBAIoCACEEvgEAALQCACDCAQAAtAIAIMMBAAC0AgAgxAEAALQCACADAAAApwEAIAEAAKgBADACAACkAQAgAwAAAKcBACABAACoAQAwAgAApAEAIAMAAACnAQAgAQAAqAEAMAIAAKQBACAJpwEBAAAAAa4BQAAAAAG-AQEAAAABvwEBAAAAAcABIAAAAAHBAQEAAAABwgEBAAAAAcMBAQAAAAHEAQEAAAABAREAAKwBACAJpwEBAAAAAa4BQAAAAAG-AQEAAAABvwEBAAAAAcABIAAAAAHBAQEAAAABwgEBAAAAAcMBAQAAAAHEAQEAAAABAREAAK4BADABEQAArgEAMAmnAQEAugIAIa4BQAC-AgAhvgEBAMgCACG_AQEAugIAIcABIADEAgAhwQEBALoCACHCAQEAyAIAIcMBAQDIAgAhxAEBAMgCACECAAAApAEAIBEAALEBACAJpwEBALoCACGuAUAAvgIAIb4BAQDIAgAhvwEBALoCACHAASAAxAIAIcEBAQC6AgAhwgEBAMgCACHDAQEAyAIAIcQBAQDIAgAhAgAAAKcBACARAACzAQAgAgAAAKcBACARAACzAQAgAwAAAKQBACAYAACsAQAgGQAAsQEAIAEAAACkAQAgAQAAAKcBACAHCgAAxQIAIB4AAMcCACAfAADGAgAgvgEAALQCACDCAQAAtAIAIMMBAAC0AgAgxAEAALQCACAMpAEAAIUCADClAQAAugEAEKYBAACFAgAwpwEBAO0BACGuAUAA8QEAIb4BAQCGAgAhvwEBAO0BACHAASAA_gEAIcEBAQDtAQAhwgEBAIYCACHDAQEAhgIAIcQBAQCGAgAhAwAAAKcBACABAAC5AQAwHQAAugEAIAMAAACnAQAgAQAAqAEAMAIAAKQBACAHpAEAAIECADClAQAAwAEAEKYBAACBAgAwugEBAAAAAbsBAQCCAgAhvAEgAIMCACG9AUAAhAIAIQEAAAC9AQAgAQAAAL0BACAHpAEAAIECADClAQAAwAEAEKYBAACBAgAwugEBAIICACG7AQEAggIAIbwBIACDAgAhvQFAAIQCACEAAwAAAMABACABAADBAQAwAgAAvQEAIAMAAADAAQAgAQAAwQEAMAIAAL0BACADAAAAwAEAIAEAAMEBADACAAC9AQAgBLoBAQAAAAG7AQEAAAABvAEgAAAAAb0BQAAAAAEBEQAAxQEAIAS6AQEAAAABuwEBAAAAAbwBIAAAAAG9AUAAAAABAREAAMcBADABEQAAxwEAMAS6AQEAugIAIbsBAQC6AgAhvAEgAMQCACG9AUAAvgIAIQIAAAC9AQAgEQAAygEAIAS6AQEAugIAIbsBAQC6AgAhvAEgAMQCACG9AUAAvgIAIQIAAADAAQAgEQAAzAEAIAIAAADAAQAgEQAAzAEAIAMAAAC9AQAgGAAAxQEAIBkAAMoBACABAAAAvQEAIAEAAADAAQAgAwoAAMECACAeAADDAgAgHwAAwgIAIAekAQAA_QEAMKUBAADTAQAQpgEAAP0BADC6AQEA7QEAIbsBAQDtAQAhvAEgAP4BACG9AUAA8QEAIQMAAADAAQAgAQAA0gEAMB0AANMBACADAAAAwAEAIAEAAMEBADACAAC9AQAgAQAAABEAIAEAAAARACADAAAADwAgAQAAEAAwAgAAEQAgAwAAAA8AIAEAABAAMAIAABEAIAMAAAAPACABAAAQADACAAARACAJBgAAwAIAIKcBAQAAAAGoAQEAAAABqQEIAAAAAaoBCAAAAAGrAQgAAAABrAECAAAAAa0BQAAAAAGuAUAAAAABAREAANsBACAIpwEBAAAAAagBAQAAAAGpAQgAAAABqgEIAAAAAasBCAAAAAGsAQIAAAABrQFAAAAAAa4BQAAAAAEBEQAA3QEAMAERAADdAQAwCQYAAL8CACCnAQEAugIAIagBAQC6AgAhqQEIALsCACGqAQgAuwIAIasBCAC8AgAhrAECAL0CACGtAUAAvgIAIa4BQAC-AgAhAgAAABEAIBEAAOABACAIpwEBALoCACGoAQEAugIAIakBCAC7AgAhqgEIALsCACGrAQgAvAIAIawBAgC9AgAhrQFAAL4CACGuAUAAvgIAIQIAAAAPACARAADiAQAgAgAAAA8AIBEAAOIBACADAAAAEQAgGAAA2wEAIBkAAOABACABAAAAEQAgAQAAAA8AIAcKAAC1AgAgHgAAuAIAIB8AALcCACBgAAC2AgAgYQAAuQIAIKsBAAC0AgAgrAEAALQCACALpAEAAOwBADClAQAA6QEAEKYBAADsAQAwpwEBAO0BACGoAQEA7QEAIakBCADuAQAhqgEIAO4BACGrAQgA7wEAIawBAgDwAQAhrQFAAPEBACGuAUAA8QEAIQMAAAAPACABAADoAQAwHQAA6QEAIAMAAAAPACABAAAQADACAAARACALpAEAAOwBADClAQAA6QEAEKYBAADsAQAwpwEBAO0BACGoAQEA7QEAIakBCADuAQAhqgEIAO4BACGrAQgA7wEAIawBAgDwAQAhrQFAAPEBACGuAUAA8QEAIQ4KAADzAQAgHgAA_AEAIB8AAPwBACCvAQEAAAABsAEBAAAABLEBAQAAAASyAQEAAAABswEBAAAAAbQBAQAAAAG1AQEAAAABtgEBAPsBACG3AQEAAAABuAEBAAAAAbkBAQAAAAENCgAA8wEAIB4AAPoBACAfAAD6AQAgYAAA-gEAIGEAAPoBACCvAQgAAAABsAEIAAAABLEBCAAAAASyAQgAAAABswEIAAAAAbQBCAAAAAG1AQgAAAABtgEIAPkBACENCgAA9gEAIB4AAPcBACAfAAD3AQAgYAAA9wEAIGEAAPcBACCvAQgAAAABsAEIAAAABbEBCAAAAAWyAQgAAAABswEIAAAAAbQBCAAAAAG1AQgAAAABtgEIAPgBACENCgAA9gEAIB4AAPYBACAfAAD2AQAgYAAA9wEAIGEAAPYBACCvAQIAAAABsAECAAAABbEBAgAAAAWyAQIAAAABswECAAAAAbQBAgAAAAG1AQIAAAABtgECAPUBACELCgAA8wEAIB4AAPQBACAfAAD0AQAgrwFAAAAAAbABQAAAAASxAUAAAAAEsgFAAAAAAbMBQAAAAAG0AUAAAAABtQFAAAAAAbYBQADyAQAhCwoAAPMBACAeAAD0AQAgHwAA9AEAIK8BQAAAAAGwAUAAAAAEsQFAAAAABLIBQAAAAAGzAUAAAAABtAFAAAAAAbUBQAAAAAG2AUAA8gEAIQivAQIAAAABsAECAAAABLEBAgAAAASyAQIAAAABswECAAAAAbQBAgAAAAG1AQIAAAABtgECAPMBACEIrwFAAAAAAbABQAAAAASxAUAAAAAEsgFAAAAAAbMBQAAAAAG0AUAAAAABtQFAAAAAAbYBQAD0AQAhDQoAAPYBACAeAAD2AQAgHwAA9gEAIGAAAPcBACBhAAD2AQAgrwECAAAAAbABAgAAAAWxAQIAAAAFsgECAAAAAbMBAgAAAAG0AQIAAAABtQECAAAAAbYBAgD1AQAhCK8BAgAAAAGwAQIAAAAFsQECAAAABbIBAgAAAAGzAQIAAAABtAECAAAAAbUBAgAAAAG2AQIA9gEAIQivAQgAAAABsAEIAAAABbEBCAAAAAWyAQgAAAABswEIAAAAAbQBCAAAAAG1AQgAAAABtgEIAPcBACENCgAA9gEAIB4AAPcBACAfAAD3AQAgYAAA9wEAIGEAAPcBACCvAQgAAAABsAEIAAAABbEBCAAAAAWyAQgAAAABswEIAAAAAbQBCAAAAAG1AQgAAAABtgEIAPgBACENCgAA8wEAIB4AAPoBACAfAAD6AQAgYAAA-gEAIGEAAPoBACCvAQgAAAABsAEIAAAABLEBCAAAAASyAQgAAAABswEIAAAAAbQBCAAAAAG1AQgAAAABtgEIAPkBACEIrwEIAAAAAbABCAAAAASxAQgAAAAEsgEIAAAAAbMBCAAAAAG0AQgAAAABtQEIAAAAAbYBCAD6AQAhDgoAAPMBACAeAAD8AQAgHwAA_AEAIK8BAQAAAAGwAQEAAAAEsQEBAAAABLIBAQAAAAGzAQEAAAABtAEBAAAAAbUBAQAAAAG2AQEA-wEAIbcBAQAAAAG4AQEAAAABuQEBAAAAAQuvAQEAAAABsAEBAAAABLEBAQAAAASyAQEAAAABswEBAAAAAbQBAQAAAAG1AQEAAAABtgEBAPwBACG3AQEAAAABuAEBAAAAAbkBAQAAAAEHpAEAAP0BADClAQAA0wEAEKYBAAD9AQAwugEBAO0BACG7AQEA7QEAIbwBIAD-AQAhvQFAAPEBACEFCgAA8wEAIB4AAIACACAfAACAAgAgrwEgAAAAAbYBIAD_AQAhBQoAAPMBACAeAACAAgAgHwAAgAIAIK8BIAAAAAG2ASAA_wEAIQKvASAAAAABtgEgAIACACEHpAEAAIECADClAQAAwAEAEKYBAACBAgAwugEBAIICACG7AQEAggIAIbwBIACDAgAhvQFAAIQCACELrwEBAAAAAbABAQAAAASxAQEAAAAEsgEBAAAAAbMBAQAAAAG0AQEAAAABtQEBAAAAAbYBAQD8AQAhtwEBAAAAAbgBAQAAAAG5AQEAAAABAq8BIAAAAAG2ASAAgAIAIQivAUAAAAABsAFAAAAABLEBQAAAAASyAUAAAAABswFAAAAAAbQBQAAAAAG1AUAAAAABtgFAAPQBACEMpAEAAIUCADClAQAAugEAEKYBAACFAgAwpwEBAO0BACGuAUAA8QEAIb4BAQCGAgAhvwEBAO0BACHAASAA_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_gEAIQqkAQAAnQIAMKUBAABbABCmAQAAnQIAMKcBAQDtAQAhrgFAAPEBACG-AQEA7QEAIcQBAQCGAgAh1AEBAO0BACHVAUAA8QEAIdYBQACOAgAhC6QBAACeAgAwpQEAAEUAEKYBAACeAgAwpwEBAO0BACG-AQEA7QEAIdcBAQDtAQAh2AEBAO0BACHZAQEA7QEAIdoBAACfAgAg2wFAAPEBACHcAUAAjgIAIQSvAQEAAAAF3QEBAAAAAd4BAQAAAATfAQEAAAAEDKQBAACgAgAwpQEAAC8AEKYBAACgAgAwpwEBAO0BACGuAUAA8QEAIb0BQADxAQAhvwEBAO0BACHYAQEAhgIAIeABAQDtAQAh4gEAAKEC4gEi4wEBAIYCACHkASAA_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_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-AgAhvQFAAL4CACG_AQEAugIAIdgBAQDIAgAh4AEBALoCACHiAQAAiwPiASLjAQEAyAIAIeQBIADEAgAhCwUAAI0DACALAACOAwAgpwEBALoCACGuAUAAvgIAIb0BQAC-AgAhvwEBALoCACHYAQEAyAIAIeABAQC6AgAh4gEAAIsD4gEi4wEBAMgCACHkASAAxAIAIQsEAACzAwAgCwAAtQMAIKcBAQAAAAGuAUAAAAABvQFAAAAAAb8BAQAAAAHYAQEAAAAB4AEBAAAAAeIBAAAA4gEC4wEBAAAAAeQBIAAAAAECAAAAAQAgGAAAxQMAIAMAAAAcACAYAADFAwAgGQAAyQMAIA0AAAAcACAEAACMAwAgCwAAjgMAIBEAAMkDACCnAQEAugIAIa4BQAC-AgAhvQFAAL4CACG_AQEAugIAIdgBAQDIAgAh4AEBALoCACHiAQAAiwPiASLjAQEAyAIAIeQBIADEAgAhCwQAAIwDACALAACOAwAgpwEBALoCACGuAUAAvgIAIb0BQAC-AgAhvwEBALoCACHYAQEAyAIAIeABAQC6AgAh4gEAAIsD4gEi4wEBAMgCACHkASAAxAIAIQsEAACzAwAgBQAAtAMAIKcBAQAAAAGuAUAAAAABvQFAAAAAAb8BAQAAAAHYAQEAAAAB4AEBAAAAAeIBAAAA4gEC4wEBAAAAAeQBIAAAAAECAAAAAQAgGAAAygMAIAenAQEAAAABqQEIAAAAAaoBCAAAAAGrAQgAAAABrAECAAAAAa0BQAAAAAGuAUAAAAABAwAAABwAIBgAAMoDACAZAADPAwAgDQAAABwAIAQAAIwDACAFAACNAwAgEQAAzwMAIKcBAQC6AgAhrgFAAL4CACG9AUAAvgIAIb8BAQC6AgAh2AEBAMgCACHgAQEAugIAIeIBAACLA-IBIuMBAQDIAgAh5AEgAMQCACELBAAAjAMAIAUAAI0DACCnAQEAugIAIa4BQAC-AgAhvQFAAL4CACG_AQEAugIAIdgBAQDIAgAh4AEBALoCACHiAQAAiwPiASLjAQEAyAIAIeQBIADEAgAhCwMAAPgCACAHAAD5AgAgCAAA-gIAIKcBAQAAAAGuAUAAAAABvgEBAAAAAc8BAQAAAAHQAQEAAAAB0QFAAAAAAdIBIAAAAAHTASAAAAABAgAAAA0AIBgAANADACADAAAACwAgGAAA0AMAIBkAANQDACANAAAACwAgAwAA3gIAIAcAAN8CACAIAADgAgAgEQAA1AMAIKcBAQC6AgAhrgFAAL4CACG-AQEAugIAIc8BAQC6AgAh0AEBALoCACHRAUAA0AIAIdIBIADEAgAh0wEgAMQCACELAwAA3gIAIAcAAN8CACAIAADgAgAgpwEBALoCACGuAUAAvgIAIb4BAQC6AgAhzwEBALoCACHQAQEAugIAIdEBQADQAgAh0gEgAMQCACHTASAAxAIAIQsDAAD4AgAgBwAA-QIAIAkAAPsCACCnAQEAAAABrgFAAAAAAb4BAQAAAAHPAQEAAAAB0AEBAAAAAdEBQAAAAAHSASAAAAAB0wEgAAAAAQIAAAANACAYAADVAwAgAwAAAAsAIBgAANUDACAZAADZAwAgDQAAAAsAIAMAAN4CACAHAADfAgAgCQAA4QIAIBEAANkDACCnAQEAugIAIa4BQAC-AgAhvgEBALoCACHPAQEAugIAIdABAQC6AgAh0QFAANACACHSASAAxAIAIdMBIADEAgAhCwMAAN4CACAHAADfAgAgCQAA4QIAIKcBAQC6AgAhrgFAAL4CACG-AQEAugIAIc8BAQC6AgAh0AEBALoCACHRAUAA0AIAIdIBIADEAgAh0wEgAMQCACELAwAA-AIAIAgAAPoCACAJAAD7AgAgpwEBAAAAAa4BQAAAAAG-AQEAAAABzwEBAAAAAdABAQAAAAHRAUAAAAAB0gEgAAAAAdMBIAAAAAECAAAADQAgGAAA2gMAIAMAAAALACAYAADaAwAgGQAA3gMAIA0AAAALACADAADeAgAgCAAA4AIAIAkAAOECACARAADeAwAgpwEBALoCACGuAUAAvgIAIb4BAQC6AgAhzwEBALoCACHQAQEAugIAIdEBQADQAgAh0gEgAMQCACHTASAAxAIAIQsDAADeAgAgCAAA4AIAIAkAAOECACCnAQEAugIAIa4BQAC-AgAhvgEBALoCACHPAQEAugIAIdABAQC6AgAh0QFAANACACHSASAAxAIAIdMBIADEAgAhBAQGAgUKAwoACQsOBAEDAAEBAwABBQMAAQcSBQgUBgkWBwoACAEGAAQBBgAEAQYABAEHFwADBBgABRkACxoAAAAAAwoADh4ADx8AEAAAAAMKAA4eAA8fABABAwABAQMAAQMKABUeABYfABcAAAADCgAVHgAWHwAXAQMAAQEDAAEDCgAcHgAdHwAeAAAAAwoAHB4AHR8AHgEDAAEBAwABAwoAIx4AJB8AJQAAAAMKACMeACQfACUBBgAEAQYABAUKACoeAC0fAC5gACthACwAAAAAAAUKACoeAC0fAC5gACthACwBBgAEAQYABAUKADMeADYfADdgADRhADUAAAAAAAUKADMeADYfADdgADRhADUAAAADCgA9HgA-HwA_AAAAAwoAPR4APh8APwAAAAMKAEUeAEYfAEcAAAADCgBFHgBGHwBHAQYABAEGAAQFCgBMHgBPHwBQYABNYQBOAAAAAAAFCgBMHgBPHwBQYABNYQBODAIBDRsBDh4BDx8BECABEiIBEyQKFCULFScBFikKFyoMGisBGywBHC0KIDANITERIjICIzMCJDQCJTUCJjYCJzgCKDoKKTsSKj0CKz8KLEATLUECLkICL0MKMEYUMUcYMkgDM0kDNEoDNUsDNkwDN04DOFAKOVEZOlMDO1UKPFYaPVcDPlgDP1kKQFwbQV0fQl4EQ18ERGAERWEERmIER2QESGYKSWcgSmkES2sKTGwhTW0ETm4ET28KUHIiUXMmUnUHU3YHVHgHVXkHVnoHV3wHWH4KWX8nWoEBB1uDAQpchAEoXYUBB16GAQdfhwEKYooBKWOLAS9kjQEGZY4BBmaQAQZnkQEGaJIBBmmUAQZqlgEKa5cBMGyZAQZtmwEKbpwBMW-dAQZwngEGcZ8BCnKiATJzowE4dKUBOXWmATl2qQE5d6oBOXirATl5rQE5eq8BCnuwATp8sgE5fbQBCn61ATt_tgE5gAG3ATmBAbgBCoIBuwE8gwG8AUCEAb4BQYUBvwFBhgHCAUGHAcMBQYgBxAFBiQHGAUGKAcgBCosByQFCjAHLAUGNAc0BCo4BzgFDjwHPAUGQAdABQZEB0QEKkgHUAUSTAdUBSJQB1gEFlQHXAQWWAdgBBZcB2QEFmAHaAQWZAdwBBZoB3gEKmwHfAUmcAeEBBZ0B4wEKngHkAUqfAeUBBaAB5gEFoQHnAQqiAeoBS6MB6wFR"
}

async function decodeBase64AsWasm(wasmBase64: string): Promise<WebAssembly.Module> {
  const { Buffer } = await import('node:buffer')
  const wasmArray = Buffer.from(wasmBase64, 'base64')
  return new WebAssembly.Module(wasmArray)
}

config.compilerWasm = {
  getRuntime: async () => await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.js"),

  getQueryCompilerWasmModule: async () => {
    const { wasm } = await import("@prisma/client/runtime/query_compiler_fast_bg.postgresql.wasm-base64.js")
    return await decodeBase64AsWasm(wasm)
  },

  importName: "./query_compiler_fast_bg.js"
}



export type LogOptions<ClientOptions extends Prisma.PrismaClientOptions> =
  'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array<Prisma.LogLevel | Prisma.LogDefinition> ? Prisma.GetEvents<ClientOptions['log']> : never : never

export interface PrismaClientConstructor {
    /**
   * ## Prisma Client
   * 
   * Type-safe database client for TypeScript
   * @example
   * ```
   * const prisma = new PrismaClient({
   *   adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
   * })
   * // Fetch zero or more Users
   * const users = await prisma.user.findMany()
   * ```
   * 
   * Read more in our [docs](https://pris.ly/d/client).
   */

  new <
    Options extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions,
    LogOpts extends LogOptions<Options> = LogOptions<Options>,
    OmitOpts extends Prisma.PrismaClientOptions['omit'] = Options extends { omit: infer U } ? U : Prisma.PrismaClientOptions['omit'],
    ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
  >(options: Prisma.Subset<Options, Prisma.PrismaClientOptions> ): PrismaClient<LogOpts, OmitOpts, ExtArgs>
}

/**
 * ## Prisma Client
 * 
 * Type-safe database client for TypeScript
 * @example
 * ```
 * const prisma = new PrismaClient({
 *   adapter: new PrismaPg({ connectionString: process.env.DATABASE_URL })
 * })
 * // Fetch zero or more Users
 * const users = await prisma.user.findMany()
 * ```
 * 
 * Read more in our [docs](https://pris.ly/d/client).
 */

export interface PrismaClient<
  in LogOpts extends Prisma.LogLevel = never,
  in out OmitOpts extends Prisma.PrismaClientOptions['omit'] = undefined,
  in out ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs
> {
  [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['other'] }

  $on<V extends LogOpts>(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient;

  /**
   * Connect with the database
   */
  $connect(): runtime.Types.Utils.JsPromise<void>;

  /**
   * Disconnect from the database
   */
  $disconnect(): runtime.Types.Utils.JsPromise<void>;

/**
   * Executes a prepared raw query and returns the number of affected rows.
   * @example
   * ```
   * const result = await prisma.$executeRaw`UPDATE User SET cool = ${true} WHERE email = ${'user@email.com'};`
   * ```
   *
   * Read more in our [docs](https://pris.ly/d/raw-queries).
   */
  $executeRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<number>;

  /**
   * Executes a raw query and returns the number of affected rows.
   * Susceptible to SQL injections, see documentation.
   * @example
   * ```
   * const result = await prisma.$executeRawUnsafe('UPDATE User SET cool = $1 WHERE email = $2 ;', true, 'user@email.com')
   * ```
   *
   * Read more in our [docs](https://pris.ly/d/raw-queries).
   */
  $executeRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<number>;

  /**
   * Performs a prepared raw query and returns the `SELECT` data.
   * @example
   * ```
   * const result = await prisma.$queryRaw`SELECT * FROM User WHERE id = ${1} OR email = ${'user@email.com'};`
   * ```
   *
   * Read more in our [docs](https://pris.ly/d/raw-queries).
   */
  $queryRaw<T = unknown>(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise<T>;

  /**
   * Performs a raw query and returns the `SELECT` data.
   * Susceptible to SQL injections, see documentation.
   * @example
   * ```
   * const result = await prisma.$queryRawUnsafe('SELECT * FROM User WHERE id = $1 OR email = $2;', 1, 'user@email.com')
   * ```
   *
   * Read more in our [docs](https://pris.ly/d/raw-queries).
   */
  $queryRawUnsafe<T = unknown>(query: string, ...values: any[]): Prisma.PrismaPromise<T>;


  /**
   * Allows the running of a sequence of read/write operations that are guaranteed to either succeed or fail as a whole.
   * @example
   * ```
   * const [george, bob, alice] = await prisma.$transaction([
   *   prisma.user.create({ data: { name: 'George' } }),
   *   prisma.user.create({ data: { name: 'Bob' } }),
   *   prisma.user.create({ data: { name: 'Alice' } }),
   * ])
   * ```
   * 
   * Read more in our [docs](https://www.prisma.io/docs/orm/prisma-client/queries/transactions).
   */
  $transaction<P extends Prisma.PrismaPromise<any>[]>(arg: [...P], options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<runtime.Types.Utils.UnwrapTuple<P>>

  $transaction<R>(fn: (prisma: Omit<PrismaClient, runtime.ITXClientDenyList>) => runtime.Types.Utils.JsPromise<R>, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): runtime.Types.Utils.JsPromise<R>

  $extends: runtime.Types.Extensions.ExtendsHook<"extends", Prisma.TypeMapCb<OmitOpts>, ExtArgs, runtime.Types.Utils.Call<Prisma.TypeMapCb<OmitOpts>, {
    extArgs: ExtArgs
  }>>

      /**
   * `prisma.user`: Exposes CRUD operations for the **User** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Users
    * const users = await prisma.user.findMany()
    * ```
    */
  get user(): Prisma.UserDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.googleAccount`: Exposes CRUD operations for the **GoogleAccount** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more GoogleAccounts
    * const googleAccounts = await prisma.googleAccount.findMany()
    * ```
    */
  get googleAccount(): Prisma.GoogleAccountDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.refreshSession`: Exposes CRUD operations for the **RefreshSession** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more RefreshSessions
    * const refreshSessions = await prisma.refreshSession.findMany()
    * ```
    */
  get refreshSession(): Prisma.RefreshSessionDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.device`: Exposes CRUD operations for the **Device** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Devices
    * const devices = await prisma.device.findMany()
    * ```
    */
  get device(): Prisma.DeviceDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.batteryAlert`: Exposes CRUD operations for the **BatteryAlert** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more BatteryAlerts
    * const batteryAlerts = await prisma.batteryAlert.findMany()
    * ```
    */
  get batteryAlert(): Prisma.BatteryAlertDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.geofence`: Exposes CRUD operations for the **Geofence** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more Geofences
    * const geofences = await prisma.geofence.findMany()
    * ```
    */
  get geofence(): Prisma.GeofenceDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.loginEvent`: Exposes CRUD operations for the **LoginEvent** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more LoginEvents
    * const loginEvents = await prisma.loginEvent.findMany()
    * ```
    */
  get loginEvent(): Prisma.LoginEventDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.appSetting`: Exposes CRUD operations for the **AppSetting** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more AppSettings
    * const appSettings = await prisma.appSetting.findMany()
    * ```
    */
  get appSetting(): Prisma.AppSettingDelegate<ExtArgs, { omit: OmitOpts }>;

  /**
   * `prisma.locationPoint`: Exposes CRUD operations for the **LocationPoint** model.
    * Example usage:
    * ```ts
    * // Fetch zero or more LocationPoints
    * const locationPoints = await prisma.locationPoint.findMany()
    * ```
    */
  get locationPoint(): Prisma.LocationPointDelegate<ExtArgs, { omit: OmitOpts }>;
}

export function getPrismaClientClass(): PrismaClientConstructor {
  return runtime.getPrismaClient(config) as unknown as PrismaClientConstructor
}
