From 49cd41788c08d4d7ef26f13dc914c72a21a55e17 Mon Sep 17 00:00:00 2001 From: DrMesta103 Date: Thu, 7 May 2026 14:11:10 +0330 Subject: [PATCH] Fix Docker deploy Prisma build --- .gitignore | 7 +- Dockerfile | 20 +- lib/auth.ts | 2 +- lib/generated/prisma/client.d.ts | 1 + lib/generated/prisma/client.js | 5 + lib/generated/prisma/default.d.ts | 1 + lib/generated/prisma/default.js | 5 + lib/generated/prisma/edge.d.ts | 1 + lib/generated/prisma/edge.js | 531 + lib/generated/prisma/index-browser.js | 517 + lib/generated/prisma/index.d.ts | 40347 ++++++++++++++++ lib/generated/prisma/index.js | 557 + lib/generated/prisma/package.json | 183 + lib/generated/prisma/query_compiler_bg.js | 2 + lib/generated/prisma/query_compiler_bg.wasm | Bin 0 -> 1950269 bytes lib/generated/prisma/runtime/client.d.ts | 3982 ++ lib/generated/prisma/runtime/client.js | 110 + lib/generated/prisma/runtime/edge-esm.js | 35 + lib/generated/prisma/runtime/edge.js | 35 + .../prisma/runtime/index-browser.d.ts | 370 + lib/generated/prisma/runtime/index-browser.js | 17 + lib/generated/prisma/runtime/library.d.ts | 3982 ++ lib/generated/prisma/runtime/react-native.js | 84 + .../prisma/runtime/wasm-compiler-edge.js | 85 + .../prisma/runtime/wasm-engine-edge.js | 38 + lib/generated/prisma/schema.prisma | 395 + .../prisma/wasm-edge-light-loader.mjs | 5 + lib/generated/prisma/wasm-worker-loader.mjs | 5 + lib/generated/prisma/wasm.d.ts | 1 + lib/generated/prisma/wasm.js | 538 + package.json | 1 + scripts/copy-prisma-generated.ps1 | 31 +- scripts/copy-prisma-generated.sh | 27 +- 33 files changed, 51859 insertions(+), 61 deletions(-) create mode 100644 lib/generated/prisma/client.d.ts create mode 100644 lib/generated/prisma/client.js create mode 100644 lib/generated/prisma/default.d.ts create mode 100644 lib/generated/prisma/default.js create mode 100644 lib/generated/prisma/edge.d.ts create mode 100644 lib/generated/prisma/edge.js create mode 100644 lib/generated/prisma/index-browser.js create mode 100644 lib/generated/prisma/index.d.ts create mode 100644 lib/generated/prisma/index.js create mode 100644 lib/generated/prisma/package.json create mode 100644 lib/generated/prisma/query_compiler_bg.js create mode 100644 lib/generated/prisma/query_compiler_bg.wasm create mode 100644 lib/generated/prisma/runtime/client.d.ts create mode 100644 lib/generated/prisma/runtime/client.js create mode 100644 lib/generated/prisma/runtime/edge-esm.js create mode 100644 lib/generated/prisma/runtime/edge.js create mode 100644 lib/generated/prisma/runtime/index-browser.d.ts create mode 100644 lib/generated/prisma/runtime/index-browser.js create mode 100644 lib/generated/prisma/runtime/library.d.ts create mode 100644 lib/generated/prisma/runtime/react-native.js create mode 100644 lib/generated/prisma/runtime/wasm-compiler-edge.js create mode 100644 lib/generated/prisma/runtime/wasm-engine-edge.js create mode 100644 lib/generated/prisma/schema.prisma create mode 100644 lib/generated/prisma/wasm-edge-light-loader.mjs create mode 100644 lib/generated/prisma/wasm-worker-loader.mjs create mode 100644 lib/generated/prisma/wasm.d.ts create mode 100644 lib/generated/prisma/wasm.js diff --git a/.gitignore b/.gitignore index 21f61a8..3ee5034 100644 --- a/.gitignore +++ b/.gitignore @@ -37,8 +37,5 @@ yarn-error.log* next-env.d.ts # Prisma -# Note: We keep generated Prisma client for deployment in Iran servers -# /node_modules/.prisma -# /node_modules/@prisma/client -# Keep prisma/generated for deployment -!/prisma/generated +# Keep lib/generated/prisma committed so Docker builds do not need to +# download Prisma binaries during deployment. diff --git a/Dockerfile b/Dockerfile index c2395e1..fa7c5fe 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,11 +1,9 @@ FROM node:20-alpine AS deps WORKDIR /app -# استفاده از Runflare mirror برای NPM RUN npm config set registry https://mirror-npm.runflare.com/ \ && npm config set replace-registry-host always -# غیرفعال کردن Prisma postinstall ENV PRISMA_SKIP_POSTINSTALL_GENERATE=1 COPY package.json package-lock.json ./ @@ -16,31 +14,18 @@ WORKDIR /app ARG DATABASE_URL ARG NEXTAUTH_URL -ARG NEXTAUTH_SECRET -ARG IPPANEL_TOKEN ENV DATABASE_URL=$DATABASE_URL ENV NEXTAUTH_URL=$NEXTAUTH_URL -ENV NEXTAUTH_SECRET=$NEXTAUTH_SECRET -ENV IPPANEL_TOKEN=$IPPANEL_TOKEN ENV NEXT_TELEMETRY_DISABLED=1 ENV PRISMA_SKIP_POSTINSTALL_GENERATE=1 COPY --from=deps /app/node_modules ./node_modules COPY . . -# استفاده از pre-generated Prisma client اگر وجود داشته باشد -RUN if [ -d "prisma/generated/.prisma-client" ]; then \ - echo "Using pre-generated Prisma client..."; \ - mkdir -p node_modules/.prisma; \ - cp -r prisma/generated/.prisma-client node_modules/.prisma/client; \ - cp -r prisma/generated/@prisma-client node_modules/@prisma/client; \ - else \ - echo "Warning: Pre-generated Prisma client not found"; \ - fi +RUN test -f lib/generated/prisma/index.js -# ساخت بدون Prisma generate ENV NODE_ENV=production -RUN npm run build 2>&1 || echo "Build completed with warnings" +RUN npm run build:docker FROM node:20-alpine AS runner WORKDIR /app @@ -57,6 +42,7 @@ COPY --from=builder --chown=nextjs:nextjs /app/node_modules ./node_modules COPY --from=builder --chown=nextjs:nextjs /app/.next ./.next COPY --from=builder --chown=nextjs:nextjs /app/public ./public COPY --from=builder --chown=nextjs:nextjs /app/prisma ./prisma +COPY --from=builder --chown=nextjs:nextjs /app/lib/generated ./lib/generated COPY --from=builder --chown=nextjs:nextjs /app/next.config.* ./ USER nextjs diff --git a/lib/auth.ts b/lib/auth.ts index 83d7499..485ec6b 100644 --- a/lib/auth.ts +++ b/lib/auth.ts @@ -5,7 +5,7 @@ import { db } from "@/lib/db"; import bcrypt from "bcryptjs"; export const authOptions: NextAuthOptions = { - adapter: PrismaAdapter(db) as any, + adapter: (PrismaAdapter as any)(db), session: { strategy: "jwt" }, pages: { signIn: "/login", diff --git a/lib/generated/prisma/client.d.ts b/lib/generated/prisma/client.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/lib/generated/prisma/client.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/lib/generated/prisma/client.js b/lib/generated/prisma/client.js new file mode 100644 index 0000000..6ac8a81 --- /dev/null +++ b/lib/generated/prisma/client.js @@ -0,0 +1,5 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +module.exports = { ...require('.') } \ No newline at end of file diff --git a/lib/generated/prisma/default.d.ts b/lib/generated/prisma/default.d.ts new file mode 100644 index 0000000..bc20c6c --- /dev/null +++ b/lib/generated/prisma/default.d.ts @@ -0,0 +1 @@ +export * from "./index" \ No newline at end of file diff --git a/lib/generated/prisma/default.js b/lib/generated/prisma/default.js new file mode 100644 index 0000000..eb55675 --- /dev/null +++ b/lib/generated/prisma/default.js @@ -0,0 +1,5 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file +module.exports = { ...require('#main-entry-point') } \ No newline at end of file diff --git a/lib/generated/prisma/edge.d.ts b/lib/generated/prisma/edge.d.ts new file mode 100644 index 0000000..274b8fa --- /dev/null +++ b/lib/generated/prisma/edge.d.ts @@ -0,0 +1 @@ +export * from "./default" \ No newline at end of file diff --git a/lib/generated/prisma/edge.js b/lib/generated/prisma/edge.js new file mode 100644 index 0000000..4428da7 --- /dev/null +++ b/lib/generated/prisma/edge.js @@ -0,0 +1,531 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/edge.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.19.3 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ +Prisma.prismaVersion = { + client: "6.19.3", + engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.CountryScalarFieldEnum = { + id: 'id', + name: 'name', + code: 'code', + flagUrl: 'flagUrl', + flagImage: 'flagImage', + confederation: 'confederation', + qualificationMethod: 'qualificationMethod', + qualificationDate: 'qualificationDate', + participationHistory: 'participationHistory', + bestResult: 'bestResult', + description: 'description', + defaultFormation: 'defaultFormation', + defaultLineupPlayerIds: 'defaultLineupPlayerIds', + defaultCaptainId: 'defaultCaptainId', + groupId: 'groupId', + isEliminated: 'isEliminated' +}; + +exports.Prisma.GroupScalarFieldEnum = { + id: 'id', + name: 'name' +}; + +exports.Prisma.PlayerScalarFieldEnum = { + id: 'id', + name: 'name', + image: 'image', + position: 'position', + countryId: 'countryId', + price: 'price', + totalPoints: 'totalPoints', + isActive: 'isActive', + isGoldenCardEligible: 'isGoldenCardEligible', + cardTier: 'cardTier', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.MatchScalarFieldEnum = { + id: 'id', + homeTeamId: 'homeTeamId', + awayTeamId: 'awayTeamId', + homeScore: 'homeScore', + awayScore: 'awayScore', + stage: 'stage', + status: 'status', + matchDate: 'matchDate', + matchDatePersian: 'matchDatePersian', + stadium: 'stadium', + city: 'city', + referee: 'referee', + assistant1: 'assistant1', + assistant2: 'assistant2', + fourthOfficial: 'fourthOfficial', + attendance: 'attendance', + weather: 'weather', + description: 'description', + roundId: 'roundId', + createdAt: 'createdAt' +}; + +exports.Prisma.RoundScalarFieldEnum = { + id: 'id', + number: 'number', + name: 'name', + isActive: 'isActive', + deadline: 'deadline', + createdAt: 'createdAt' +}; + +exports.Prisma.GameweekScalarFieldEnum = { + id: 'id', + number: 'number', + name: 'name', + isActive: 'isActive', + deadline: 'deadline', + createdAt: 'createdAt' +}; + +exports.Prisma.MatchEventScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + playerId: 'playerId', + type: 'type', + minute: 'minute', + extraInfo: 'extraInfo', + createdAt: 'createdAt' +}; + +exports.Prisma.MatchLineupScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + countryId: 'countryId', + formation: 'formation', + playerIds: 'playerIds' +}; + +exports.Prisma.PlayerMatchStatScalarFieldEnum = { + id: 'id', + playerId: 'playerId', + matchId: 'matchId', + goals: 'goals', + assists: 'assists', + yellowCards: 'yellowCards', + redCards: 'redCards', + minutesPlayed: 'minutesPlayed', + cleanSheet: 'cleanSheet', + penaltySaved: 'penaltySaved', + penaltyMissed: 'penaltyMissed', + ownGoals: 'ownGoals', + isMotm: 'isMotm', + extraTimeBonus: 'extraTimeBonus', + points: 'points' +}; + +exports.Prisma.ScoringRuleScalarFieldEnum = { + id: 'id', + position: 'position', + eventType: 'eventType', + points: 'points', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + phone: 'phone', + password: 'password', + role: 'role', + createdAt: 'createdAt' +}; + +exports.Prisma.LoginOtpScalarFieldEnum = { + id: 'id', + phone: 'phone', + codeHash: 'codeHash', + attempts: 'attempts', + expiresAt: 'expiresAt', + consumedAt: 'consumedAt', + createdAt: 'createdAt' +}; + +exports.Prisma.FantasyNewsScalarFieldEnum = { + id: 'id', + icon: 'icon', + title: 'title', + description: 'description', + newsTime: 'newsTime', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.DailyQuizScalarFieldEnum = { + id: 'id', + date: 'date', + windowStart: 'windowStart', + windowEnd: 'windowEnd', + goldWinnersCount: 'goldWinnersCount', + silverWinnersCount: 'silverWinnersCount', + bronzeWinnersCount: 'bronzeWinnersCount', + goldMinCorrect: 'goldMinCorrect', + silverMinCorrect: 'silverMinCorrect', + bronzeMinCorrect: 'bronzeMinCorrect', + isProcessed: 'isProcessed', + createdAt: 'createdAt' +}; + +exports.Prisma.QuizQuestionScalarFieldEnum = { + id: 'id', + quizId: 'quizId', + questionText: 'questionText', + options: 'options', + correctAnswer: 'correctAnswer', + order: 'order' +}; + +exports.Prisma.QuizSubmissionScalarFieldEnum = { + id: 'id', + userId: 'userId', + quizId: 'quizId', + answers: 'answers', + correctAnswers: 'correctAnswers', + score: 'score', + submittedAt: 'submittedAt' +}; + +exports.Prisma.GoldenCardScalarFieldEnum = { + id: 'id', + userId: 'userId', + quizId: 'quizId', + playerId: 'playerId', + cardTier: 'cardTier', + status: 'status', + state: 'state', + acquiredDate: 'acquiredDate', + openedAt: 'openedAt' +}; + +exports.Prisma.SessionScalarFieldEnum = { + id: 'id', + sessionToken: 'sessionToken', + userId: 'userId', + expires: 'expires' +}; + +exports.Prisma.TeamScalarFieldEnum = { + id: 'id', + name: 'name', + userId: 'userId', + budget: 'budget', + totalPoints: 'totalPoints', + formation: 'formation', + status: 'status', + createdAt: 'createdAt' +}; + +exports.Prisma.TeamPlayerScalarFieldEnum = { + teamId: 'teamId', + playerId: 'playerId', + goldenCardId: 'goldenCardId', + isCaptain: 'isCaptain', + isViceCaptain: 'isViceCaptain', + isBench: 'isBench', + positionIndex: 'positionIndex' +}; + +exports.Prisma.PackageScalarFieldEnum = { + id: 'id', + name: 'name', + budgetBonus: 'budgetBonus', + price: 'price', + description: 'description', + isActive: 'isActive' +}; + +exports.Prisma.PaymentScalarFieldEnum = { + id: 'id', + userId: 'userId', + packageId: 'packageId', + amount: 'amount', + authority: 'authority', + refId: 'refId', + status: 'status', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; +exports.Role = exports.$Enums.Role = { + USER: 'USER', + ADMIN: 'ADMIN' +}; + +exports.Position = exports.$Enums.Position = { + GK: 'GK', + DEF: 'DEF', + MID: 'MID', + FWD: 'FWD' +}; + +exports.MatchStage = exports.$Enums.MatchStage = { + GROUP: 'GROUP', + ROUND_OF_16: 'ROUND_OF_16', + QUARTER_FINAL: 'QUARTER_FINAL', + SEMI_FINAL: 'SEMI_FINAL', + THIRD_PLACE: 'THIRD_PLACE', + FINAL: 'FINAL' +}; + +exports.MatchStatus = exports.$Enums.MatchStatus = { + SCHEDULED: 'SCHEDULED', + LIVE: 'LIVE', + FINISHED: 'FINISHED' +}; + +exports.TeamStatus = exports.$Enums.TeamStatus = { + PENDING: 'PENDING', + APPROVED: 'APPROVED', + REJECTED: 'REJECTED', + ACTIVE: 'ACTIVE', + INACTIVE: 'INACTIVE' +}; + +exports.PaymentStatus = exports.$Enums.PaymentStatus = { + PENDING: 'PENDING', + SUCCESS: 'SUCCESS', + FAILED: 'FAILED' +}; + +exports.CardTier = exports.$Enums.CardTier = { + BRONZE: 'BRONZE', + SILVER: 'SILVER', + GOLD: 'GOLD' +}; + +exports.EventType = exports.$Enums.EventType = { + GOAL: 'GOAL', + ASSIST: 'ASSIST', + YELLOW_CARD: 'YELLOW_CARD', + RED_CARD: 'RED_CARD', + SECOND_YELLOW: 'SECOND_YELLOW', + SUBSTITUTION_IN: 'SUBSTITUTION_IN', + SUBSTITUTION_OUT: 'SUBSTITUTION_OUT', + INJURY_NO_SUB: 'INJURY_NO_SUB', + CLEAN_SHEET: 'CLEAN_SHEET', + PENALTY_SAVED: 'PENALTY_SAVED', + PENALTY_MISSED: 'PENALTY_MISSED', + OWN_GOAL: 'OWN_GOAL', + EXTRA_TIME_BONUS: 'EXTRA_TIME_BONUS', + MOTM: 'MOTM' +}; + +exports.GoldenCardStatus = exports.$Enums.GoldenCardStatus = { + SEALED: 'SEALED', + OPENED: 'OPENED' +}; + +exports.SpecialCardState = exports.$Enums.SpecialCardState = { + IN_INVENTORY: 'IN_INVENTORY', + IN_TEAM: 'IN_TEAM', + SOLD: 'SOLD' +}; + +exports.Prisma.ModelName = { + Country: 'Country', + Group: 'Group', + Player: 'Player', + Match: 'Match', + Round: 'Round', + Gameweek: 'Gameweek', + MatchEvent: 'MatchEvent', + MatchLineup: 'MatchLineup', + PlayerMatchStat: 'PlayerMatchStat', + ScoringRule: 'ScoringRule', + User: 'User', + LoginOtp: 'LoginOtp', + FantasyNews: 'FantasyNews', + DailyQuiz: 'DailyQuiz', + QuizQuestion: 'QuizQuestion', + QuizSubmission: 'QuizSubmission', + GoldenCard: 'GoldenCard', + Session: 'Session', + Team: 'Team', + TeamPlayer: 'TeamPlayer', + Package: 'Package', + Payment: 'Payment' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "client", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "C:\\Users\\s.roosta\\Desktop\\football-next\\lib\\generated\\prisma", + "fromEnvVar": null + }, + "config": { + "engineType": "client" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "windows", + "native": true + } + ], + "previewFeatures": [], + "sourceFilePath": "C:\\Users\\s.roosta\\Desktop\\football-next\\prisma\\schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": "../../../.env", + "schemaEnvPath": "../../../.env" + }, + "relativePath": "../../../prisma", + "clientVersion": "6.19.3", + "engineVersion": "c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "postinstall": false, + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n engineType = \"client\"\n output = \"../lib/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nenum Role {\n USER\n ADMIN\n}\n\nenum Position {\n GK\n DEF\n MID\n FWD\n}\n\nenum MatchStage {\n GROUP\n ROUND_OF_16\n QUARTER_FINAL\n SEMI_FINAL\n THIRD_PLACE\n FINAL\n}\n\nenum MatchStatus {\n SCHEDULED\n LIVE\n FINISHED\n}\n\nenum TeamStatus {\n PENDING\n APPROVED\n REJECTED\n ACTIVE\n INACTIVE\n}\n\nenum PaymentStatus {\n PENDING\n SUCCESS\n FAILED\n}\n\nenum CardTier {\n BRONZE\n SILVER\n GOLD\n}\n\nenum EventType {\n GOAL\n ASSIST\n YELLOW_CARD\n RED_CARD\n SECOND_YELLOW\n SUBSTITUTION_IN\n SUBSTITUTION_OUT\n INJURY_NO_SUB\n CLEAN_SHEET\n PENALTY_SAVED\n PENALTY_MISSED\n OWN_GOAL\n EXTRA_TIME_BONUS\n MOTM\n}\n\nmodel Country {\n id String @id @default(cuid())\n name String @unique\n code String @unique\n flagUrl String?\n flagImage String? // نام فایل پرچم مثل Flag_of_Australia.webp\n confederation String? // کنفدراسیون (UEFA, AFC, CAF, ...)\n qualificationMethod String? // شیوه راه‌یابی\n qualificationDate String? // تاریخ راه‌یابی\n participationHistory String? // سابقه شرکت\n bestResult String? // بهترین نتیجه\n description String? @db.Text // توضیحات کامل\n defaultFormation String @default(\"4-3-3\")\n defaultLineupPlayerIds String[] @default([])\n defaultCaptainId String? // شناسه کاپیتان پیش‌فرض\n group Group? @relation(fields: [groupId], references: [id])\n groupId String?\n isEliminated Boolean @default(false)\n players Player[]\n homeMatches Match[] @relation(\"HomeTeam\")\n awayMatches Match[] @relation(\"AwayTeam\")\n}\n\nmodel Group {\n id String @id @default(cuid())\n name String @unique\n countries Country[]\n}\n\nmodel Player {\n id String @id @default(cuid())\n name String\n image String? // نام فایل تصویر در public/uploads/players/\n position Position\n countryId String\n country Country @relation(fields: [countryId], references: [id])\n price Float @default(5.0)\n totalPoints Int @default(0)\n isActive Boolean @default(true)\n isGoldenCardEligible Boolean @default(false)\n cardTier CardTier @default(BRONZE)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n matchStats PlayerMatchStat[]\n teamPlayers TeamPlayer[]\n events MatchEvent[]\n goldenCards GoldenCard[]\n}\n\nmodel Match {\n id String @id @default(cuid())\n homeTeamId String\n awayTeamId String\n homeTeam Country @relation(\"HomeTeam\", fields: [homeTeamId], references: [id])\n awayTeam Country @relation(\"AwayTeam\", fields: [awayTeamId], references: [id])\n homeScore Int?\n awayScore Int?\n stage MatchStage @default(GROUP)\n status MatchStatus @default(SCHEDULED)\n matchDate DateTime\n matchDatePersian String? // تاریخ شمسی\n stadium String? // نام ورزشگاه\n city String? // شهر\n referee String? // داور اصلی\n assistant1 String? // کمک داور 1\n assistant2 String? // کمک داور 2\n fourthOfficial String? // داور چهارم\n attendance Int? // تعداد تماشاگر\n weather String? // وضعیت آب و هوا\n description String? @db.Text // توضیحات بازی\n roundId String?\n round Round? @relation(fields: [roundId], references: [id])\n playerStats PlayerMatchStat[]\n events MatchEvent[]\n lineups MatchLineup[]\n createdAt DateTime @default(now())\n}\n\nmodel Round {\n id String @id @default(cuid())\n number Int @unique\n name String\n isActive Boolean @default(false)\n deadline DateTime\n matches Match[]\n createdAt DateTime @default(now())\n}\n\nmodel Gameweek {\n id String @id @default(cuid())\n number Int @unique\n name String\n isActive Boolean @default(false)\n deadline DateTime\n createdAt DateTime @default(now())\n}\n\nmodel MatchEvent {\n id String @id @default(cuid())\n matchId String\n playerId String\n match Match @relation(fields: [matchId], references: [id], onDelete: Cascade)\n player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)\n type EventType\n minute Int?\n extraInfo String?\n createdAt DateTime @default(now())\n}\n\nmodel MatchLineup {\n id String @id @default(cuid())\n matchId String\n countryId String\n match Match @relation(fields: [matchId], references: [id], onDelete: Cascade)\n formation String\n playerIds String[]\n}\n\nmodel PlayerMatchStat {\n id String @id @default(cuid())\n playerId String\n matchId String\n player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)\n match Match @relation(fields: [matchId], references: [id], onDelete: Cascade)\n goals Int @default(0)\n assists Int @default(0)\n yellowCards Int @default(0)\n redCards Int @default(0)\n minutesPlayed Int @default(0)\n cleanSheet Boolean @default(false)\n penaltySaved Int @default(0)\n penaltyMissed Int @default(0)\n ownGoals Int @default(0)\n isMotm Boolean @default(false)\n extraTimeBonus Int @default(0)\n points Int @default(0)\n\n @@unique([playerId, matchId])\n}\n\nmodel ScoringRule {\n id String @id @default(cuid())\n position Position\n eventType EventType\n points Int\n updatedAt DateTime @updatedAt\n updatedBy String?\n\n @@unique([position, eventType])\n}\n\nmodel User {\n id String @id @default(cuid())\n name String?\n email String @unique\n phone String? @unique\n password String\n role Role @default(USER)\n createdAt DateTime @default(now())\n team Team?\n sessions Session[]\n payments Payment[]\n quizSubmissions QuizSubmission[]\n goldenCards GoldenCard[]\n}\n\nmodel LoginOtp {\n id String @id @default(cuid())\n phone String\n codeHash String\n attempts Int @default(0)\n expiresAt DateTime\n consumedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([phone, createdAt])\n}\n\nmodel FantasyNews {\n id String @id @default(cuid())\n icon String\n title String\n description String @db.Text\n newsTime DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([newsTime])\n}\n\nenum GoldenCardStatus {\n SEALED\n OPENED\n}\n\nenum SpecialCardState {\n IN_INVENTORY\n IN_TEAM\n SOLD\n}\n\nmodel DailyQuiz {\n id String @id @default(cuid())\n date DateTime @db.Date\n windowStart DateTime\n windowEnd DateTime\n goldWinnersCount Int @default(1)\n silverWinnersCount Int @default(0)\n bronzeWinnersCount Int @default(0)\n goldMinCorrect Int?\n silverMinCorrect Int?\n bronzeMinCorrect Int?\n isProcessed Boolean @default(false)\n createdAt DateTime @default(now())\n questions QuizQuestion[]\n submissions QuizSubmission[]\n awardedCards GoldenCard[]\n\n @@unique([date])\n}\n\nmodel QuizQuestion {\n id String @id @default(cuid())\n quizId String\n quiz DailyQuiz @relation(fields: [quizId], references: [id], onDelete: Cascade)\n questionText String\n options String[]\n correctAnswer Int // index of correct option (0-based)\n order Int @default(0)\n}\n\nmodel QuizSubmission {\n id String @id @default(cuid())\n userId String\n quizId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n quiz DailyQuiz @relation(fields: [quizId], references: [id], onDelete: Cascade)\n answers Int[] // user's selected option indexes\n correctAnswers Int @default(0)\n score Int @default(0) // percentage 0-100\n submittedAt DateTime @default(now())\n\n @@unique([userId, quizId])\n}\n\nmodel GoldenCard {\n id String @id @default(cuid())\n userId String\n quizId String?\n playerId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n quiz DailyQuiz? @relation(fields: [quizId], references: [id], onDelete: SetNull)\n player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)\n cardTier CardTier @default(GOLD)\n status GoldenCardStatus @default(SEALED)\n state SpecialCardState @default(IN_INVENTORY)\n acquiredDate DateTime @default(now())\n openedAt DateTime?\n teamPlayer TeamPlayer?\n}\n\nmodel Session {\n id String @id @default(cuid())\n sessionToken String @unique\n userId String\n expires DateTime\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n}\n\nmodel Team {\n id String @id @default(cuid())\n name String\n userId String @unique\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n budget Float @default(100.0)\n totalPoints Int @default(0)\n formation String @default(\"4-3-3\")\n status TeamStatus @default(INACTIVE)\n createdAt DateTime @default(now())\n players TeamPlayer[]\n}\n\nmodel TeamPlayer {\n teamId String\n playerId String\n goldenCardId String? @unique\n isCaptain Boolean @default(false)\n isViceCaptain Boolean @default(false)\n isBench Boolean @default(false)\n positionIndex Int @default(0)\n team Team @relation(fields: [teamId], references: [id], onDelete: Cascade)\n player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)\n goldenCard GoldenCard? @relation(fields: [goldenCardId], references: [id], onDelete: SetNull)\n\n @@id([teamId, playerId])\n}\n\nmodel Package {\n id String @id @default(cuid())\n name String\n budgetBonus Float\n price Int\n description String?\n isActive Boolean @default(true)\n payments Payment[]\n}\n\nmodel Payment {\n id String @id @default(cuid())\n userId String\n packageId String\n user User @relation(fields: [userId], references: [id])\n package Package @relation(fields: [packageId], references: [id])\n amount Int\n authority String? @unique\n refId String?\n status PaymentStatus @default(PENDING)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n", + "inlineSchemaHash": "97ad530f39fbd0a5b25054636137b2d4c6123d03a537c2ff3b9a51a4155369d0", + "copyEngine": true +} +config.dirname = '/' + +config.runtimeDataModel = JSON.parse("{\"models\":{\"Country\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"code\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"flagUrl\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"flagImage\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"confederation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"qualificationMethod\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"qualificationDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"participationHistory\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bestResult\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Text\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"defaultFormation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"4-3-3\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"defaultLineupPlayerIds\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"defaultCaptainId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"group\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Group\",\"nativeType\":null,\"relationName\":\"CountryToGroup\",\"relationFromFields\":[\"groupId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"groupId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isEliminated\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"players\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Player\",\"nativeType\":null,\"relationName\":\"CountryToPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeMatches\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"HomeTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"awayMatches\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"AwayTeam\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Group\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countries\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Country\",\"nativeType\":null,\"relationName\":\"CountryToGroup\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Player\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"image\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Position\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countryId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"country\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Country\",\"nativeType\":null,\"relationName\":\"CountryToPlayer\",\"relationFromFields\":[\"countryId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"price\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"nativeType\":null,\"default\":5,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalPoints\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isGoldenCardEligible\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cardTier\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"CardTier\",\"nativeType\":null,\"default\":\"BRONZE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"matchStats\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PlayerMatchStat\",\"nativeType\":null,\"relationName\":\"PlayerToPlayerMatchStat\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamPlayers\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamPlayer\",\"nativeType\":null,\"relationName\":\"PlayerToTeamPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"events\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchEvent\",\"nativeType\":null,\"relationName\":\"MatchEventToPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"goldenCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"GoldenCard\",\"nativeType\":null,\"relationName\":\"GoldenCardToPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Match\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeTeamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"awayTeamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeTeam\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Country\",\"nativeType\":null,\"relationName\":\"HomeTeam\",\"relationFromFields\":[\"homeTeamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"awayTeam\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Country\",\"nativeType\":null,\"relationName\":\"AwayTeam\",\"relationFromFields\":[\"awayTeamId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"homeScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"awayScore\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stage\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MatchStage\",\"nativeType\":null,\"default\":\"GROUP\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"MatchStatus\",\"nativeType\":null,\"default\":\"SCHEDULED\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchDatePersian\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"stadium\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"city\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"referee\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assistant1\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assistant2\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"fourthOfficial\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attendance\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"weather\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Text\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"roundId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"round\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Round\",\"nativeType\":null,\"relationName\":\"MatchToRound\",\"relationFromFields\":[\"roundId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"playerStats\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"PlayerMatchStat\",\"nativeType\":null,\"relationName\":\"MatchToPlayerMatchStat\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"events\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchEvent\",\"nativeType\":null,\"relationName\":\"MatchToMatchEvent\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"lineups\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"MatchLineup\",\"nativeType\":null,\"relationName\":\"MatchToMatchLineup\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Round\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deadline\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matches\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToRound\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Gameweek\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"number\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"deadline\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MatchEvent\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"playerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToMatchEvent\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"player\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Player\",\"nativeType\":null,\"relationName\":\"MatchEventToPlayer\",\"relationFromFields\":[\"playerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"type\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EventType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minute\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"extraInfo\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"MatchLineup\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"countryId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToMatchLineup\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"formation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"playerIds\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"PlayerMatchStat\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"playerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"matchId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"player\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Player\",\"nativeType\":null,\"relationName\":\"PlayerToPlayerMatchStat\",\"relationFromFields\":[\"playerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"match\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Match\",\"nativeType\":null,\"relationName\":\"MatchToPlayerMatchStat\",\"relationFromFields\":[\"matchId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"goals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"assists\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"yellowCards\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"redCards\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"minutesPlayed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cleanSheet\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"penaltySaved\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"penaltyMissed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"ownGoals\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isMotm\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"extraTimeBonus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"points\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"playerId\",\"matchId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"playerId\",\"matchId\"]}],\"isGenerated\":false},\"ScoringRule\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"position\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Position\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"eventType\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"EventType\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"points\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"position\",\"eventType\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"position\",\"eventType\"]}],\"isGenerated\":false},\"User\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"email\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"password\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"role\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Role\",\"nativeType\":null,\"default\":\"USER\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Session\",\"nativeType\":null,\"relationName\":\"SessionToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payments\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Payment\",\"nativeType\":null,\"relationName\":\"PaymentToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quizSubmissions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"QuizSubmission\",\"nativeType\":null,\"relationName\":\"QuizSubmissionToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"goldenCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"GoldenCard\",\"nativeType\":null,\"relationName\":\"GoldenCardToUser\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"LoginOtp\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"phone\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"codeHash\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"attempts\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"consumedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"FantasyNews\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"icon\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"title\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":[\"Text\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"newsTime\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"DailyQuiz\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"date\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":[\"Date\",[]],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"windowStart\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"windowEnd\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"goldWinnersCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":1,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"silverWinnersCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bronzeWinnersCount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"goldMinCorrect\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"silverMinCorrect\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"bronzeMinCorrect\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isProcessed\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"questions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"QuizQuestion\",\"nativeType\":null,\"relationName\":\"DailyQuizToQuizQuestion\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submissions\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"QuizSubmission\",\"nativeType\":null,\"relationName\":\"DailyQuizToQuizSubmission\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"awardedCards\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"GoldenCard\",\"nativeType\":null,\"relationName\":\"DailyQuizToGoldenCard\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"date\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"date\"]}],\"isGenerated\":false},\"QuizQuestion\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quizId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quiz\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DailyQuiz\",\"nativeType\":null,\"relationName\":\"DailyQuizToQuizQuestion\",\"relationFromFields\":[\"quizId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"questionText\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"options\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"correctAnswer\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"order\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"QuizSubmission\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quizId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"QuizSubmissionToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quiz\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DailyQuiz\",\"nativeType\":null,\"relationName\":\"DailyQuizToQuizSubmission\",\"relationFromFields\":[\"quizId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"answers\",\"kind\":\"scalar\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"correctAnswers\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"score\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"submittedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[[\"userId\",\"quizId\"]],\"uniqueIndexes\":[{\"name\":null,\"fields\":[\"userId\",\"quizId\"]}],\"isGenerated\":false},\"GoldenCard\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quizId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"playerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"GoldenCardToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"quiz\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DailyQuiz\",\"nativeType\":null,\"relationName\":\"DailyQuizToGoldenCard\",\"relationFromFields\":[\"quizId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"SetNull\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"player\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Player\",\"nativeType\":null,\"relationName\":\"GoldenCardToPlayer\",\"relationFromFields\":[\"playerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"cardTier\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"CardTier\",\"nativeType\":null,\"default\":\"GOLD\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"GoldenCardStatus\",\"nativeType\":null,\"default\":\"SEALED\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"state\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"SpecialCardState\",\"nativeType\":null,\"default\":\"IN_INVENTORY\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"acquiredDate\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"openedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"teamPlayer\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamPlayer\",\"nativeType\":null,\"relationName\":\"GoldenCardToTeamPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Session\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"sessionToken\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"expires\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"SessionToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Team\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"TeamToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"budget\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Float\",\"nativeType\":null,\"default\":100,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"totalPoints\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"formation\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":\"4-3-3\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"TeamStatus\",\"nativeType\":null,\"default\":\"INACTIVE\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"players\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"TeamPlayer\",\"nativeType\":null,\"relationName\":\"TeamToTeamPlayer\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"TeamPlayer\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"teamId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"playerId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"goldenCardId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isCaptain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isViceCaptain\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isBench\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":false,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"positionIndex\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Int\",\"nativeType\":null,\"default\":0,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"team\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Team\",\"nativeType\":null,\"relationName\":\"TeamToTeamPlayer\",\"relationFromFields\":[\"teamId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"player\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Player\",\"nativeType\":null,\"relationName\":\"PlayerToTeamPlayer\",\"relationFromFields\":[\"playerId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"Cascade\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"goldenCard\",\"kind\":\"object\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"GoldenCard\",\"nativeType\":null,\"relationName\":\"GoldenCardToTeamPlayer\",\"relationFromFields\":[\"goldenCardId\"],\"relationToFields\":[\"id\"],\"relationOnDelete\":\"SetNull\",\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":{\"name\":null,\"fields\":[\"teamId\",\"playerId\"]},\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Package\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"name\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"budgetBonus\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Float\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"price\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"description\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"isActive\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"Boolean\",\"nativeType\":null,\"default\":true,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"payments\",\"kind\":\"object\",\"isList\":true,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Payment\",\"nativeType\":null,\"relationName\":\"PackageToPayment\",\"relationFromFields\":[],\"relationToFields\":[],\"isGenerated\":false,\"isUpdatedAt\":false}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false},\"Payment\":{\"dbName\":null,\"schema\":null,\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":true,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"String\",\"nativeType\":null,\"default\":{\"name\":\"cuid\",\"args\":[1]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"userId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"packageId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":true,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"user\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"User\",\"nativeType\":null,\"relationName\":\"PaymentToUser\",\"relationFromFields\":[\"userId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"package\",\"kind\":\"object\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Package\",\"nativeType\":null,\"relationName\":\"PackageToPayment\",\"relationFromFields\":[\"packageId\"],\"relationToFields\":[\"id\"],\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"amount\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"Int\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"authority\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":true,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"refId\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":false,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"String\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"status\",\"kind\":\"enum\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"PaymentStatus\",\"nativeType\":null,\"default\":\"PENDING\",\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":true,\"type\":\"DateTime\",\"nativeType\":null,\"default\":{\"name\":\"now\",\"args\":[]},\"isGenerated\":false,\"isUpdatedAt\":false},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"isList\":false,\"isRequired\":true,\"isUnique\":false,\"isId\":false,\"isReadOnly\":false,\"hasDefaultValue\":false,\"type\":\"DateTime\",\"nativeType\":null,\"isGenerated\":false,\"isUpdatedAt\":true}],\"primaryKey\":null,\"uniqueFields\":[],\"uniqueIndexes\":[],\"isGenerated\":false}},\"enums\":{\"Role\":{\"values\":[{\"name\":\"USER\",\"dbName\":null},{\"name\":\"ADMIN\",\"dbName\":null}],\"dbName\":null},\"Position\":{\"values\":[{\"name\":\"GK\",\"dbName\":null},{\"name\":\"DEF\",\"dbName\":null},{\"name\":\"MID\",\"dbName\":null},{\"name\":\"FWD\",\"dbName\":null}],\"dbName\":null},\"MatchStage\":{\"values\":[{\"name\":\"GROUP\",\"dbName\":null},{\"name\":\"ROUND_OF_16\",\"dbName\":null},{\"name\":\"QUARTER_FINAL\",\"dbName\":null},{\"name\":\"SEMI_FINAL\",\"dbName\":null},{\"name\":\"THIRD_PLACE\",\"dbName\":null},{\"name\":\"FINAL\",\"dbName\":null}],\"dbName\":null},\"MatchStatus\":{\"values\":[{\"name\":\"SCHEDULED\",\"dbName\":null},{\"name\":\"LIVE\",\"dbName\":null},{\"name\":\"FINISHED\",\"dbName\":null}],\"dbName\":null},\"TeamStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"APPROVED\",\"dbName\":null},{\"name\":\"REJECTED\",\"dbName\":null},{\"name\":\"ACTIVE\",\"dbName\":null},{\"name\":\"INACTIVE\",\"dbName\":null}],\"dbName\":null},\"PaymentStatus\":{\"values\":[{\"name\":\"PENDING\",\"dbName\":null},{\"name\":\"SUCCESS\",\"dbName\":null},{\"name\":\"FAILED\",\"dbName\":null}],\"dbName\":null},\"CardTier\":{\"values\":[{\"name\":\"BRONZE\",\"dbName\":null},{\"name\":\"SILVER\",\"dbName\":null},{\"name\":\"GOLD\",\"dbName\":null}],\"dbName\":null},\"EventType\":{\"values\":[{\"name\":\"GOAL\",\"dbName\":null},{\"name\":\"ASSIST\",\"dbName\":null},{\"name\":\"YELLOW_CARD\",\"dbName\":null},{\"name\":\"RED_CARD\",\"dbName\":null},{\"name\":\"SECOND_YELLOW\",\"dbName\":null},{\"name\":\"SUBSTITUTION_IN\",\"dbName\":null},{\"name\":\"SUBSTITUTION_OUT\",\"dbName\":null},{\"name\":\"INJURY_NO_SUB\",\"dbName\":null},{\"name\":\"CLEAN_SHEET\",\"dbName\":null},{\"name\":\"PENALTY_SAVED\",\"dbName\":null},{\"name\":\"PENALTY_MISSED\",\"dbName\":null},{\"name\":\"OWN_GOAL\",\"dbName\":null},{\"name\":\"EXTRA_TIME_BONUS\",\"dbName\":null},{\"name\":\"MOTM\",\"dbName\":null}],\"dbName\":null},\"GoldenCardStatus\":{\"values\":[{\"name\":\"SEALED\",\"dbName\":null},{\"name\":\"OPENED\",\"dbName\":null}],\"dbName\":null},\"SpecialCardState\":{\"values\":[{\"name\":\"IN_INVENTORY\",\"dbName\":null},{\"name\":\"IN_TEAM\",\"dbName\":null},{\"name\":\"SOLD\",\"dbName\":null}],\"dbName\":null}},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = undefined +config.compilerWasm = undefined + +config.injectableEdgeEnv = () => ({ + parsed: { + DATABASE_URL: typeof globalThis !== 'undefined' && globalThis['DATABASE_URL'] || typeof process !== 'undefined' && process.env && process.env.DATABASE_URL || undefined + } +}) + +if (typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) { + Debug.enable(typeof globalThis !== 'undefined' && globalThis['DEBUG'] || typeof process !== 'undefined' && process.env && process.env.DEBUG || undefined) +} + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + diff --git a/lib/generated/prisma/index-browser.js b/lib/generated/prisma/index-browser.js new file mode 100644 index 0000000..1d2d9c6 --- /dev/null +++ b/lib/generated/prisma/index-browser.js @@ -0,0 +1,517 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + Decimal, + objectEnumValues, + makeStrictEnum, + Public, + getRuntime, + skip +} = require('./runtime/index-browser.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.19.3 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ +Prisma.prismaVersion = { + client: "6.19.3", + engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" +} + +Prisma.PrismaClientKnownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientKnownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)}; +Prisma.PrismaClientUnknownRequestError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientUnknownRequestError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientRustPanicError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientRustPanicError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientInitializationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientInitializationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.PrismaClientValidationError = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`PrismaClientValidationError is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`sqltag is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.empty = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`empty is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.join = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`join is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.raw = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`raw is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.getExtensionContext is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} +Prisma.defineExtension = () => { + const runtimeName = getRuntime().prettyName; + throw new Error(`Extensions.defineExtension is unable to run in this browser environment, or has been bundled for the browser (running in ${runtimeName}). +In case this error is unexpected for you, please report it in https://pris.ly/prisma-prisma-bug-report`, +)} + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + +/** + * Enums + */ + +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.CountryScalarFieldEnum = { + id: 'id', + name: 'name', + code: 'code', + flagUrl: 'flagUrl', + flagImage: 'flagImage', + confederation: 'confederation', + qualificationMethod: 'qualificationMethod', + qualificationDate: 'qualificationDate', + participationHistory: 'participationHistory', + bestResult: 'bestResult', + description: 'description', + defaultFormation: 'defaultFormation', + defaultLineupPlayerIds: 'defaultLineupPlayerIds', + defaultCaptainId: 'defaultCaptainId', + groupId: 'groupId', + isEliminated: 'isEliminated' +}; + +exports.Prisma.GroupScalarFieldEnum = { + id: 'id', + name: 'name' +}; + +exports.Prisma.PlayerScalarFieldEnum = { + id: 'id', + name: 'name', + image: 'image', + position: 'position', + countryId: 'countryId', + price: 'price', + totalPoints: 'totalPoints', + isActive: 'isActive', + isGoldenCardEligible: 'isGoldenCardEligible', + cardTier: 'cardTier', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.MatchScalarFieldEnum = { + id: 'id', + homeTeamId: 'homeTeamId', + awayTeamId: 'awayTeamId', + homeScore: 'homeScore', + awayScore: 'awayScore', + stage: 'stage', + status: 'status', + matchDate: 'matchDate', + matchDatePersian: 'matchDatePersian', + stadium: 'stadium', + city: 'city', + referee: 'referee', + assistant1: 'assistant1', + assistant2: 'assistant2', + fourthOfficial: 'fourthOfficial', + attendance: 'attendance', + weather: 'weather', + description: 'description', + roundId: 'roundId', + createdAt: 'createdAt' +}; + +exports.Prisma.RoundScalarFieldEnum = { + id: 'id', + number: 'number', + name: 'name', + isActive: 'isActive', + deadline: 'deadline', + createdAt: 'createdAt' +}; + +exports.Prisma.GameweekScalarFieldEnum = { + id: 'id', + number: 'number', + name: 'name', + isActive: 'isActive', + deadline: 'deadline', + createdAt: 'createdAt' +}; + +exports.Prisma.MatchEventScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + playerId: 'playerId', + type: 'type', + minute: 'minute', + extraInfo: 'extraInfo', + createdAt: 'createdAt' +}; + +exports.Prisma.MatchLineupScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + countryId: 'countryId', + formation: 'formation', + playerIds: 'playerIds' +}; + +exports.Prisma.PlayerMatchStatScalarFieldEnum = { + id: 'id', + playerId: 'playerId', + matchId: 'matchId', + goals: 'goals', + assists: 'assists', + yellowCards: 'yellowCards', + redCards: 'redCards', + minutesPlayed: 'minutesPlayed', + cleanSheet: 'cleanSheet', + penaltySaved: 'penaltySaved', + penaltyMissed: 'penaltyMissed', + ownGoals: 'ownGoals', + isMotm: 'isMotm', + extraTimeBonus: 'extraTimeBonus', + points: 'points' +}; + +exports.Prisma.ScoringRuleScalarFieldEnum = { + id: 'id', + position: 'position', + eventType: 'eventType', + points: 'points', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + phone: 'phone', + password: 'password', + role: 'role', + createdAt: 'createdAt' +}; + +exports.Prisma.LoginOtpScalarFieldEnum = { + id: 'id', + phone: 'phone', + codeHash: 'codeHash', + attempts: 'attempts', + expiresAt: 'expiresAt', + consumedAt: 'consumedAt', + createdAt: 'createdAt' +}; + +exports.Prisma.FantasyNewsScalarFieldEnum = { + id: 'id', + icon: 'icon', + title: 'title', + description: 'description', + newsTime: 'newsTime', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.DailyQuizScalarFieldEnum = { + id: 'id', + date: 'date', + windowStart: 'windowStart', + windowEnd: 'windowEnd', + goldWinnersCount: 'goldWinnersCount', + silverWinnersCount: 'silverWinnersCount', + bronzeWinnersCount: 'bronzeWinnersCount', + goldMinCorrect: 'goldMinCorrect', + silverMinCorrect: 'silverMinCorrect', + bronzeMinCorrect: 'bronzeMinCorrect', + isProcessed: 'isProcessed', + createdAt: 'createdAt' +}; + +exports.Prisma.QuizQuestionScalarFieldEnum = { + id: 'id', + quizId: 'quizId', + questionText: 'questionText', + options: 'options', + correctAnswer: 'correctAnswer', + order: 'order' +}; + +exports.Prisma.QuizSubmissionScalarFieldEnum = { + id: 'id', + userId: 'userId', + quizId: 'quizId', + answers: 'answers', + correctAnswers: 'correctAnswers', + score: 'score', + submittedAt: 'submittedAt' +}; + +exports.Prisma.GoldenCardScalarFieldEnum = { + id: 'id', + userId: 'userId', + quizId: 'quizId', + playerId: 'playerId', + cardTier: 'cardTier', + status: 'status', + state: 'state', + acquiredDate: 'acquiredDate', + openedAt: 'openedAt' +}; + +exports.Prisma.SessionScalarFieldEnum = { + id: 'id', + sessionToken: 'sessionToken', + userId: 'userId', + expires: 'expires' +}; + +exports.Prisma.TeamScalarFieldEnum = { + id: 'id', + name: 'name', + userId: 'userId', + budget: 'budget', + totalPoints: 'totalPoints', + formation: 'formation', + status: 'status', + createdAt: 'createdAt' +}; + +exports.Prisma.TeamPlayerScalarFieldEnum = { + teamId: 'teamId', + playerId: 'playerId', + goldenCardId: 'goldenCardId', + isCaptain: 'isCaptain', + isViceCaptain: 'isViceCaptain', + isBench: 'isBench', + positionIndex: 'positionIndex' +}; + +exports.Prisma.PackageScalarFieldEnum = { + id: 'id', + name: 'name', + budgetBonus: 'budgetBonus', + price: 'price', + description: 'description', + isActive: 'isActive' +}; + +exports.Prisma.PaymentScalarFieldEnum = { + id: 'id', + userId: 'userId', + packageId: 'packageId', + amount: 'amount', + authority: 'authority', + refId: 'refId', + status: 'status', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; +exports.Position = exports.$Enums.Position = { + GK: 'GK', + DEF: 'DEF', + MID: 'MID', + FWD: 'FWD' +}; + +exports.CardTier = exports.$Enums.CardTier = { + BRONZE: 'BRONZE', + SILVER: 'SILVER', + GOLD: 'GOLD' +}; + +exports.MatchStage = exports.$Enums.MatchStage = { + GROUP: 'GROUP', + ROUND_OF_16: 'ROUND_OF_16', + QUARTER_FINAL: 'QUARTER_FINAL', + SEMI_FINAL: 'SEMI_FINAL', + THIRD_PLACE: 'THIRD_PLACE', + FINAL: 'FINAL' +}; + +exports.MatchStatus = exports.$Enums.MatchStatus = { + SCHEDULED: 'SCHEDULED', + LIVE: 'LIVE', + FINISHED: 'FINISHED' +}; + +exports.EventType = exports.$Enums.EventType = { + GOAL: 'GOAL', + ASSIST: 'ASSIST', + YELLOW_CARD: 'YELLOW_CARD', + RED_CARD: 'RED_CARD', + SECOND_YELLOW: 'SECOND_YELLOW', + SUBSTITUTION_IN: 'SUBSTITUTION_IN', + SUBSTITUTION_OUT: 'SUBSTITUTION_OUT', + INJURY_NO_SUB: 'INJURY_NO_SUB', + CLEAN_SHEET: 'CLEAN_SHEET', + PENALTY_SAVED: 'PENALTY_SAVED', + PENALTY_MISSED: 'PENALTY_MISSED', + OWN_GOAL: 'OWN_GOAL', + EXTRA_TIME_BONUS: 'EXTRA_TIME_BONUS', + MOTM: 'MOTM' +}; + +exports.Role = exports.$Enums.Role = { + USER: 'USER', + ADMIN: 'ADMIN' +}; + +exports.GoldenCardStatus = exports.$Enums.GoldenCardStatus = { + SEALED: 'SEALED', + OPENED: 'OPENED' +}; + +exports.SpecialCardState = exports.$Enums.SpecialCardState = { + IN_INVENTORY: 'IN_INVENTORY', + IN_TEAM: 'IN_TEAM', + SOLD: 'SOLD' +}; + +exports.TeamStatus = exports.$Enums.TeamStatus = { + PENDING: 'PENDING', + APPROVED: 'APPROVED', + REJECTED: 'REJECTED', + ACTIVE: 'ACTIVE', + INACTIVE: 'INACTIVE' +}; + +exports.PaymentStatus = exports.$Enums.PaymentStatus = { + PENDING: 'PENDING', + SUCCESS: 'SUCCESS', + FAILED: 'FAILED' +}; + +exports.Prisma.ModelName = { + Country: 'Country', + Group: 'Group', + Player: 'Player', + Match: 'Match', + Round: 'Round', + Gameweek: 'Gameweek', + MatchEvent: 'MatchEvent', + MatchLineup: 'MatchLineup', + PlayerMatchStat: 'PlayerMatchStat', + ScoringRule: 'ScoringRule', + User: 'User', + LoginOtp: 'LoginOtp', + FantasyNews: 'FantasyNews', + DailyQuiz: 'DailyQuiz', + QuizQuestion: 'QuizQuestion', + QuizSubmission: 'QuizSubmission', + GoldenCard: 'GoldenCard', + Session: 'Session', + Team: 'Team', + TeamPlayer: 'TeamPlayer', + Package: 'Package', + Payment: 'Payment' +}; + +/** + * This is a stub Prisma Client that will error at runtime if called. + */ +class PrismaClient { + constructor() { + return new Proxy(this, { + get(target, prop) { + let message + const runtime = getRuntime() + if (runtime.isEdge) { + message = `PrismaClient is not configured to run in ${runtime.prettyName}. In order to run Prisma Client on edge runtime, either: +- Use Prisma Accelerate: https://pris.ly/d/accelerate +- Use Driver Adapters: https://pris.ly/d/driver-adapters +`; + } else { + message = 'PrismaClient is unable to run in this browser environment, or has been bundled for the browser (running in `' + runtime.prettyName + '`).' + } + + message += ` +If this is unexpected, please open an issue: https://pris.ly/prisma-prisma-bug-report` + + throw new Error(message) + } + }) + } +} + +exports.PrismaClient = PrismaClient + +Object.assign(exports, Prisma) diff --git a/lib/generated/prisma/index.d.ts b/lib/generated/prisma/index.d.ts new file mode 100644 index 0000000..88b8450 --- /dev/null +++ b/lib/generated/prisma/index.d.ts @@ -0,0 +1,40347 @@ + +/** + * Client +**/ + +import * as runtime from './runtime/client.js'; +import $Types = runtime.Types // general types +import $Public = runtime.Types.Public +import $Utils = runtime.Types.Utils +import $Extensions = runtime.Types.Extensions +import $Result = runtime.Types.Result + +export type PrismaPromise = $Public.PrismaPromise + + +/** + * Model Country + * + */ +export type Country = $Result.DefaultSelection +/** + * Model Group + * + */ +export type Group = $Result.DefaultSelection +/** + * Model Player + * + */ +export type Player = $Result.DefaultSelection +/** + * Model Match + * + */ +export type Match = $Result.DefaultSelection +/** + * Model Round + * + */ +export type Round = $Result.DefaultSelection +/** + * Model Gameweek + * + */ +export type Gameweek = $Result.DefaultSelection +/** + * Model MatchEvent + * + */ +export type MatchEvent = $Result.DefaultSelection +/** + * Model MatchLineup + * + */ +export type MatchLineup = $Result.DefaultSelection +/** + * Model PlayerMatchStat + * + */ +export type PlayerMatchStat = $Result.DefaultSelection +/** + * Model ScoringRule + * + */ +export type ScoringRule = $Result.DefaultSelection +/** + * Model User + * + */ +export type User = $Result.DefaultSelection +/** + * Model LoginOtp + * + */ +export type LoginOtp = $Result.DefaultSelection +/** + * Model FantasyNews + * + */ +export type FantasyNews = $Result.DefaultSelection +/** + * Model DailyQuiz + * + */ +export type DailyQuiz = $Result.DefaultSelection +/** + * Model QuizQuestion + * + */ +export type QuizQuestion = $Result.DefaultSelection +/** + * Model QuizSubmission + * + */ +export type QuizSubmission = $Result.DefaultSelection +/** + * Model GoldenCard + * + */ +export type GoldenCard = $Result.DefaultSelection +/** + * Model Session + * + */ +export type Session = $Result.DefaultSelection +/** + * Model Team + * + */ +export type Team = $Result.DefaultSelection +/** + * Model TeamPlayer + * + */ +export type TeamPlayer = $Result.DefaultSelection +/** + * Model Package + * + */ +export type Package = $Result.DefaultSelection +/** + * Model Payment + * + */ +export type Payment = $Result.DefaultSelection + +/** + * Enums + */ +export namespace $Enums { + export const Role: { + USER: 'USER', + ADMIN: 'ADMIN' +}; + +export type Role = (typeof Role)[keyof typeof Role] + + +export const Position: { + GK: 'GK', + DEF: 'DEF', + MID: 'MID', + FWD: 'FWD' +}; + +export type Position = (typeof Position)[keyof typeof Position] + + +export const MatchStage: { + GROUP: 'GROUP', + ROUND_OF_16: 'ROUND_OF_16', + QUARTER_FINAL: 'QUARTER_FINAL', + SEMI_FINAL: 'SEMI_FINAL', + THIRD_PLACE: 'THIRD_PLACE', + FINAL: 'FINAL' +}; + +export type MatchStage = (typeof MatchStage)[keyof typeof MatchStage] + + +export const MatchStatus: { + SCHEDULED: 'SCHEDULED', + LIVE: 'LIVE', + FINISHED: 'FINISHED' +}; + +export type MatchStatus = (typeof MatchStatus)[keyof typeof MatchStatus] + + +export const TeamStatus: { + PENDING: 'PENDING', + APPROVED: 'APPROVED', + REJECTED: 'REJECTED', + ACTIVE: 'ACTIVE', + INACTIVE: 'INACTIVE' +}; + +export type TeamStatus = (typeof TeamStatus)[keyof typeof TeamStatus] + + +export const PaymentStatus: { + PENDING: 'PENDING', + SUCCESS: 'SUCCESS', + FAILED: 'FAILED' +}; + +export type PaymentStatus = (typeof PaymentStatus)[keyof typeof PaymentStatus] + + +export const CardTier: { + BRONZE: 'BRONZE', + SILVER: 'SILVER', + GOLD: 'GOLD' +}; + +export type CardTier = (typeof CardTier)[keyof typeof CardTier] + + +export const EventType: { + GOAL: 'GOAL', + ASSIST: 'ASSIST', + YELLOW_CARD: 'YELLOW_CARD', + RED_CARD: 'RED_CARD', + SECOND_YELLOW: 'SECOND_YELLOW', + SUBSTITUTION_IN: 'SUBSTITUTION_IN', + SUBSTITUTION_OUT: 'SUBSTITUTION_OUT', + INJURY_NO_SUB: 'INJURY_NO_SUB', + CLEAN_SHEET: 'CLEAN_SHEET', + PENALTY_SAVED: 'PENALTY_SAVED', + PENALTY_MISSED: 'PENALTY_MISSED', + OWN_GOAL: 'OWN_GOAL', + EXTRA_TIME_BONUS: 'EXTRA_TIME_BONUS', + MOTM: 'MOTM' +}; + +export type EventType = (typeof EventType)[keyof typeof EventType] + + +export const GoldenCardStatus: { + SEALED: 'SEALED', + OPENED: 'OPENED' +}; + +export type GoldenCardStatus = (typeof GoldenCardStatus)[keyof typeof GoldenCardStatus] + + +export const SpecialCardState: { + IN_INVENTORY: 'IN_INVENTORY', + IN_TEAM: 'IN_TEAM', + SOLD: 'SOLD' +}; + +export type SpecialCardState = (typeof SpecialCardState)[keyof typeof SpecialCardState] + +} + +export type Role = $Enums.Role + +export const Role: typeof $Enums.Role + +export type Position = $Enums.Position + +export const Position: typeof $Enums.Position + +export type MatchStage = $Enums.MatchStage + +export const MatchStage: typeof $Enums.MatchStage + +export type MatchStatus = $Enums.MatchStatus + +export const MatchStatus: typeof $Enums.MatchStatus + +export type TeamStatus = $Enums.TeamStatus + +export const TeamStatus: typeof $Enums.TeamStatus + +export type PaymentStatus = $Enums.PaymentStatus + +export const PaymentStatus: typeof $Enums.PaymentStatus + +export type CardTier = $Enums.CardTier + +export const CardTier: typeof $Enums.CardTier + +export type EventType = $Enums.EventType + +export const EventType: typeof $Enums.EventType + +export type GoldenCardStatus = $Enums.GoldenCardStatus + +export const GoldenCardStatus: typeof $Enums.GoldenCardStatus + +export type SpecialCardState = $Enums.SpecialCardState + +export const SpecialCardState: typeof $Enums.SpecialCardState + +/** + * ## Prisma Client ʲˢ + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Countries + * const countries = await prisma.country.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ +export class PrismaClient< + ClientOptions extends Prisma.PrismaClientOptions = Prisma.PrismaClientOptions, + const U = 'log' extends keyof ClientOptions ? ClientOptions['log'] extends Array ? Prisma.GetEvents : never : never, + ExtArgs extends $Extensions.InternalArgs = $Extensions.DefaultArgs +> { + [K: symbol]: { types: Prisma.TypeMap['other'] } + + /** + * ## Prisma Client ʲˢ + * + * Type-safe database client for TypeScript & Node.js + * @example + * ``` + * const prisma = new PrismaClient() + * // Fetch zero or more Countries + * const countries = await prisma.country.findMany() + * ``` + * + * + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client). + */ + + constructor(optionsArg ?: Prisma.Subset); + $on(eventType: V, callback: (event: V extends 'query' ? Prisma.QueryEvent : Prisma.LogEvent) => void): PrismaClient; + + /** + * Connect with the database + */ + $connect(): $Utils.JsPromise; + + /** + * Disconnect from the database + */ + $disconnect(): $Utils.JsPromise; + +/** + * 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://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * 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://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $executeRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + /** + * 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://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRaw(query: TemplateStringsArray | Prisma.Sql, ...values: any[]): Prisma.PrismaPromise; + + /** + * 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://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/raw-database-access). + */ + $queryRawUnsafe(query: string, ...values: any[]): Prisma.PrismaPromise; + + + /** + * 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/concepts/components/prisma-client/transactions). + */ + $transaction

[]>(arg: [...P], options?: { isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise> + + $transaction(fn: (prisma: Omit) => $Utils.JsPromise, options?: { maxWait?: number, timeout?: number, isolationLevel?: Prisma.TransactionIsolationLevel }): $Utils.JsPromise + + + $extends: $Extensions.ExtendsHook<"extends", Prisma.TypeMapCb, ExtArgs, $Utils.Call, { + extArgs: ExtArgs + }>> + + /** + * `prisma.country`: Exposes CRUD operations for the **Country** model. + * Example usage: + * ```ts + * // Fetch zero or more Countries + * const countries = await prisma.country.findMany() + * ``` + */ + get country(): Prisma.CountryDelegate; + + /** + * `prisma.group`: Exposes CRUD operations for the **Group** model. + * Example usage: + * ```ts + * // Fetch zero or more Groups + * const groups = await prisma.group.findMany() + * ``` + */ + get group(): Prisma.GroupDelegate; + + /** + * `prisma.player`: Exposes CRUD operations for the **Player** model. + * Example usage: + * ```ts + * // Fetch zero or more Players + * const players = await prisma.player.findMany() + * ``` + */ + get player(): Prisma.PlayerDelegate; + + /** + * `prisma.match`: Exposes CRUD operations for the **Match** model. + * Example usage: + * ```ts + * // Fetch zero or more Matches + * const matches = await prisma.match.findMany() + * ``` + */ + get match(): Prisma.MatchDelegate; + + /** + * `prisma.round`: Exposes CRUD operations for the **Round** model. + * Example usage: + * ```ts + * // Fetch zero or more Rounds + * const rounds = await prisma.round.findMany() + * ``` + */ + get round(): Prisma.RoundDelegate; + + /** + * `prisma.gameweek`: Exposes CRUD operations for the **Gameweek** model. + * Example usage: + * ```ts + * // Fetch zero or more Gameweeks + * const gameweeks = await prisma.gameweek.findMany() + * ``` + */ + get gameweek(): Prisma.GameweekDelegate; + + /** + * `prisma.matchEvent`: Exposes CRUD operations for the **MatchEvent** model. + * Example usage: + * ```ts + * // Fetch zero or more MatchEvents + * const matchEvents = await prisma.matchEvent.findMany() + * ``` + */ + get matchEvent(): Prisma.MatchEventDelegate; + + /** + * `prisma.matchLineup`: Exposes CRUD operations for the **MatchLineup** model. + * Example usage: + * ```ts + * // Fetch zero or more MatchLineups + * const matchLineups = await prisma.matchLineup.findMany() + * ``` + */ + get matchLineup(): Prisma.MatchLineupDelegate; + + /** + * `prisma.playerMatchStat`: Exposes CRUD operations for the **PlayerMatchStat** model. + * Example usage: + * ```ts + * // Fetch zero or more PlayerMatchStats + * const playerMatchStats = await prisma.playerMatchStat.findMany() + * ``` + */ + get playerMatchStat(): Prisma.PlayerMatchStatDelegate; + + /** + * `prisma.scoringRule`: Exposes CRUD operations for the **ScoringRule** model. + * Example usage: + * ```ts + * // Fetch zero or more ScoringRules + * const scoringRules = await prisma.scoringRule.findMany() + * ``` + */ + get scoringRule(): Prisma.ScoringRuleDelegate; + + /** + * `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; + + /** + * `prisma.loginOtp`: Exposes CRUD operations for the **LoginOtp** model. + * Example usage: + * ```ts + * // Fetch zero or more LoginOtps + * const loginOtps = await prisma.loginOtp.findMany() + * ``` + */ + get loginOtp(): Prisma.LoginOtpDelegate; + + /** + * `prisma.fantasyNews`: Exposes CRUD operations for the **FantasyNews** model. + * Example usage: + * ```ts + * // Fetch zero or more FantasyNews + * const fantasyNews = await prisma.fantasyNews.findMany() + * ``` + */ + get fantasyNews(): Prisma.FantasyNewsDelegate; + + /** + * `prisma.dailyQuiz`: Exposes CRUD operations for the **DailyQuiz** model. + * Example usage: + * ```ts + * // Fetch zero or more DailyQuizs + * const dailyQuizs = await prisma.dailyQuiz.findMany() + * ``` + */ + get dailyQuiz(): Prisma.DailyQuizDelegate; + + /** + * `prisma.quizQuestion`: Exposes CRUD operations for the **QuizQuestion** model. + * Example usage: + * ```ts + * // Fetch zero or more QuizQuestions + * const quizQuestions = await prisma.quizQuestion.findMany() + * ``` + */ + get quizQuestion(): Prisma.QuizQuestionDelegate; + + /** + * `prisma.quizSubmission`: Exposes CRUD operations for the **QuizSubmission** model. + * Example usage: + * ```ts + * // Fetch zero or more QuizSubmissions + * const quizSubmissions = await prisma.quizSubmission.findMany() + * ``` + */ + get quizSubmission(): Prisma.QuizSubmissionDelegate; + + /** + * `prisma.goldenCard`: Exposes CRUD operations for the **GoldenCard** model. + * Example usage: + * ```ts + * // Fetch zero or more GoldenCards + * const goldenCards = await prisma.goldenCard.findMany() + * ``` + */ + get goldenCard(): Prisma.GoldenCardDelegate; + + /** + * `prisma.session`: Exposes CRUD operations for the **Session** model. + * Example usage: + * ```ts + * // Fetch zero or more Sessions + * const sessions = await prisma.session.findMany() + * ``` + */ + get session(): Prisma.SessionDelegate; + + /** + * `prisma.team`: Exposes CRUD operations for the **Team** model. + * Example usage: + * ```ts + * // Fetch zero or more Teams + * const teams = await prisma.team.findMany() + * ``` + */ + get team(): Prisma.TeamDelegate; + + /** + * `prisma.teamPlayer`: Exposes CRUD operations for the **TeamPlayer** model. + * Example usage: + * ```ts + * // Fetch zero or more TeamPlayers + * const teamPlayers = await prisma.teamPlayer.findMany() + * ``` + */ + get teamPlayer(): Prisma.TeamPlayerDelegate; + + /** + * `prisma.package`: Exposes CRUD operations for the **Package** model. + * Example usage: + * ```ts + * // Fetch zero or more Packages + * const packages = await prisma.package.findMany() + * ``` + */ + get package(): Prisma.PackageDelegate; + + /** + * `prisma.payment`: Exposes CRUD operations for the **Payment** model. + * Example usage: + * ```ts + * // Fetch zero or more Payments + * const payments = await prisma.payment.findMany() + * ``` + */ + get payment(): Prisma.PaymentDelegate; +} + +export namespace Prisma { + export import DMMF = runtime.DMMF + + export type PrismaPromise = $Public.PrismaPromise + + /** + * Validator + */ + export import validator = runtime.Public.validator + + /** + * Prisma Errors + */ + export import PrismaClientKnownRequestError = runtime.PrismaClientKnownRequestError + export import PrismaClientUnknownRequestError = runtime.PrismaClientUnknownRequestError + export import PrismaClientRustPanicError = runtime.PrismaClientRustPanicError + export import PrismaClientInitializationError = runtime.PrismaClientInitializationError + export import PrismaClientValidationError = runtime.PrismaClientValidationError + + /** + * Re-export of sql-template-tag + */ + export import sql = runtime.sqltag + export import empty = runtime.empty + export import join = runtime.join + export import raw = runtime.raw + export import Sql = runtime.Sql + + + + /** + * Decimal.js + */ + export import Decimal = runtime.Decimal + + export type DecimalJsLike = runtime.DecimalJsLike + + /** + * Metrics + */ + export type Metrics = runtime.Metrics + export type Metric = runtime.Metric + export type MetricHistogram = runtime.MetricHistogram + export type MetricHistogramBucket = runtime.MetricHistogramBucket + + /** + * Extensions + */ + export import Extension = $Extensions.UserArgs + export import getExtensionContext = runtime.Extensions.getExtensionContext + export import Args = $Public.Args + export import Payload = $Public.Payload + export import Result = $Public.Result + export import Exact = $Public.Exact + + /** + * Prisma Client JS version: 6.19.3 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ + export type PrismaVersion = { + client: string + } + + export const prismaVersion: PrismaVersion + + /** + * Utility Types + */ + + + export import Bytes = runtime.Bytes + export import JsonObject = runtime.JsonObject + export import JsonArray = runtime.JsonArray + export import JsonValue = runtime.JsonValue + export import InputJsonObject = runtime.InputJsonObject + export import InputJsonArray = runtime.InputJsonArray + export import InputJsonValue = runtime.InputJsonValue + + /** + * Types of the values used to represent different kinds of `null` values when working with JSON fields. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + namespace NullTypes { + /** + * Type of `Prisma.DbNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.DbNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class DbNull { + private DbNull: never + private constructor() + } + + /** + * Type of `Prisma.JsonNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.JsonNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class JsonNull { + private JsonNull: never + private constructor() + } + + /** + * Type of `Prisma.AnyNull`. + * + * You cannot use other instances of this class. Please use the `Prisma.AnyNull` value. + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + class AnyNull { + private AnyNull: never + private constructor() + } + } + + /** + * Helper for filtering JSON entries that have `null` on the database (empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const DbNull: NullTypes.DbNull + + /** + * Helper for filtering JSON entries that have JSON `null` values (not empty on the db) + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const JsonNull: NullTypes.JsonNull + + /** + * Helper for filtering JSON entries that are `Prisma.DbNull` or `Prisma.JsonNull` + * + * @see https://www.prisma.io/docs/concepts/components/prisma-client/working-with-fields/working-with-json-fields#filtering-on-a-json-field + */ + export const AnyNull: NullTypes.AnyNull + + type SelectAndInclude = { + select: any + include: any + } + + type SelectAndOmit = { + select: any + omit: any + } + + /** + * Get the type of the value, that the Promise holds. + */ + export type PromiseType> = T extends PromiseLike ? U : T; + + /** + * Get the return type of a function which returns a Promise. + */ + export type PromiseReturnType $Utils.JsPromise> = PromiseType> + + /** + * From T, pick a set of properties whose keys are in the union K + */ + type Prisma__Pick = { + [P in K]: T[P]; + }; + + + export type Enumerable = T | Array; + + export type RequiredKeys = { + [K in keyof T]-?: {} extends Prisma__Pick ? never : K + }[keyof T] + + export type TruthyKeys = keyof { + [K in keyof T as T[K] extends false | undefined | null ? never : K]: K + } + + export type TrueKeys = TruthyKeys>> + + /** + * Subset + * @desc From `T` pick properties that exist in `U`. Simple version of Intersection + */ + export type Subset = { + [key in keyof T]: key extends keyof U ? T[key] : never; + }; + + /** + * SelectSubset + * @desc From `T` pick properties that exist in `U`. Simple version of Intersection. + * Additionally, it validates, if both select and include are present. If the case, it errors. + */ + export type SelectSubset = { + [key in keyof T]: key extends keyof U ? T[key] : never + } & + (T extends SelectAndInclude + ? 'Please either choose `select` or `include`.' + : T extends SelectAndOmit + ? 'Please either choose `select` or `omit`.' + : {}) + + /** + * Subset + Intersection + * @desc From `T` pick properties that exist in `U` and intersect `K` + */ + export type SubsetIntersection = { + [key in keyof T]: key extends keyof U ? T[key] : never + } & + K + + type Without = { [P in Exclude]?: never }; + + /** + * XOR is needed to have a real mutually exclusive union type + * https://stackoverflow.com/questions/42123407/does-typescript-support-mutually-exclusive-types + */ + type XOR = + T extends object ? + U extends object ? + (Without & U) | (Without & T) + : U : T + + + /** + * Is T a Record? + */ + type IsObject = T extends Array + ? False + : T extends Date + ? False + : T extends Uint8Array + ? False + : T extends BigInt + ? False + : T extends object + ? True + : False + + + /** + * If it's T[], return T + */ + export type UnEnumerate = T extends Array ? U : T + + /** + * From ts-toolbelt + */ + + type __Either = Omit & + { + // Merge all but K + [P in K]: Prisma__Pick // With K possibilities + }[K] + + type EitherStrict = Strict<__Either> + + type EitherLoose = ComputeRaw<__Either> + + type _Either< + O extends object, + K extends Key, + strict extends Boolean + > = { + 1: EitherStrict + 0: EitherLoose + }[strict] + + type Either< + O extends object, + K extends Key, + strict extends Boolean = 1 + > = O extends unknown ? _Either : never + + export type Union = any + + type PatchUndefined = { + [K in keyof O]: O[K] extends undefined ? At : O[K] + } & {} + + /** Helper Types for "Merge" **/ + export type IntersectOf = ( + U extends unknown ? (k: U) => void : never + ) extends (k: infer I) => void + ? I + : never + + export type Overwrite = { + [K in keyof O]: K extends keyof O1 ? O1[K] : O[K]; + } & {}; + + type _Merge = IntersectOf; + }>>; + + type Key = string | number | symbol; + type AtBasic = K extends keyof O ? O[K] : never; + type AtStrict = O[K & keyof O]; + type AtLoose = O extends unknown ? AtStrict : never; + export type At = { + 1: AtStrict; + 0: AtLoose; + }[strict]; + + export type ComputeRaw = A extends Function ? A : { + [K in keyof A]: A[K]; + } & {}; + + export type OptionalFlat = { + [K in keyof O]?: O[K]; + } & {}; + + type _Record = { + [P in K]: T; + }; + + // cause typescript not to expand types and preserve names + type NoExpand = T extends unknown ? T : never; + + // this type assumes the passed object is entirely optional + type AtLeast = NoExpand< + O extends unknown + ? | (K extends keyof O ? { [P in K]: O[P] } & O : O) + | {[P in keyof O as P extends K ? P : never]-?: O[P]} & O + : never>; + + type _Strict = U extends unknown ? U & OptionalFlat<_Record, keyof U>, never>> : never; + + export type Strict = ComputeRaw<_Strict>; + /** End Helper Types for "Merge" **/ + + export type Merge = ComputeRaw<_Merge>>; + + /** + A [[Boolean]] + */ + export type Boolean = True | False + + // /** + // 1 + // */ + export type True = 1 + + /** + 0 + */ + export type False = 0 + + export type Not = { + 0: 1 + 1: 0 + }[B] + + export type Extends = [A1] extends [never] + ? 0 // anything `never` is false + : A1 extends A2 + ? 1 + : 0 + + export type Has = Not< + Extends, U1> + > + + export type Or = { + 0: { + 0: 0 + 1: 1 + } + 1: { + 0: 1 + 1: 1 + } + }[B1][B2] + + export type Keys = U extends unknown ? keyof U : never + + type Cast = A extends B ? A : B; + + export const type: unique symbol; + + + + /** + * Used by group by + */ + + export type GetScalarType = O extends object ? { + [P in keyof T]: P extends keyof O + ? O[P] + : never + } : never + + type FieldPaths< + T, + U = Omit + > = IsObject extends True ? U : T + + type GetHavingFields = { + [K in keyof T]: Or< + Or, Extends<'AND', K>>, + Extends<'NOT', K> + > extends True + ? // infer is only needed to not hit TS limit + // based on the brilliant idea of Pierre-Antoine Mills + // https://github.com/microsoft/TypeScript/issues/30188#issuecomment-478938437 + T[K] extends infer TK + ? GetHavingFields extends object ? Merge> : never> + : never + : {} extends FieldPaths + ? never + : K + }[keyof T] + + /** + * Convert tuple to union + */ + type _TupleToUnion = T extends (infer E)[] ? E : never + type TupleToUnion = _TupleToUnion + type MaybeTupleToUnion = T extends any[] ? TupleToUnion : T + + /** + * Like `Pick`, but additionally can also accept an array of keys + */ + type PickEnumerable | keyof T> = Prisma__Pick> + + /** + * Exclude all keys with underscores + */ + type ExcludeUnderscoreKeys = T extends `_${string}` ? never : T + + + export type FieldRef = runtime.FieldRef + + type FieldRefInputType = Model extends never ? never : FieldRef + + + export const ModelName: { + Country: 'Country', + Group: 'Group', + Player: 'Player', + Match: 'Match', + Round: 'Round', + Gameweek: 'Gameweek', + MatchEvent: 'MatchEvent', + MatchLineup: 'MatchLineup', + PlayerMatchStat: 'PlayerMatchStat', + ScoringRule: 'ScoringRule', + User: 'User', + LoginOtp: 'LoginOtp', + FantasyNews: 'FantasyNews', + DailyQuiz: 'DailyQuiz', + QuizQuestion: 'QuizQuestion', + QuizSubmission: 'QuizSubmission', + GoldenCard: 'GoldenCard', + Session: 'Session', + Team: 'Team', + TeamPlayer: 'TeamPlayer', + Package: 'Package', + Payment: 'Payment' + }; + + export type ModelName = (typeof ModelName)[keyof typeof ModelName] + + + export type Datasources = { + db?: Datasource + } + + interface TypeMapCb extends $Utils.Fn<{extArgs: $Extensions.InternalArgs }, $Utils.Record> { + returns: Prisma.TypeMap + } + + export type TypeMap = { + globalOmitOptions: { + omit: GlobalOmitOptions + } + meta: { + modelProps: "country" | "group" | "player" | "match" | "round" | "gameweek" | "matchEvent" | "matchLineup" | "playerMatchStat" | "scoringRule" | "user" | "loginOtp" | "fantasyNews" | "dailyQuiz" | "quizQuestion" | "quizSubmission" | "goldenCard" | "session" | "team" | "teamPlayer" | "package" | "payment" + txIsolationLevel: Prisma.TransactionIsolationLevel + } + model: { + Country: { + payload: Prisma.$CountryPayload + fields: Prisma.CountryFieldRefs + operations: { + findUnique: { + args: Prisma.CountryFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.CountryFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.CountryFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.CountryFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.CountryFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.CountryCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.CountryCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.CountryCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.CountryDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.CountryUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.CountryDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.CountryUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.CountryUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.CountryUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.CountryAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.CountryGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.CountryCountArgs + result: $Utils.Optional | number + } + } + } + Group: { + payload: Prisma.$GroupPayload + fields: Prisma.GroupFieldRefs + operations: { + findUnique: { + args: Prisma.GroupFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.GroupFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.GroupFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.GroupFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.GroupFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.GroupCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.GroupCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.GroupCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.GroupDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.GroupUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.GroupDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.GroupUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.GroupUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.GroupUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.GroupAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.GroupGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.GroupCountArgs + result: $Utils.Optional | number + } + } + } + Player: { + payload: Prisma.$PlayerPayload + fields: Prisma.PlayerFieldRefs + operations: { + findUnique: { + args: Prisma.PlayerFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.PlayerFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.PlayerFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.PlayerFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.PlayerFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.PlayerCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.PlayerCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.PlayerCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.PlayerDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.PlayerUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.PlayerDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.PlayerUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.PlayerUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.PlayerUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.PlayerAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.PlayerGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.PlayerCountArgs + result: $Utils.Optional | number + } + } + } + Match: { + payload: Prisma.$MatchPayload + fields: Prisma.MatchFieldRefs + operations: { + findUnique: { + args: Prisma.MatchFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.MatchFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.MatchFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.MatchFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.MatchFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.MatchCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.MatchCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.MatchCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.MatchDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.MatchUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.MatchDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.MatchUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.MatchUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.MatchUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MatchAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.MatchGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.MatchCountArgs + result: $Utils.Optional | number + } + } + } + Round: { + payload: Prisma.$RoundPayload + fields: Prisma.RoundFieldRefs + operations: { + findUnique: { + args: Prisma.RoundFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.RoundFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.RoundFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.RoundFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.RoundFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.RoundCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.RoundCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.RoundCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.RoundDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.RoundUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.RoundDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.RoundUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.RoundUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.RoundUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.RoundAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.RoundGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.RoundCountArgs + result: $Utils.Optional | number + } + } + } + Gameweek: { + payload: Prisma.$GameweekPayload + fields: Prisma.GameweekFieldRefs + operations: { + findUnique: { + args: Prisma.GameweekFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.GameweekFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.GameweekFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.GameweekFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.GameweekFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.GameweekCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.GameweekCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.GameweekCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.GameweekDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.GameweekUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.GameweekDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.GameweekUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.GameweekUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.GameweekUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.GameweekAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.GameweekGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.GameweekCountArgs + result: $Utils.Optional | number + } + } + } + MatchEvent: { + payload: Prisma.$MatchEventPayload + fields: Prisma.MatchEventFieldRefs + operations: { + findUnique: { + args: Prisma.MatchEventFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.MatchEventFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.MatchEventFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.MatchEventFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.MatchEventFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.MatchEventCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.MatchEventCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.MatchEventCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.MatchEventDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.MatchEventUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.MatchEventDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.MatchEventUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.MatchEventUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.MatchEventUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MatchEventAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.MatchEventGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.MatchEventCountArgs + result: $Utils.Optional | number + } + } + } + MatchLineup: { + payload: Prisma.$MatchLineupPayload + fields: Prisma.MatchLineupFieldRefs + operations: { + findUnique: { + args: Prisma.MatchLineupFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.MatchLineupFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.MatchLineupFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.MatchLineupFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.MatchLineupFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.MatchLineupCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.MatchLineupCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.MatchLineupCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.MatchLineupDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.MatchLineupUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.MatchLineupDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.MatchLineupUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.MatchLineupUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.MatchLineupUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.MatchLineupAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.MatchLineupGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.MatchLineupCountArgs + result: $Utils.Optional | number + } + } + } + PlayerMatchStat: { + payload: Prisma.$PlayerMatchStatPayload + fields: Prisma.PlayerMatchStatFieldRefs + operations: { + findUnique: { + args: Prisma.PlayerMatchStatFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.PlayerMatchStatFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.PlayerMatchStatFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.PlayerMatchStatFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.PlayerMatchStatFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.PlayerMatchStatCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.PlayerMatchStatCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.PlayerMatchStatCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.PlayerMatchStatDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.PlayerMatchStatUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.PlayerMatchStatDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.PlayerMatchStatUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.PlayerMatchStatUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.PlayerMatchStatUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.PlayerMatchStatAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.PlayerMatchStatGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.PlayerMatchStatCountArgs + result: $Utils.Optional | number + } + } + } + ScoringRule: { + payload: Prisma.$ScoringRulePayload + fields: Prisma.ScoringRuleFieldRefs + operations: { + findUnique: { + args: Prisma.ScoringRuleFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.ScoringRuleFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.ScoringRuleFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.ScoringRuleFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.ScoringRuleFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.ScoringRuleCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.ScoringRuleCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.ScoringRuleCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.ScoringRuleDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.ScoringRuleUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.ScoringRuleDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.ScoringRuleUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.ScoringRuleUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.ScoringRuleUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.ScoringRuleAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.ScoringRuleGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.ScoringRuleCountArgs + result: $Utils.Optional | number + } + } + } + User: { + payload: Prisma.$UserPayload + fields: Prisma.UserFieldRefs + operations: { + findUnique: { + args: Prisma.UserFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.UserFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.UserFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.UserFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.UserFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.UserCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.UserCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.UserCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.UserDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.UserUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.UserDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.UserUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.UserUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.UserUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.UserAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.UserGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.UserCountArgs + result: $Utils.Optional | number + } + } + } + LoginOtp: { + payload: Prisma.$LoginOtpPayload + fields: Prisma.LoginOtpFieldRefs + operations: { + findUnique: { + args: Prisma.LoginOtpFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.LoginOtpFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.LoginOtpFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.LoginOtpFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.LoginOtpFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.LoginOtpCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.LoginOtpCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.LoginOtpCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.LoginOtpDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.LoginOtpUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.LoginOtpDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.LoginOtpUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.LoginOtpUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.LoginOtpUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.LoginOtpAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.LoginOtpGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.LoginOtpCountArgs + result: $Utils.Optional | number + } + } + } + FantasyNews: { + payload: Prisma.$FantasyNewsPayload + fields: Prisma.FantasyNewsFieldRefs + operations: { + findUnique: { + args: Prisma.FantasyNewsFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.FantasyNewsFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.FantasyNewsFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.FantasyNewsFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.FantasyNewsFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.FantasyNewsCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.FantasyNewsCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.FantasyNewsCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.FantasyNewsDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.FantasyNewsUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.FantasyNewsDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.FantasyNewsUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.FantasyNewsUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.FantasyNewsUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.FantasyNewsAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.FantasyNewsGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.FantasyNewsCountArgs + result: $Utils.Optional | number + } + } + } + DailyQuiz: { + payload: Prisma.$DailyQuizPayload + fields: Prisma.DailyQuizFieldRefs + operations: { + findUnique: { + args: Prisma.DailyQuizFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.DailyQuizFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.DailyQuizFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.DailyQuizFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.DailyQuizFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.DailyQuizCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.DailyQuizCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.DailyQuizCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.DailyQuizDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.DailyQuizUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.DailyQuizDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.DailyQuizUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.DailyQuizUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.DailyQuizUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.DailyQuizAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.DailyQuizGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.DailyQuizCountArgs + result: $Utils.Optional | number + } + } + } + QuizQuestion: { + payload: Prisma.$QuizQuestionPayload + fields: Prisma.QuizQuestionFieldRefs + operations: { + findUnique: { + args: Prisma.QuizQuestionFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.QuizQuestionFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.QuizQuestionFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.QuizQuestionFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.QuizQuestionFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.QuizQuestionCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.QuizQuestionCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.QuizQuestionCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.QuizQuestionDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.QuizQuestionUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.QuizQuestionDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.QuizQuestionUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.QuizQuestionUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.QuizQuestionUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.QuizQuestionAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.QuizQuestionGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.QuizQuestionCountArgs + result: $Utils.Optional | number + } + } + } + QuizSubmission: { + payload: Prisma.$QuizSubmissionPayload + fields: Prisma.QuizSubmissionFieldRefs + operations: { + findUnique: { + args: Prisma.QuizSubmissionFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.QuizSubmissionFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.QuizSubmissionFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.QuizSubmissionFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.QuizSubmissionFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.QuizSubmissionCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.QuizSubmissionCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.QuizSubmissionCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.QuizSubmissionDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.QuizSubmissionUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.QuizSubmissionDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.QuizSubmissionUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.QuizSubmissionUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.QuizSubmissionUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.QuizSubmissionAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.QuizSubmissionGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.QuizSubmissionCountArgs + result: $Utils.Optional | number + } + } + } + GoldenCard: { + payload: Prisma.$GoldenCardPayload + fields: Prisma.GoldenCardFieldRefs + operations: { + findUnique: { + args: Prisma.GoldenCardFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.GoldenCardFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.GoldenCardFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.GoldenCardFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.GoldenCardFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.GoldenCardCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.GoldenCardCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.GoldenCardCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.GoldenCardDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.GoldenCardUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.GoldenCardDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.GoldenCardUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.GoldenCardUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.GoldenCardUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.GoldenCardAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.GoldenCardGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.GoldenCardCountArgs + result: $Utils.Optional | number + } + } + } + Session: { + payload: Prisma.$SessionPayload + fields: Prisma.SessionFieldRefs + operations: { + findUnique: { + args: Prisma.SessionFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.SessionFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.SessionFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.SessionFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.SessionFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.SessionCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.SessionCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.SessionCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.SessionDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.SessionUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.SessionDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.SessionUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.SessionUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.SessionUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.SessionAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.SessionGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.SessionCountArgs + result: $Utils.Optional | number + } + } + } + Team: { + payload: Prisma.$TeamPayload + fields: Prisma.TeamFieldRefs + operations: { + findUnique: { + args: Prisma.TeamFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TeamFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.TeamFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TeamFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.TeamFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.TeamCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.TeamCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TeamCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.TeamDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.TeamUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TeamDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TeamUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TeamUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TeamUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.TeamAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.TeamGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.TeamCountArgs + result: $Utils.Optional | number + } + } + } + TeamPlayer: { + payload: Prisma.$TeamPlayerPayload + fields: Prisma.TeamPlayerFieldRefs + operations: { + findUnique: { + args: Prisma.TeamPlayerFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.TeamPlayerFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.TeamPlayerFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.TeamPlayerFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.TeamPlayerFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.TeamPlayerCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.TeamPlayerCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.TeamPlayerCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.TeamPlayerDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.TeamPlayerUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.TeamPlayerDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.TeamPlayerUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.TeamPlayerUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.TeamPlayerUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.TeamPlayerAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.TeamPlayerGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.TeamPlayerCountArgs + result: $Utils.Optional | number + } + } + } + Package: { + payload: Prisma.$PackagePayload + fields: Prisma.PackageFieldRefs + operations: { + findUnique: { + args: Prisma.PackageFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.PackageFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.PackageFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.PackageFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.PackageFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.PackageCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.PackageCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.PackageCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.PackageDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.PackageUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.PackageDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.PackageUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.PackageUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.PackageUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.PackageAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.PackageGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.PackageCountArgs + result: $Utils.Optional | number + } + } + } + Payment: { + payload: Prisma.$PaymentPayload + fields: Prisma.PaymentFieldRefs + operations: { + findUnique: { + args: Prisma.PaymentFindUniqueArgs + result: $Utils.PayloadToResult | null + } + findUniqueOrThrow: { + args: Prisma.PaymentFindUniqueOrThrowArgs + result: $Utils.PayloadToResult + } + findFirst: { + args: Prisma.PaymentFindFirstArgs + result: $Utils.PayloadToResult | null + } + findFirstOrThrow: { + args: Prisma.PaymentFindFirstOrThrowArgs + result: $Utils.PayloadToResult + } + findMany: { + args: Prisma.PaymentFindManyArgs + result: $Utils.PayloadToResult[] + } + create: { + args: Prisma.PaymentCreateArgs + result: $Utils.PayloadToResult + } + createMany: { + args: Prisma.PaymentCreateManyArgs + result: BatchPayload + } + createManyAndReturn: { + args: Prisma.PaymentCreateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + delete: { + args: Prisma.PaymentDeleteArgs + result: $Utils.PayloadToResult + } + update: { + args: Prisma.PaymentUpdateArgs + result: $Utils.PayloadToResult + } + deleteMany: { + args: Prisma.PaymentDeleteManyArgs + result: BatchPayload + } + updateMany: { + args: Prisma.PaymentUpdateManyArgs + result: BatchPayload + } + updateManyAndReturn: { + args: Prisma.PaymentUpdateManyAndReturnArgs + result: $Utils.PayloadToResult[] + } + upsert: { + args: Prisma.PaymentUpsertArgs + result: $Utils.PayloadToResult + } + aggregate: { + args: Prisma.PaymentAggregateArgs + result: $Utils.Optional + } + groupBy: { + args: Prisma.PaymentGroupByArgs + result: $Utils.Optional[] + } + count: { + args: Prisma.PaymentCountArgs + result: $Utils.Optional | number + } + } + } + } + } & { + other: { + payload: any + operations: { + $executeRaw: { + args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], + result: any + } + $executeRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + $queryRaw: { + args: [query: TemplateStringsArray | Prisma.Sql, ...values: any[]], + result: any + } + $queryRawUnsafe: { + args: [query: string, ...values: any[]], + result: any + } + } + } + } + export const defineExtension: $Extensions.ExtendsHook<"define", Prisma.TypeMapCb, $Extensions.DefaultArgs> + export type DefaultPrismaClient = PrismaClient + export type ErrorFormat = 'pretty' | 'colorless' | 'minimal' + export interface PrismaClientOptions { + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasources?: Datasources + /** + * Overwrites the datasource url from your schema.prisma file + */ + datasourceUrl?: string + /** + * @default "colorless" + */ + errorFormat?: ErrorFormat + /** + * @example + * ``` + * // Shorthand for `emit: 'stdout'` + * log: ['query', 'info', 'warn', 'error'] + * + * // Emit as events only + * log: [ + * { emit: 'event', level: 'query' }, + * { emit: 'event', level: 'info' }, + * { emit: 'event', level: 'warn' } + * { emit: 'event', level: 'error' } + * ] + * + * / Emit as events and log to stdout + * og: [ + * { emit: 'stdout', level: 'query' }, + * { emit: 'stdout', level: 'info' }, + * { emit: 'stdout', level: 'warn' } + * { emit: 'stdout', level: 'error' } + * + * ``` + * Read more in our [docs](https://www.prisma.io/docs/reference/tools-and-interfaces/prisma-client/logging#the-log-option). + */ + log?: (LogLevel | LogDefinition)[] + /** + * The default values for transactionOptions + * maxWait ?= 2000 + * timeout ?= 5000 + */ + transactionOptions?: { + maxWait?: number + timeout?: number + isolationLevel?: Prisma.TransactionIsolationLevel + } + /** + * Instance of a Driver Adapter, e.g., like one provided by `@prisma/adapter-planetscale` + */ + adapter?: runtime.SqlDriverAdapterFactory | null + /** + * Global configuration for omitting model fields by default. + * + * @example + * ``` + * const prisma = new PrismaClient({ + * omit: { + * user: { + * password: true + * } + * } + * }) + * ``` + */ + omit?: Prisma.GlobalOmitConfig + } + export type GlobalOmitConfig = { + country?: CountryOmit + group?: GroupOmit + player?: PlayerOmit + match?: MatchOmit + round?: RoundOmit + gameweek?: GameweekOmit + matchEvent?: MatchEventOmit + matchLineup?: MatchLineupOmit + playerMatchStat?: PlayerMatchStatOmit + scoringRule?: ScoringRuleOmit + user?: UserOmit + loginOtp?: LoginOtpOmit + fantasyNews?: FantasyNewsOmit + dailyQuiz?: DailyQuizOmit + quizQuestion?: QuizQuestionOmit + quizSubmission?: QuizSubmissionOmit + goldenCard?: GoldenCardOmit + session?: SessionOmit + team?: TeamOmit + teamPlayer?: TeamPlayerOmit + package?: PackageOmit + payment?: PaymentOmit + } + + /* Types for Logging */ + export type LogLevel = 'info' | 'query' | 'warn' | 'error' + export type LogDefinition = { + level: LogLevel + emit: 'stdout' | 'event' + } + + export type CheckIsLogLevel = T extends LogLevel ? T : never; + + export type GetLogType = CheckIsLogLevel< + T extends LogDefinition ? T['level'] : T + >; + + export type GetEvents = T extends Array + ? GetLogType + : never; + + export type QueryEvent = { + timestamp: Date + query: string + params: string + duration: number + target: string + } + + export type LogEvent = { + timestamp: Date + message: string + target: string + } + /* End Types for Logging */ + + + export type PrismaAction = + | 'findUnique' + | 'findUniqueOrThrow' + | 'findMany' + | 'findFirst' + | 'findFirstOrThrow' + | 'create' + | 'createMany' + | 'createManyAndReturn' + | 'update' + | 'updateMany' + | 'updateManyAndReturn' + | 'upsert' + | 'delete' + | 'deleteMany' + | 'executeRaw' + | 'queryRaw' + | 'aggregate' + | 'count' + | 'runCommandRaw' + | 'findRaw' + | 'groupBy' + + // tested in getLogLevel.test.ts + export function getLogLevel(log: Array): LogLevel | undefined; + + /** + * `PrismaClient` proxy available in interactive transactions. + */ + export type TransactionClient = Omit + + export type Datasource = { + url?: string + } + + /** + * Count Types + */ + + + /** + * Count Type CountryCountOutputType + */ + + export type CountryCountOutputType = { + players: number + homeMatches: number + awayMatches: number + } + + export type CountryCountOutputTypeSelect = { + players?: boolean | CountryCountOutputTypeCountPlayersArgs + homeMatches?: boolean | CountryCountOutputTypeCountHomeMatchesArgs + awayMatches?: boolean | CountryCountOutputTypeCountAwayMatchesArgs + } + + // Custom InputTypes + /** + * CountryCountOutputType without action + */ + export type CountryCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the CountryCountOutputType + */ + select?: CountryCountOutputTypeSelect | null + } + + /** + * CountryCountOutputType without action + */ + export type CountryCountOutputTypeCountPlayersArgs = { + where?: PlayerWhereInput + } + + /** + * CountryCountOutputType without action + */ + export type CountryCountOutputTypeCountHomeMatchesArgs = { + where?: MatchWhereInput + } + + /** + * CountryCountOutputType without action + */ + export type CountryCountOutputTypeCountAwayMatchesArgs = { + where?: MatchWhereInput + } + + + /** + * Count Type GroupCountOutputType + */ + + export type GroupCountOutputType = { + countries: number + } + + export type GroupCountOutputTypeSelect = { + countries?: boolean | GroupCountOutputTypeCountCountriesArgs + } + + // Custom InputTypes + /** + * GroupCountOutputType without action + */ + export type GroupCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the GroupCountOutputType + */ + select?: GroupCountOutputTypeSelect | null + } + + /** + * GroupCountOutputType without action + */ + export type GroupCountOutputTypeCountCountriesArgs = { + where?: CountryWhereInput + } + + + /** + * Count Type PlayerCountOutputType + */ + + export type PlayerCountOutputType = { + matchStats: number + teamPlayers: number + events: number + goldenCards: number + } + + export type PlayerCountOutputTypeSelect = { + matchStats?: boolean | PlayerCountOutputTypeCountMatchStatsArgs + teamPlayers?: boolean | PlayerCountOutputTypeCountTeamPlayersArgs + events?: boolean | PlayerCountOutputTypeCountEventsArgs + goldenCards?: boolean | PlayerCountOutputTypeCountGoldenCardsArgs + } + + // Custom InputTypes + /** + * PlayerCountOutputType without action + */ + export type PlayerCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the PlayerCountOutputType + */ + select?: PlayerCountOutputTypeSelect | null + } + + /** + * PlayerCountOutputType without action + */ + export type PlayerCountOutputTypeCountMatchStatsArgs = { + where?: PlayerMatchStatWhereInput + } + + /** + * PlayerCountOutputType without action + */ + export type PlayerCountOutputTypeCountTeamPlayersArgs = { + where?: TeamPlayerWhereInput + } + + /** + * PlayerCountOutputType without action + */ + export type PlayerCountOutputTypeCountEventsArgs = { + where?: MatchEventWhereInput + } + + /** + * PlayerCountOutputType without action + */ + export type PlayerCountOutputTypeCountGoldenCardsArgs = { + where?: GoldenCardWhereInput + } + + + /** + * Count Type MatchCountOutputType + */ + + export type MatchCountOutputType = { + playerStats: number + events: number + lineups: number + } + + export type MatchCountOutputTypeSelect = { + playerStats?: boolean | MatchCountOutputTypeCountPlayerStatsArgs + events?: boolean | MatchCountOutputTypeCountEventsArgs + lineups?: boolean | MatchCountOutputTypeCountLineupsArgs + } + + // Custom InputTypes + /** + * MatchCountOutputType without action + */ + export type MatchCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the MatchCountOutputType + */ + select?: MatchCountOutputTypeSelect | null + } + + /** + * MatchCountOutputType without action + */ + export type MatchCountOutputTypeCountPlayerStatsArgs = { + where?: PlayerMatchStatWhereInput + } + + /** + * MatchCountOutputType without action + */ + export type MatchCountOutputTypeCountEventsArgs = { + where?: MatchEventWhereInput + } + + /** + * MatchCountOutputType without action + */ + export type MatchCountOutputTypeCountLineupsArgs = { + where?: MatchLineupWhereInput + } + + + /** + * Count Type RoundCountOutputType + */ + + export type RoundCountOutputType = { + matches: number + } + + export type RoundCountOutputTypeSelect = { + matches?: boolean | RoundCountOutputTypeCountMatchesArgs + } + + // Custom InputTypes + /** + * RoundCountOutputType without action + */ + export type RoundCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the RoundCountOutputType + */ + select?: RoundCountOutputTypeSelect | null + } + + /** + * RoundCountOutputType without action + */ + export type RoundCountOutputTypeCountMatchesArgs = { + where?: MatchWhereInput + } + + + /** + * Count Type UserCountOutputType + */ + + export type UserCountOutputType = { + sessions: number + payments: number + quizSubmissions: number + goldenCards: number + } + + export type UserCountOutputTypeSelect = { + sessions?: boolean | UserCountOutputTypeCountSessionsArgs + payments?: boolean | UserCountOutputTypeCountPaymentsArgs + quizSubmissions?: boolean | UserCountOutputTypeCountQuizSubmissionsArgs + goldenCards?: boolean | UserCountOutputTypeCountGoldenCardsArgs + } + + // Custom InputTypes + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the UserCountOutputType + */ + select?: UserCountOutputTypeSelect | null + } + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountSessionsArgs = { + where?: SessionWhereInput + } + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountPaymentsArgs = { + where?: PaymentWhereInput + } + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountQuizSubmissionsArgs = { + where?: QuizSubmissionWhereInput + } + + /** + * UserCountOutputType without action + */ + export type UserCountOutputTypeCountGoldenCardsArgs = { + where?: GoldenCardWhereInput + } + + + /** + * Count Type DailyQuizCountOutputType + */ + + export type DailyQuizCountOutputType = { + questions: number + submissions: number + awardedCards: number + } + + export type DailyQuizCountOutputTypeSelect = { + questions?: boolean | DailyQuizCountOutputTypeCountQuestionsArgs + submissions?: boolean | DailyQuizCountOutputTypeCountSubmissionsArgs + awardedCards?: boolean | DailyQuizCountOutputTypeCountAwardedCardsArgs + } + + // Custom InputTypes + /** + * DailyQuizCountOutputType without action + */ + export type DailyQuizCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the DailyQuizCountOutputType + */ + select?: DailyQuizCountOutputTypeSelect | null + } + + /** + * DailyQuizCountOutputType without action + */ + export type DailyQuizCountOutputTypeCountQuestionsArgs = { + where?: QuizQuestionWhereInput + } + + /** + * DailyQuizCountOutputType without action + */ + export type DailyQuizCountOutputTypeCountSubmissionsArgs = { + where?: QuizSubmissionWhereInput + } + + /** + * DailyQuizCountOutputType without action + */ + export type DailyQuizCountOutputTypeCountAwardedCardsArgs = { + where?: GoldenCardWhereInput + } + + + /** + * Count Type TeamCountOutputType + */ + + export type TeamCountOutputType = { + players: number + } + + export type TeamCountOutputTypeSelect = { + players?: boolean | TeamCountOutputTypeCountPlayersArgs + } + + // Custom InputTypes + /** + * TeamCountOutputType without action + */ + export type TeamCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the TeamCountOutputType + */ + select?: TeamCountOutputTypeSelect | null + } + + /** + * TeamCountOutputType without action + */ + export type TeamCountOutputTypeCountPlayersArgs = { + where?: TeamPlayerWhereInput + } + + + /** + * Count Type PackageCountOutputType + */ + + export type PackageCountOutputType = { + payments: number + } + + export type PackageCountOutputTypeSelect = { + payments?: boolean | PackageCountOutputTypeCountPaymentsArgs + } + + // Custom InputTypes + /** + * PackageCountOutputType without action + */ + export type PackageCountOutputTypeDefaultArgs = { + /** + * Select specific fields to fetch from the PackageCountOutputType + */ + select?: PackageCountOutputTypeSelect | null + } + + /** + * PackageCountOutputType without action + */ + export type PackageCountOutputTypeCountPaymentsArgs = { + where?: PaymentWhereInput + } + + + /** + * Models + */ + + /** + * Model Country + */ + + export type AggregateCountry = { + _count: CountryCountAggregateOutputType | null + _min: CountryMinAggregateOutputType | null + _max: CountryMaxAggregateOutputType | null + } + + export type CountryMinAggregateOutputType = { + id: string | null + name: string | null + code: string | null + flagUrl: string | null + flagImage: string | null + confederation: string | null + qualificationMethod: string | null + qualificationDate: string | null + participationHistory: string | null + bestResult: string | null + description: string | null + defaultFormation: string | null + defaultCaptainId: string | null + groupId: string | null + isEliminated: boolean | null + } + + export type CountryMaxAggregateOutputType = { + id: string | null + name: string | null + code: string | null + flagUrl: string | null + flagImage: string | null + confederation: string | null + qualificationMethod: string | null + qualificationDate: string | null + participationHistory: string | null + bestResult: string | null + description: string | null + defaultFormation: string | null + defaultCaptainId: string | null + groupId: string | null + isEliminated: boolean | null + } + + export type CountryCountAggregateOutputType = { + id: number + name: number + code: number + flagUrl: number + flagImage: number + confederation: number + qualificationMethod: number + qualificationDate: number + participationHistory: number + bestResult: number + description: number + defaultFormation: number + defaultLineupPlayerIds: number + defaultCaptainId: number + groupId: number + isEliminated: number + _all: number + } + + + export type CountryMinAggregateInputType = { + id?: true + name?: true + code?: true + flagUrl?: true + flagImage?: true + confederation?: true + qualificationMethod?: true + qualificationDate?: true + participationHistory?: true + bestResult?: true + description?: true + defaultFormation?: true + defaultCaptainId?: true + groupId?: true + isEliminated?: true + } + + export type CountryMaxAggregateInputType = { + id?: true + name?: true + code?: true + flagUrl?: true + flagImage?: true + confederation?: true + qualificationMethod?: true + qualificationDate?: true + participationHistory?: true + bestResult?: true + description?: true + defaultFormation?: true + defaultCaptainId?: true + groupId?: true + isEliminated?: true + } + + export type CountryCountAggregateInputType = { + id?: true + name?: true + code?: true + flagUrl?: true + flagImage?: true + confederation?: true + qualificationMethod?: true + qualificationDate?: true + participationHistory?: true + bestResult?: true + description?: true + defaultFormation?: true + defaultLineupPlayerIds?: true + defaultCaptainId?: true + groupId?: true + isEliminated?: true + _all?: true + } + + export type CountryAggregateArgs = { + /** + * Filter which Country to aggregate. + */ + where?: CountryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Countries to fetch. + */ + orderBy?: CountryOrderByWithRelationInput | CountryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: CountryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Countries from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Countries. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Countries + **/ + _count?: true | CountryCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: CountryMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: CountryMaxAggregateInputType + } + + export type GetCountryAggregateType = { + [P in keyof T & keyof AggregateCountry]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type CountryGroupByArgs = { + where?: CountryWhereInput + orderBy?: CountryOrderByWithAggregationInput | CountryOrderByWithAggregationInput[] + by: CountryScalarFieldEnum[] | CountryScalarFieldEnum + having?: CountryScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: CountryCountAggregateInputType | true + _min?: CountryMinAggregateInputType + _max?: CountryMaxAggregateInputType + } + + export type CountryGroupByOutputType = { + id: string + name: string + code: string + flagUrl: string | null + flagImage: string | null + confederation: string | null + qualificationMethod: string | null + qualificationDate: string | null + participationHistory: string | null + bestResult: string | null + description: string | null + defaultFormation: string + defaultLineupPlayerIds: string[] + defaultCaptainId: string | null + groupId: string | null + isEliminated: boolean + _count: CountryCountAggregateOutputType | null + _min: CountryMinAggregateOutputType | null + _max: CountryMaxAggregateOutputType | null + } + + type GetCountryGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof CountryGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type CountrySelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + code?: boolean + flagUrl?: boolean + flagImage?: boolean + confederation?: boolean + qualificationMethod?: boolean + qualificationDate?: boolean + participationHistory?: boolean + bestResult?: boolean + description?: boolean + defaultFormation?: boolean + defaultLineupPlayerIds?: boolean + defaultCaptainId?: boolean + groupId?: boolean + isEliminated?: boolean + group?: boolean | Country$groupArgs + players?: boolean | Country$playersArgs + homeMatches?: boolean | Country$homeMatchesArgs + awayMatches?: boolean | Country$awayMatchesArgs + _count?: boolean | CountryCountOutputTypeDefaultArgs + }, ExtArgs["result"]["country"]> + + export type CountrySelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + code?: boolean + flagUrl?: boolean + flagImage?: boolean + confederation?: boolean + qualificationMethod?: boolean + qualificationDate?: boolean + participationHistory?: boolean + bestResult?: boolean + description?: boolean + defaultFormation?: boolean + defaultLineupPlayerIds?: boolean + defaultCaptainId?: boolean + groupId?: boolean + isEliminated?: boolean + group?: boolean | Country$groupArgs + }, ExtArgs["result"]["country"]> + + export type CountrySelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + code?: boolean + flagUrl?: boolean + flagImage?: boolean + confederation?: boolean + qualificationMethod?: boolean + qualificationDate?: boolean + participationHistory?: boolean + bestResult?: boolean + description?: boolean + defaultFormation?: boolean + defaultLineupPlayerIds?: boolean + defaultCaptainId?: boolean + groupId?: boolean + isEliminated?: boolean + group?: boolean | Country$groupArgs + }, ExtArgs["result"]["country"]> + + export type CountrySelectScalar = { + id?: boolean + name?: boolean + code?: boolean + flagUrl?: boolean + flagImage?: boolean + confederation?: boolean + qualificationMethod?: boolean + qualificationDate?: boolean + participationHistory?: boolean + bestResult?: boolean + description?: boolean + defaultFormation?: boolean + defaultLineupPlayerIds?: boolean + defaultCaptainId?: boolean + groupId?: boolean + isEliminated?: boolean + } + + export type CountryOmit = $Extensions.GetOmit<"id" | "name" | "code" | "flagUrl" | "flagImage" | "confederation" | "qualificationMethod" | "qualificationDate" | "participationHistory" | "bestResult" | "description" | "defaultFormation" | "defaultLineupPlayerIds" | "defaultCaptainId" | "groupId" | "isEliminated", ExtArgs["result"]["country"]> + export type CountryInclude = { + group?: boolean | Country$groupArgs + players?: boolean | Country$playersArgs + homeMatches?: boolean | Country$homeMatchesArgs + awayMatches?: boolean | Country$awayMatchesArgs + _count?: boolean | CountryCountOutputTypeDefaultArgs + } + export type CountryIncludeCreateManyAndReturn = { + group?: boolean | Country$groupArgs + } + export type CountryIncludeUpdateManyAndReturn = { + group?: boolean | Country$groupArgs + } + + export type $CountryPayload = { + name: "Country" + objects: { + group: Prisma.$GroupPayload | null + players: Prisma.$PlayerPayload[] + homeMatches: Prisma.$MatchPayload[] + awayMatches: Prisma.$MatchPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + code: string + flagUrl: string | null + flagImage: string | null + confederation: string | null + qualificationMethod: string | null + qualificationDate: string | null + participationHistory: string | null + bestResult: string | null + description: string | null + defaultFormation: string + defaultLineupPlayerIds: string[] + defaultCaptainId: string | null + groupId: string | null + isEliminated: boolean + }, ExtArgs["result"]["country"]> + composites: {} + } + + type CountryGetPayload = $Result.GetResult + + type CountryCountArgs = + Omit & { + select?: CountryCountAggregateInputType | true + } + + export interface CountryDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Country'], meta: { name: 'Country' } } + /** + * Find zero or one Country that matches the filter. + * @param {CountryFindUniqueArgs} args - Arguments to find a Country + * @example + * // Get one Country + * const country = await prisma.country.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__CountryClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Country that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {CountryFindUniqueOrThrowArgs} args - Arguments to find a Country + * @example + * // Get one Country + * const country = await prisma.country.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__CountryClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Country that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CountryFindFirstArgs} args - Arguments to find a Country + * @example + * // Get one Country + * const country = await prisma.country.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__CountryClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Country that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CountryFindFirstOrThrowArgs} args - Arguments to find a Country + * @example + * // Get one Country + * const country = await prisma.country.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__CountryClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Countries that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CountryFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Countries + * const countries = await prisma.country.findMany() + * + * // Get first 10 Countries + * const countries = await prisma.country.findMany({ take: 10 }) + * + * // Only select the `id` + * const countryWithIdOnly = await prisma.country.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Country. + * @param {CountryCreateArgs} args - Arguments to create a Country. + * @example + * // Create one Country + * const Country = await prisma.country.create({ + * data: { + * // ... data to create a Country + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__CountryClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Countries. + * @param {CountryCreateManyArgs} args - Arguments to create many Countries. + * @example + * // Create many Countries + * const country = await prisma.country.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Countries and returns the data saved in the database. + * @param {CountryCreateManyAndReturnArgs} args - Arguments to create many Countries. + * @example + * // Create many Countries + * const country = await prisma.country.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Countries and only return the `id` + * const countryWithIdOnly = await prisma.country.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Country. + * @param {CountryDeleteArgs} args - Arguments to delete one Country. + * @example + * // Delete one Country + * const Country = await prisma.country.delete({ + * where: { + * // ... filter to delete one Country + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__CountryClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Country. + * @param {CountryUpdateArgs} args - Arguments to update one Country. + * @example + * // Update one Country + * const country = await prisma.country.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__CountryClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Countries. + * @param {CountryDeleteManyArgs} args - Arguments to filter Countries to delete. + * @example + * // Delete a few Countries + * const { count } = await prisma.country.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Countries. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CountryUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Countries + * const country = await prisma.country.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Countries and returns the data updated in the database. + * @param {CountryUpdateManyAndReturnArgs} args - Arguments to update many Countries. + * @example + * // Update many Countries + * const country = await prisma.country.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Countries and only return the `id` + * const countryWithIdOnly = await prisma.country.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Country. + * @param {CountryUpsertArgs} args - Arguments to update or create a Country. + * @example + * // Update or create a Country + * const country = await prisma.country.upsert({ + * create: { + * // ... data to create a Country + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Country we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__CountryClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Countries. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CountryCountArgs} args - Arguments to filter Countries to count. + * @example + * // Count the number of Countries + * const count = await prisma.country.count({ + * where: { + * // ... the filter for the Countries we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Country. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CountryAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Country. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {CountryGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends CountryGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: CountryGroupByArgs['orderBy'] } + : { orderBy?: CountryGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetCountryGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Country model + */ + readonly fields: CountryFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Country. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__CountryClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + group = {}>(args?: Subset>): Prisma__GroupClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + players = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + homeMatches = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + awayMatches = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Country model + */ + interface CountryFieldRefs { + readonly id: FieldRef<"Country", 'String'> + readonly name: FieldRef<"Country", 'String'> + readonly code: FieldRef<"Country", 'String'> + readonly flagUrl: FieldRef<"Country", 'String'> + readonly flagImage: FieldRef<"Country", 'String'> + readonly confederation: FieldRef<"Country", 'String'> + readonly qualificationMethod: FieldRef<"Country", 'String'> + readonly qualificationDate: FieldRef<"Country", 'String'> + readonly participationHistory: FieldRef<"Country", 'String'> + readonly bestResult: FieldRef<"Country", 'String'> + readonly description: FieldRef<"Country", 'String'> + readonly defaultFormation: FieldRef<"Country", 'String'> + readonly defaultLineupPlayerIds: FieldRef<"Country", 'String[]'> + readonly defaultCaptainId: FieldRef<"Country", 'String'> + readonly groupId: FieldRef<"Country", 'String'> + readonly isEliminated: FieldRef<"Country", 'Boolean'> + } + + + // Custom InputTypes + /** + * Country findUnique + */ + export type CountryFindUniqueArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * Filter, which Country to fetch. + */ + where: CountryWhereUniqueInput + } + + /** + * Country findUniqueOrThrow + */ + export type CountryFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * Filter, which Country to fetch. + */ + where: CountryWhereUniqueInput + } + + /** + * Country findFirst + */ + export type CountryFindFirstArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * Filter, which Country to fetch. + */ + where?: CountryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Countries to fetch. + */ + orderBy?: CountryOrderByWithRelationInput | CountryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Countries. + */ + cursor?: CountryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Countries from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Countries. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Countries. + */ + distinct?: CountryScalarFieldEnum | CountryScalarFieldEnum[] + } + + /** + * Country findFirstOrThrow + */ + export type CountryFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * Filter, which Country to fetch. + */ + where?: CountryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Countries to fetch. + */ + orderBy?: CountryOrderByWithRelationInput | CountryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Countries. + */ + cursor?: CountryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Countries from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Countries. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Countries. + */ + distinct?: CountryScalarFieldEnum | CountryScalarFieldEnum[] + } + + /** + * Country findMany + */ + export type CountryFindManyArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * Filter, which Countries to fetch. + */ + where?: CountryWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Countries to fetch. + */ + orderBy?: CountryOrderByWithRelationInput | CountryOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Countries. + */ + cursor?: CountryWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Countries from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Countries. + */ + skip?: number + distinct?: CountryScalarFieldEnum | CountryScalarFieldEnum[] + } + + /** + * Country create + */ + export type CountryCreateArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * The data needed to create a Country. + */ + data: XOR + } + + /** + * Country createMany + */ + export type CountryCreateManyArgs = { + /** + * The data used to create many Countries. + */ + data: CountryCreateManyInput | CountryCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Country createManyAndReturn + */ + export type CountryCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelectCreateManyAndReturn | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * The data used to create many Countries. + */ + data: CountryCreateManyInput | CountryCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryIncludeCreateManyAndReturn | null + } + + /** + * Country update + */ + export type CountryUpdateArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * The data needed to update a Country. + */ + data: XOR + /** + * Choose, which Country to update. + */ + where: CountryWhereUniqueInput + } + + /** + * Country updateMany + */ + export type CountryUpdateManyArgs = { + /** + * The data used to update Countries. + */ + data: XOR + /** + * Filter which Countries to update + */ + where?: CountryWhereInput + /** + * Limit how many Countries to update. + */ + limit?: number + } + + /** + * Country updateManyAndReturn + */ + export type CountryUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * The data used to update Countries. + */ + data: XOR + /** + * Filter which Countries to update + */ + where?: CountryWhereInput + /** + * Limit how many Countries to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryIncludeUpdateManyAndReturn | null + } + + /** + * Country upsert + */ + export type CountryUpsertArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * The filter to search for the Country to update in case it exists. + */ + where: CountryWhereUniqueInput + /** + * In case the Country found by the `where` argument doesn't exist, create a new Country with this data. + */ + create: XOR + /** + * In case the Country was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Country delete + */ + export type CountryDeleteArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + /** + * Filter which Country to delete. + */ + where: CountryWhereUniqueInput + } + + /** + * Country deleteMany + */ + export type CountryDeleteManyArgs = { + /** + * Filter which Countries to delete + */ + where?: CountryWhereInput + /** + * Limit how many Countries to delete. + */ + limit?: number + } + + /** + * Country.group + */ + export type Country$groupArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + where?: GroupWhereInput + } + + /** + * Country.players + */ + export type Country$playersArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + where?: PlayerWhereInput + orderBy?: PlayerOrderByWithRelationInput | PlayerOrderByWithRelationInput[] + cursor?: PlayerWhereUniqueInput + take?: number + skip?: number + distinct?: PlayerScalarFieldEnum | PlayerScalarFieldEnum[] + } + + /** + * Country.homeMatches + */ + export type Country$homeMatchesArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + where?: MatchWhereInput + orderBy?: MatchOrderByWithRelationInput | MatchOrderByWithRelationInput[] + cursor?: MatchWhereUniqueInput + take?: number + skip?: number + distinct?: MatchScalarFieldEnum | MatchScalarFieldEnum[] + } + + /** + * Country.awayMatches + */ + export type Country$awayMatchesArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + where?: MatchWhereInput + orderBy?: MatchOrderByWithRelationInput | MatchOrderByWithRelationInput[] + cursor?: MatchWhereUniqueInput + take?: number + skip?: number + distinct?: MatchScalarFieldEnum | MatchScalarFieldEnum[] + } + + /** + * Country without action + */ + export type CountryDefaultArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + } + + + /** + * Model Group + */ + + export type AggregateGroup = { + _count: GroupCountAggregateOutputType | null + _min: GroupMinAggregateOutputType | null + _max: GroupMaxAggregateOutputType | null + } + + export type GroupMinAggregateOutputType = { + id: string | null + name: string | null + } + + export type GroupMaxAggregateOutputType = { + id: string | null + name: string | null + } + + export type GroupCountAggregateOutputType = { + id: number + name: number + _all: number + } + + + export type GroupMinAggregateInputType = { + id?: true + name?: true + } + + export type GroupMaxAggregateInputType = { + id?: true + name?: true + } + + export type GroupCountAggregateInputType = { + id?: true + name?: true + _all?: true + } + + export type GroupAggregateArgs = { + /** + * Filter which Group to aggregate. + */ + where?: GroupWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Groups to fetch. + */ + orderBy?: GroupOrderByWithRelationInput | GroupOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: GroupWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Groups from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Groups. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Groups + **/ + _count?: true | GroupCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: GroupMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: GroupMaxAggregateInputType + } + + export type GetGroupAggregateType = { + [P in keyof T & keyof AggregateGroup]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type GroupGroupByArgs = { + where?: GroupWhereInput + orderBy?: GroupOrderByWithAggregationInput | GroupOrderByWithAggregationInput[] + by: GroupScalarFieldEnum[] | GroupScalarFieldEnum + having?: GroupScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: GroupCountAggregateInputType | true + _min?: GroupMinAggregateInputType + _max?: GroupMaxAggregateInputType + } + + export type GroupGroupByOutputType = { + id: string + name: string + _count: GroupCountAggregateOutputType | null + _min: GroupMinAggregateOutputType | null + _max: GroupMaxAggregateOutputType | null + } + + type GetGroupGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof GroupGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type GroupSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + countries?: boolean | Group$countriesArgs + _count?: boolean | GroupCountOutputTypeDefaultArgs + }, ExtArgs["result"]["group"]> + + export type GroupSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + }, ExtArgs["result"]["group"]> + + export type GroupSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + }, ExtArgs["result"]["group"]> + + export type GroupSelectScalar = { + id?: boolean + name?: boolean + } + + export type GroupOmit = $Extensions.GetOmit<"id" | "name", ExtArgs["result"]["group"]> + export type GroupInclude = { + countries?: boolean | Group$countriesArgs + _count?: boolean | GroupCountOutputTypeDefaultArgs + } + export type GroupIncludeCreateManyAndReturn = {} + export type GroupIncludeUpdateManyAndReturn = {} + + export type $GroupPayload = { + name: "Group" + objects: { + countries: Prisma.$CountryPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + }, ExtArgs["result"]["group"]> + composites: {} + } + + type GroupGetPayload = $Result.GetResult + + type GroupCountArgs = + Omit & { + select?: GroupCountAggregateInputType | true + } + + export interface GroupDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Group'], meta: { name: 'Group' } } + /** + * Find zero or one Group that matches the filter. + * @param {GroupFindUniqueArgs} args - Arguments to find a Group + * @example + * // Get one Group + * const group = await prisma.group.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__GroupClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Group that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {GroupFindUniqueOrThrowArgs} args - Arguments to find a Group + * @example + * // Get one Group + * const group = await prisma.group.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__GroupClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Group that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GroupFindFirstArgs} args - Arguments to find a Group + * @example + * // Get one Group + * const group = await prisma.group.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__GroupClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Group that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GroupFindFirstOrThrowArgs} args - Arguments to find a Group + * @example + * // Get one Group + * const group = await prisma.group.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__GroupClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Groups that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GroupFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Groups + * const groups = await prisma.group.findMany() + * + * // Get first 10 Groups + * const groups = await prisma.group.findMany({ take: 10 }) + * + * // Only select the `id` + * const groupWithIdOnly = await prisma.group.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Group. + * @param {GroupCreateArgs} args - Arguments to create a Group. + * @example + * // Create one Group + * const Group = await prisma.group.create({ + * data: { + * // ... data to create a Group + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__GroupClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Groups. + * @param {GroupCreateManyArgs} args - Arguments to create many Groups. + * @example + * // Create many Groups + * const group = await prisma.group.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Groups and returns the data saved in the database. + * @param {GroupCreateManyAndReturnArgs} args - Arguments to create many Groups. + * @example + * // Create many Groups + * const group = await prisma.group.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Groups and only return the `id` + * const groupWithIdOnly = await prisma.group.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Group. + * @param {GroupDeleteArgs} args - Arguments to delete one Group. + * @example + * // Delete one Group + * const Group = await prisma.group.delete({ + * where: { + * // ... filter to delete one Group + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__GroupClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Group. + * @param {GroupUpdateArgs} args - Arguments to update one Group. + * @example + * // Update one Group + * const group = await prisma.group.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__GroupClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Groups. + * @param {GroupDeleteManyArgs} args - Arguments to filter Groups to delete. + * @example + * // Delete a few Groups + * const { count } = await prisma.group.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Groups. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GroupUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Groups + * const group = await prisma.group.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Groups and returns the data updated in the database. + * @param {GroupUpdateManyAndReturnArgs} args - Arguments to update many Groups. + * @example + * // Update many Groups + * const group = await prisma.group.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Groups and only return the `id` + * const groupWithIdOnly = await prisma.group.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Group. + * @param {GroupUpsertArgs} args - Arguments to update or create a Group. + * @example + * // Update or create a Group + * const group = await prisma.group.upsert({ + * create: { + * // ... data to create a Group + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Group we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__GroupClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Groups. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GroupCountArgs} args - Arguments to filter Groups to count. + * @example + * // Count the number of Groups + * const count = await prisma.group.count({ + * where: { + * // ... the filter for the Groups we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Group. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GroupAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Group. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GroupGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends GroupGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: GroupGroupByArgs['orderBy'] } + : { orderBy?: GroupGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetGroupGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Group model + */ + readonly fields: GroupFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Group. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__GroupClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + countries = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Group model + */ + interface GroupFieldRefs { + readonly id: FieldRef<"Group", 'String'> + readonly name: FieldRef<"Group", 'String'> + } + + + // Custom InputTypes + /** + * Group findUnique + */ + export type GroupFindUniqueArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * Filter, which Group to fetch. + */ + where: GroupWhereUniqueInput + } + + /** + * Group findUniqueOrThrow + */ + export type GroupFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * Filter, which Group to fetch. + */ + where: GroupWhereUniqueInput + } + + /** + * Group findFirst + */ + export type GroupFindFirstArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * Filter, which Group to fetch. + */ + where?: GroupWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Groups to fetch. + */ + orderBy?: GroupOrderByWithRelationInput | GroupOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Groups. + */ + cursor?: GroupWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Groups from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Groups. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Groups. + */ + distinct?: GroupScalarFieldEnum | GroupScalarFieldEnum[] + } + + /** + * Group findFirstOrThrow + */ + export type GroupFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * Filter, which Group to fetch. + */ + where?: GroupWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Groups to fetch. + */ + orderBy?: GroupOrderByWithRelationInput | GroupOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Groups. + */ + cursor?: GroupWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Groups from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Groups. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Groups. + */ + distinct?: GroupScalarFieldEnum | GroupScalarFieldEnum[] + } + + /** + * Group findMany + */ + export type GroupFindManyArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * Filter, which Groups to fetch. + */ + where?: GroupWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Groups to fetch. + */ + orderBy?: GroupOrderByWithRelationInput | GroupOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Groups. + */ + cursor?: GroupWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Groups from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Groups. + */ + skip?: number + distinct?: GroupScalarFieldEnum | GroupScalarFieldEnum[] + } + + /** + * Group create + */ + export type GroupCreateArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * The data needed to create a Group. + */ + data: XOR + } + + /** + * Group createMany + */ + export type GroupCreateManyArgs = { + /** + * The data used to create many Groups. + */ + data: GroupCreateManyInput | GroupCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Group createManyAndReturn + */ + export type GroupCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * The data used to create many Groups. + */ + data: GroupCreateManyInput | GroupCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Group update + */ + export type GroupUpdateArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * The data needed to update a Group. + */ + data: XOR + /** + * Choose, which Group to update. + */ + where: GroupWhereUniqueInput + } + + /** + * Group updateMany + */ + export type GroupUpdateManyArgs = { + /** + * The data used to update Groups. + */ + data: XOR + /** + * Filter which Groups to update + */ + where?: GroupWhereInput + /** + * Limit how many Groups to update. + */ + limit?: number + } + + /** + * Group updateManyAndReturn + */ + export type GroupUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * The data used to update Groups. + */ + data: XOR + /** + * Filter which Groups to update + */ + where?: GroupWhereInput + /** + * Limit how many Groups to update. + */ + limit?: number + } + + /** + * Group upsert + */ + export type GroupUpsertArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * The filter to search for the Group to update in case it exists. + */ + where: GroupWhereUniqueInput + /** + * In case the Group found by the `where` argument doesn't exist, create a new Group with this data. + */ + create: XOR + /** + * In case the Group was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Group delete + */ + export type GroupDeleteArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + /** + * Filter which Group to delete. + */ + where: GroupWhereUniqueInput + } + + /** + * Group deleteMany + */ + export type GroupDeleteManyArgs = { + /** + * Filter which Groups to delete + */ + where?: GroupWhereInput + /** + * Limit how many Groups to delete. + */ + limit?: number + } + + /** + * Group.countries + */ + export type Group$countriesArgs = { + /** + * Select specific fields to fetch from the Country + */ + select?: CountrySelect | null + /** + * Omit specific fields from the Country + */ + omit?: CountryOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: CountryInclude | null + where?: CountryWhereInput + orderBy?: CountryOrderByWithRelationInput | CountryOrderByWithRelationInput[] + cursor?: CountryWhereUniqueInput + take?: number + skip?: number + distinct?: CountryScalarFieldEnum | CountryScalarFieldEnum[] + } + + /** + * Group without action + */ + export type GroupDefaultArgs = { + /** + * Select specific fields to fetch from the Group + */ + select?: GroupSelect | null + /** + * Omit specific fields from the Group + */ + omit?: GroupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GroupInclude | null + } + + + /** + * Model Player + */ + + export type AggregatePlayer = { + _count: PlayerCountAggregateOutputType | null + _avg: PlayerAvgAggregateOutputType | null + _sum: PlayerSumAggregateOutputType | null + _min: PlayerMinAggregateOutputType | null + _max: PlayerMaxAggregateOutputType | null + } + + export type PlayerAvgAggregateOutputType = { + price: number | null + totalPoints: number | null + } + + export type PlayerSumAggregateOutputType = { + price: number | null + totalPoints: number | null + } + + export type PlayerMinAggregateOutputType = { + id: string | null + name: string | null + image: string | null + position: $Enums.Position | null + countryId: string | null + price: number | null + totalPoints: number | null + isActive: boolean | null + isGoldenCardEligible: boolean | null + cardTier: $Enums.CardTier | null + createdAt: Date | null + updatedAt: Date | null + } + + export type PlayerMaxAggregateOutputType = { + id: string | null + name: string | null + image: string | null + position: $Enums.Position | null + countryId: string | null + price: number | null + totalPoints: number | null + isActive: boolean | null + isGoldenCardEligible: boolean | null + cardTier: $Enums.CardTier | null + createdAt: Date | null + updatedAt: Date | null + } + + export type PlayerCountAggregateOutputType = { + id: number + name: number + image: number + position: number + countryId: number + price: number + totalPoints: number + isActive: number + isGoldenCardEligible: number + cardTier: number + createdAt: number + updatedAt: number + _all: number + } + + + export type PlayerAvgAggregateInputType = { + price?: true + totalPoints?: true + } + + export type PlayerSumAggregateInputType = { + price?: true + totalPoints?: true + } + + export type PlayerMinAggregateInputType = { + id?: true + name?: true + image?: true + position?: true + countryId?: true + price?: true + totalPoints?: true + isActive?: true + isGoldenCardEligible?: true + cardTier?: true + createdAt?: true + updatedAt?: true + } + + export type PlayerMaxAggregateInputType = { + id?: true + name?: true + image?: true + position?: true + countryId?: true + price?: true + totalPoints?: true + isActive?: true + isGoldenCardEligible?: true + cardTier?: true + createdAt?: true + updatedAt?: true + } + + export type PlayerCountAggregateInputType = { + id?: true + name?: true + image?: true + position?: true + countryId?: true + price?: true + totalPoints?: true + isActive?: true + isGoldenCardEligible?: true + cardTier?: true + createdAt?: true + updatedAt?: true + _all?: true + } + + export type PlayerAggregateArgs = { + /** + * Filter which Player to aggregate. + */ + where?: PlayerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Players to fetch. + */ + orderBy?: PlayerOrderByWithRelationInput | PlayerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: PlayerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Players from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Players. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Players + **/ + _count?: true | PlayerCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: PlayerAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: PlayerSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PlayerMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PlayerMaxAggregateInputType + } + + export type GetPlayerAggregateType = { + [P in keyof T & keyof AggregatePlayer]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type PlayerGroupByArgs = { + where?: PlayerWhereInput + orderBy?: PlayerOrderByWithAggregationInput | PlayerOrderByWithAggregationInput[] + by: PlayerScalarFieldEnum[] | PlayerScalarFieldEnum + having?: PlayerScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PlayerCountAggregateInputType | true + _avg?: PlayerAvgAggregateInputType + _sum?: PlayerSumAggregateInputType + _min?: PlayerMinAggregateInputType + _max?: PlayerMaxAggregateInputType + } + + export type PlayerGroupByOutputType = { + id: string + name: string + image: string | null + position: $Enums.Position + countryId: string + price: number + totalPoints: number + isActive: boolean + isGoldenCardEligible: boolean + cardTier: $Enums.CardTier + createdAt: Date + updatedAt: Date + _count: PlayerCountAggregateOutputType | null + _avg: PlayerAvgAggregateOutputType | null + _sum: PlayerSumAggregateOutputType | null + _min: PlayerMinAggregateOutputType | null + _max: PlayerMaxAggregateOutputType | null + } + + type GetPlayerGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof PlayerGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type PlayerSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + image?: boolean + position?: boolean + countryId?: boolean + price?: boolean + totalPoints?: boolean + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: boolean + createdAt?: boolean + updatedAt?: boolean + country?: boolean | CountryDefaultArgs + matchStats?: boolean | Player$matchStatsArgs + teamPlayers?: boolean | Player$teamPlayersArgs + events?: boolean | Player$eventsArgs + goldenCards?: boolean | Player$goldenCardsArgs + _count?: boolean | PlayerCountOutputTypeDefaultArgs + }, ExtArgs["result"]["player"]> + + export type PlayerSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + image?: boolean + position?: boolean + countryId?: boolean + price?: boolean + totalPoints?: boolean + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: boolean + createdAt?: boolean + updatedAt?: boolean + country?: boolean | CountryDefaultArgs + }, ExtArgs["result"]["player"]> + + export type PlayerSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + image?: boolean + position?: boolean + countryId?: boolean + price?: boolean + totalPoints?: boolean + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: boolean + createdAt?: boolean + updatedAt?: boolean + country?: boolean | CountryDefaultArgs + }, ExtArgs["result"]["player"]> + + export type PlayerSelectScalar = { + id?: boolean + name?: boolean + image?: boolean + position?: boolean + countryId?: boolean + price?: boolean + totalPoints?: boolean + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: boolean + createdAt?: boolean + updatedAt?: boolean + } + + export type PlayerOmit = $Extensions.GetOmit<"id" | "name" | "image" | "position" | "countryId" | "price" | "totalPoints" | "isActive" | "isGoldenCardEligible" | "cardTier" | "createdAt" | "updatedAt", ExtArgs["result"]["player"]> + export type PlayerInclude = { + country?: boolean | CountryDefaultArgs + matchStats?: boolean | Player$matchStatsArgs + teamPlayers?: boolean | Player$teamPlayersArgs + events?: boolean | Player$eventsArgs + goldenCards?: boolean | Player$goldenCardsArgs + _count?: boolean | PlayerCountOutputTypeDefaultArgs + } + export type PlayerIncludeCreateManyAndReturn = { + country?: boolean | CountryDefaultArgs + } + export type PlayerIncludeUpdateManyAndReturn = { + country?: boolean | CountryDefaultArgs + } + + export type $PlayerPayload = { + name: "Player" + objects: { + country: Prisma.$CountryPayload + matchStats: Prisma.$PlayerMatchStatPayload[] + teamPlayers: Prisma.$TeamPlayerPayload[] + events: Prisma.$MatchEventPayload[] + goldenCards: Prisma.$GoldenCardPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + image: string | null + position: $Enums.Position + countryId: string + price: number + totalPoints: number + isActive: boolean + isGoldenCardEligible: boolean + cardTier: $Enums.CardTier + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["player"]> + composites: {} + } + + type PlayerGetPayload = $Result.GetResult + + type PlayerCountArgs = + Omit & { + select?: PlayerCountAggregateInputType | true + } + + export interface PlayerDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Player'], meta: { name: 'Player' } } + /** + * Find zero or one Player that matches the filter. + * @param {PlayerFindUniqueArgs} args - Arguments to find a Player + * @example + * // Get one Player + * const player = await prisma.player.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__PlayerClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Player that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {PlayerFindUniqueOrThrowArgs} args - Arguments to find a Player + * @example + * // Get one Player + * const player = await prisma.player.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__PlayerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Player that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerFindFirstArgs} args - Arguments to find a Player + * @example + * // Get one Player + * const player = await prisma.player.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__PlayerClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Player that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerFindFirstOrThrowArgs} args - Arguments to find a Player + * @example + * // Get one Player + * const player = await prisma.player.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__PlayerClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Players that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Players + * const players = await prisma.player.findMany() + * + * // Get first 10 Players + * const players = await prisma.player.findMany({ take: 10 }) + * + * // Only select the `id` + * const playerWithIdOnly = await prisma.player.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Player. + * @param {PlayerCreateArgs} args - Arguments to create a Player. + * @example + * // Create one Player + * const Player = await prisma.player.create({ + * data: { + * // ... data to create a Player + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__PlayerClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Players. + * @param {PlayerCreateManyArgs} args - Arguments to create many Players. + * @example + * // Create many Players + * const player = await prisma.player.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Players and returns the data saved in the database. + * @param {PlayerCreateManyAndReturnArgs} args - Arguments to create many Players. + * @example + * // Create many Players + * const player = await prisma.player.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Players and only return the `id` + * const playerWithIdOnly = await prisma.player.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Player. + * @param {PlayerDeleteArgs} args - Arguments to delete one Player. + * @example + * // Delete one Player + * const Player = await prisma.player.delete({ + * where: { + * // ... filter to delete one Player + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__PlayerClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Player. + * @param {PlayerUpdateArgs} args - Arguments to update one Player. + * @example + * // Update one Player + * const player = await prisma.player.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__PlayerClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Players. + * @param {PlayerDeleteManyArgs} args - Arguments to filter Players to delete. + * @example + * // Delete a few Players + * const { count } = await prisma.player.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Players. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Players + * const player = await prisma.player.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Players and returns the data updated in the database. + * @param {PlayerUpdateManyAndReturnArgs} args - Arguments to update many Players. + * @example + * // Update many Players + * const player = await prisma.player.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Players and only return the `id` + * const playerWithIdOnly = await prisma.player.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Player. + * @param {PlayerUpsertArgs} args - Arguments to update or create a Player. + * @example + * // Update or create a Player + * const player = await prisma.player.upsert({ + * create: { + * // ... data to create a Player + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Player we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__PlayerClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Players. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerCountArgs} args - Arguments to filter Players to count. + * @example + * // Count the number of Players + * const count = await prisma.player.count({ + * where: { + * // ... the filter for the Players we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Player. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Player. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends PlayerGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: PlayerGroupByArgs['orderBy'] } + : { orderBy?: PlayerGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPlayerGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Player model + */ + readonly fields: PlayerFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Player. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__PlayerClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + country = {}>(args?: Subset>): Prisma__CountryClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + matchStats = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + teamPlayers = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + events = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + goldenCards = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Player model + */ + interface PlayerFieldRefs { + readonly id: FieldRef<"Player", 'String'> + readonly name: FieldRef<"Player", 'String'> + readonly image: FieldRef<"Player", 'String'> + readonly position: FieldRef<"Player", 'Position'> + readonly countryId: FieldRef<"Player", 'String'> + readonly price: FieldRef<"Player", 'Float'> + readonly totalPoints: FieldRef<"Player", 'Int'> + readonly isActive: FieldRef<"Player", 'Boolean'> + readonly isGoldenCardEligible: FieldRef<"Player", 'Boolean'> + readonly cardTier: FieldRef<"Player", 'CardTier'> + readonly createdAt: FieldRef<"Player", 'DateTime'> + readonly updatedAt: FieldRef<"Player", 'DateTime'> + } + + + // Custom InputTypes + /** + * Player findUnique + */ + export type PlayerFindUniqueArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * Filter, which Player to fetch. + */ + where: PlayerWhereUniqueInput + } + + /** + * Player findUniqueOrThrow + */ + export type PlayerFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * Filter, which Player to fetch. + */ + where: PlayerWhereUniqueInput + } + + /** + * Player findFirst + */ + export type PlayerFindFirstArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * Filter, which Player to fetch. + */ + where?: PlayerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Players to fetch. + */ + orderBy?: PlayerOrderByWithRelationInput | PlayerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Players. + */ + cursor?: PlayerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Players from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Players. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Players. + */ + distinct?: PlayerScalarFieldEnum | PlayerScalarFieldEnum[] + } + + /** + * Player findFirstOrThrow + */ + export type PlayerFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * Filter, which Player to fetch. + */ + where?: PlayerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Players to fetch. + */ + orderBy?: PlayerOrderByWithRelationInput | PlayerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Players. + */ + cursor?: PlayerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Players from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Players. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Players. + */ + distinct?: PlayerScalarFieldEnum | PlayerScalarFieldEnum[] + } + + /** + * Player findMany + */ + export type PlayerFindManyArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * Filter, which Players to fetch. + */ + where?: PlayerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Players to fetch. + */ + orderBy?: PlayerOrderByWithRelationInput | PlayerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Players. + */ + cursor?: PlayerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Players from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Players. + */ + skip?: number + distinct?: PlayerScalarFieldEnum | PlayerScalarFieldEnum[] + } + + /** + * Player create + */ + export type PlayerCreateArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * The data needed to create a Player. + */ + data: XOR + } + + /** + * Player createMany + */ + export type PlayerCreateManyArgs = { + /** + * The data used to create many Players. + */ + data: PlayerCreateManyInput | PlayerCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Player createManyAndReturn + */ + export type PlayerCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * The data used to create many Players. + */ + data: PlayerCreateManyInput | PlayerCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerIncludeCreateManyAndReturn | null + } + + /** + * Player update + */ + export type PlayerUpdateArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * The data needed to update a Player. + */ + data: XOR + /** + * Choose, which Player to update. + */ + where: PlayerWhereUniqueInput + } + + /** + * Player updateMany + */ + export type PlayerUpdateManyArgs = { + /** + * The data used to update Players. + */ + data: XOR + /** + * Filter which Players to update + */ + where?: PlayerWhereInput + /** + * Limit how many Players to update. + */ + limit?: number + } + + /** + * Player updateManyAndReturn + */ + export type PlayerUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * The data used to update Players. + */ + data: XOR + /** + * Filter which Players to update + */ + where?: PlayerWhereInput + /** + * Limit how many Players to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerIncludeUpdateManyAndReturn | null + } + + /** + * Player upsert + */ + export type PlayerUpsertArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * The filter to search for the Player to update in case it exists. + */ + where: PlayerWhereUniqueInput + /** + * In case the Player found by the `where` argument doesn't exist, create a new Player with this data. + */ + create: XOR + /** + * In case the Player was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Player delete + */ + export type PlayerDeleteArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + /** + * Filter which Player to delete. + */ + where: PlayerWhereUniqueInput + } + + /** + * Player deleteMany + */ + export type PlayerDeleteManyArgs = { + /** + * Filter which Players to delete + */ + where?: PlayerWhereInput + /** + * Limit how many Players to delete. + */ + limit?: number + } + + /** + * Player.matchStats + */ + export type Player$matchStatsArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + where?: PlayerMatchStatWhereInput + orderBy?: PlayerMatchStatOrderByWithRelationInput | PlayerMatchStatOrderByWithRelationInput[] + cursor?: PlayerMatchStatWhereUniqueInput + take?: number + skip?: number + distinct?: PlayerMatchStatScalarFieldEnum | PlayerMatchStatScalarFieldEnum[] + } + + /** + * Player.teamPlayers + */ + export type Player$teamPlayersArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + where?: TeamPlayerWhereInput + orderBy?: TeamPlayerOrderByWithRelationInput | TeamPlayerOrderByWithRelationInput[] + cursor?: TeamPlayerWhereUniqueInput + take?: number + skip?: number + distinct?: TeamPlayerScalarFieldEnum | TeamPlayerScalarFieldEnum[] + } + + /** + * Player.events + */ + export type Player$eventsArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + where?: MatchEventWhereInput + orderBy?: MatchEventOrderByWithRelationInput | MatchEventOrderByWithRelationInput[] + cursor?: MatchEventWhereUniqueInput + take?: number + skip?: number + distinct?: MatchEventScalarFieldEnum | MatchEventScalarFieldEnum[] + } + + /** + * Player.goldenCards + */ + export type Player$goldenCardsArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + where?: GoldenCardWhereInput + orderBy?: GoldenCardOrderByWithRelationInput | GoldenCardOrderByWithRelationInput[] + cursor?: GoldenCardWhereUniqueInput + take?: number + skip?: number + distinct?: GoldenCardScalarFieldEnum | GoldenCardScalarFieldEnum[] + } + + /** + * Player without action + */ + export type PlayerDefaultArgs = { + /** + * Select specific fields to fetch from the Player + */ + select?: PlayerSelect | null + /** + * Omit specific fields from the Player + */ + omit?: PlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerInclude | null + } + + + /** + * Model Match + */ + + export type AggregateMatch = { + _count: MatchCountAggregateOutputType | null + _avg: MatchAvgAggregateOutputType | null + _sum: MatchSumAggregateOutputType | null + _min: MatchMinAggregateOutputType | null + _max: MatchMaxAggregateOutputType | null + } + + export type MatchAvgAggregateOutputType = { + homeScore: number | null + awayScore: number | null + attendance: number | null + } + + export type MatchSumAggregateOutputType = { + homeScore: number | null + awayScore: number | null + attendance: number | null + } + + export type MatchMinAggregateOutputType = { + id: string | null + homeTeamId: string | null + awayTeamId: string | null + homeScore: number | null + awayScore: number | null + stage: $Enums.MatchStage | null + status: $Enums.MatchStatus | null + matchDate: Date | null + matchDatePersian: string | null + stadium: string | null + city: string | null + referee: string | null + assistant1: string | null + assistant2: string | null + fourthOfficial: string | null + attendance: number | null + weather: string | null + description: string | null + roundId: string | null + createdAt: Date | null + } + + export type MatchMaxAggregateOutputType = { + id: string | null + homeTeamId: string | null + awayTeamId: string | null + homeScore: number | null + awayScore: number | null + stage: $Enums.MatchStage | null + status: $Enums.MatchStatus | null + matchDate: Date | null + matchDatePersian: string | null + stadium: string | null + city: string | null + referee: string | null + assistant1: string | null + assistant2: string | null + fourthOfficial: string | null + attendance: number | null + weather: string | null + description: string | null + roundId: string | null + createdAt: Date | null + } + + export type MatchCountAggregateOutputType = { + id: number + homeTeamId: number + awayTeamId: number + homeScore: number + awayScore: number + stage: number + status: number + matchDate: number + matchDatePersian: number + stadium: number + city: number + referee: number + assistant1: number + assistant2: number + fourthOfficial: number + attendance: number + weather: number + description: number + roundId: number + createdAt: number + _all: number + } + + + export type MatchAvgAggregateInputType = { + homeScore?: true + awayScore?: true + attendance?: true + } + + export type MatchSumAggregateInputType = { + homeScore?: true + awayScore?: true + attendance?: true + } + + export type MatchMinAggregateInputType = { + id?: true + homeTeamId?: true + awayTeamId?: true + homeScore?: true + awayScore?: true + stage?: true + status?: true + matchDate?: true + matchDatePersian?: true + stadium?: true + city?: true + referee?: true + assistant1?: true + assistant2?: true + fourthOfficial?: true + attendance?: true + weather?: true + description?: true + roundId?: true + createdAt?: true + } + + export type MatchMaxAggregateInputType = { + id?: true + homeTeamId?: true + awayTeamId?: true + homeScore?: true + awayScore?: true + stage?: true + status?: true + matchDate?: true + matchDatePersian?: true + stadium?: true + city?: true + referee?: true + assistant1?: true + assistant2?: true + fourthOfficial?: true + attendance?: true + weather?: true + description?: true + roundId?: true + createdAt?: true + } + + export type MatchCountAggregateInputType = { + id?: true + homeTeamId?: true + awayTeamId?: true + homeScore?: true + awayScore?: true + stage?: true + status?: true + matchDate?: true + matchDatePersian?: true + stadium?: true + city?: true + referee?: true + assistant1?: true + assistant2?: true + fourthOfficial?: true + attendance?: true + weather?: true + description?: true + roundId?: true + createdAt?: true + _all?: true + } + + export type MatchAggregateArgs = { + /** + * Filter which Match to aggregate. + */ + where?: MatchWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Matches to fetch. + */ + orderBy?: MatchOrderByWithRelationInput | MatchOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: MatchWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Matches from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Matches. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Matches + **/ + _count?: true | MatchCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MatchAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MatchSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MatchMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MatchMaxAggregateInputType + } + + export type GetMatchAggregateType = { + [P in keyof T & keyof AggregateMatch]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type MatchGroupByArgs = { + where?: MatchWhereInput + orderBy?: MatchOrderByWithAggregationInput | MatchOrderByWithAggregationInput[] + by: MatchScalarFieldEnum[] | MatchScalarFieldEnum + having?: MatchScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MatchCountAggregateInputType | true + _avg?: MatchAvgAggregateInputType + _sum?: MatchSumAggregateInputType + _min?: MatchMinAggregateInputType + _max?: MatchMaxAggregateInputType + } + + export type MatchGroupByOutputType = { + id: string + homeTeamId: string + awayTeamId: string + homeScore: number | null + awayScore: number | null + stage: $Enums.MatchStage + status: $Enums.MatchStatus + matchDate: Date + matchDatePersian: string | null + stadium: string | null + city: string | null + referee: string | null + assistant1: string | null + assistant2: string | null + fourthOfficial: string | null + attendance: number | null + weather: string | null + description: string | null + roundId: string | null + createdAt: Date + _count: MatchCountAggregateOutputType | null + _avg: MatchAvgAggregateOutputType | null + _sum: MatchSumAggregateOutputType | null + _min: MatchMinAggregateOutputType | null + _max: MatchMaxAggregateOutputType | null + } + + type GetMatchGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MatchGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type MatchSelect = $Extensions.GetSelect<{ + id?: boolean + homeTeamId?: boolean + awayTeamId?: boolean + homeScore?: boolean + awayScore?: boolean + stage?: boolean + status?: boolean + matchDate?: boolean + matchDatePersian?: boolean + stadium?: boolean + city?: boolean + referee?: boolean + assistant1?: boolean + assistant2?: boolean + fourthOfficial?: boolean + attendance?: boolean + weather?: boolean + description?: boolean + roundId?: boolean + createdAt?: boolean + homeTeam?: boolean | CountryDefaultArgs + awayTeam?: boolean | CountryDefaultArgs + round?: boolean | Match$roundArgs + playerStats?: boolean | Match$playerStatsArgs + events?: boolean | Match$eventsArgs + lineups?: boolean | Match$lineupsArgs + _count?: boolean | MatchCountOutputTypeDefaultArgs + }, ExtArgs["result"]["match"]> + + export type MatchSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + homeTeamId?: boolean + awayTeamId?: boolean + homeScore?: boolean + awayScore?: boolean + stage?: boolean + status?: boolean + matchDate?: boolean + matchDatePersian?: boolean + stadium?: boolean + city?: boolean + referee?: boolean + assistant1?: boolean + assistant2?: boolean + fourthOfficial?: boolean + attendance?: boolean + weather?: boolean + description?: boolean + roundId?: boolean + createdAt?: boolean + homeTeam?: boolean | CountryDefaultArgs + awayTeam?: boolean | CountryDefaultArgs + round?: boolean | Match$roundArgs + }, ExtArgs["result"]["match"]> + + export type MatchSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + homeTeamId?: boolean + awayTeamId?: boolean + homeScore?: boolean + awayScore?: boolean + stage?: boolean + status?: boolean + matchDate?: boolean + matchDatePersian?: boolean + stadium?: boolean + city?: boolean + referee?: boolean + assistant1?: boolean + assistant2?: boolean + fourthOfficial?: boolean + attendance?: boolean + weather?: boolean + description?: boolean + roundId?: boolean + createdAt?: boolean + homeTeam?: boolean | CountryDefaultArgs + awayTeam?: boolean | CountryDefaultArgs + round?: boolean | Match$roundArgs + }, ExtArgs["result"]["match"]> + + export type MatchSelectScalar = { + id?: boolean + homeTeamId?: boolean + awayTeamId?: boolean + homeScore?: boolean + awayScore?: boolean + stage?: boolean + status?: boolean + matchDate?: boolean + matchDatePersian?: boolean + stadium?: boolean + city?: boolean + referee?: boolean + assistant1?: boolean + assistant2?: boolean + fourthOfficial?: boolean + attendance?: boolean + weather?: boolean + description?: boolean + roundId?: boolean + createdAt?: boolean + } + + export type MatchOmit = $Extensions.GetOmit<"id" | "homeTeamId" | "awayTeamId" | "homeScore" | "awayScore" | "stage" | "status" | "matchDate" | "matchDatePersian" | "stadium" | "city" | "referee" | "assistant1" | "assistant2" | "fourthOfficial" | "attendance" | "weather" | "description" | "roundId" | "createdAt", ExtArgs["result"]["match"]> + export type MatchInclude = { + homeTeam?: boolean | CountryDefaultArgs + awayTeam?: boolean | CountryDefaultArgs + round?: boolean | Match$roundArgs + playerStats?: boolean | Match$playerStatsArgs + events?: boolean | Match$eventsArgs + lineups?: boolean | Match$lineupsArgs + _count?: boolean | MatchCountOutputTypeDefaultArgs + } + export type MatchIncludeCreateManyAndReturn = { + homeTeam?: boolean | CountryDefaultArgs + awayTeam?: boolean | CountryDefaultArgs + round?: boolean | Match$roundArgs + } + export type MatchIncludeUpdateManyAndReturn = { + homeTeam?: boolean | CountryDefaultArgs + awayTeam?: boolean | CountryDefaultArgs + round?: boolean | Match$roundArgs + } + + export type $MatchPayload = { + name: "Match" + objects: { + homeTeam: Prisma.$CountryPayload + awayTeam: Prisma.$CountryPayload + round: Prisma.$RoundPayload | null + playerStats: Prisma.$PlayerMatchStatPayload[] + events: Prisma.$MatchEventPayload[] + lineups: Prisma.$MatchLineupPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + homeTeamId: string + awayTeamId: string + homeScore: number | null + awayScore: number | null + stage: $Enums.MatchStage + status: $Enums.MatchStatus + matchDate: Date + matchDatePersian: string | null + stadium: string | null + city: string | null + referee: string | null + assistant1: string | null + assistant2: string | null + fourthOfficial: string | null + attendance: number | null + weather: string | null + description: string | null + roundId: string | null + createdAt: Date + }, ExtArgs["result"]["match"]> + composites: {} + } + + type MatchGetPayload = $Result.GetResult + + type MatchCountArgs = + Omit & { + select?: MatchCountAggregateInputType | true + } + + export interface MatchDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Match'], meta: { name: 'Match' } } + /** + * Find zero or one Match that matches the filter. + * @param {MatchFindUniqueArgs} args - Arguments to find a Match + * @example + * // Get one Match + * const match = await prisma.match.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__MatchClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Match that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {MatchFindUniqueOrThrowArgs} args - Arguments to find a Match + * @example + * // Get one Match + * const match = await prisma.match.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__MatchClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Match that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchFindFirstArgs} args - Arguments to find a Match + * @example + * // Get one Match + * const match = await prisma.match.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__MatchClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Match that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchFindFirstOrThrowArgs} args - Arguments to find a Match + * @example + * // Get one Match + * const match = await prisma.match.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__MatchClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Matches that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Matches + * const matches = await prisma.match.findMany() + * + * // Get first 10 Matches + * const matches = await prisma.match.findMany({ take: 10 }) + * + * // Only select the `id` + * const matchWithIdOnly = await prisma.match.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Match. + * @param {MatchCreateArgs} args - Arguments to create a Match. + * @example + * // Create one Match + * const Match = await prisma.match.create({ + * data: { + * // ... data to create a Match + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__MatchClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Matches. + * @param {MatchCreateManyArgs} args - Arguments to create many Matches. + * @example + * // Create many Matches + * const match = await prisma.match.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Matches and returns the data saved in the database. + * @param {MatchCreateManyAndReturnArgs} args - Arguments to create many Matches. + * @example + * // Create many Matches + * const match = await prisma.match.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Matches and only return the `id` + * const matchWithIdOnly = await prisma.match.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Match. + * @param {MatchDeleteArgs} args - Arguments to delete one Match. + * @example + * // Delete one Match + * const Match = await prisma.match.delete({ + * where: { + * // ... filter to delete one Match + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__MatchClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Match. + * @param {MatchUpdateArgs} args - Arguments to update one Match. + * @example + * // Update one Match + * const match = await prisma.match.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__MatchClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Matches. + * @param {MatchDeleteManyArgs} args - Arguments to filter Matches to delete. + * @example + * // Delete a few Matches + * const { count } = await prisma.match.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Matches. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Matches + * const match = await prisma.match.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Matches and returns the data updated in the database. + * @param {MatchUpdateManyAndReturnArgs} args - Arguments to update many Matches. + * @example + * // Update many Matches + * const match = await prisma.match.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Matches and only return the `id` + * const matchWithIdOnly = await prisma.match.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Match. + * @param {MatchUpsertArgs} args - Arguments to update or create a Match. + * @example + * // Update or create a Match + * const match = await prisma.match.upsert({ + * create: { + * // ... data to create a Match + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Match we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__MatchClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Matches. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchCountArgs} args - Arguments to filter Matches to count. + * @example + * // Count the number of Matches + * const count = await prisma.match.count({ + * where: { + * // ... the filter for the Matches we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Match. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Match. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends MatchGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: MatchGroupByArgs['orderBy'] } + : { orderBy?: MatchGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMatchGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Match model + */ + readonly fields: MatchFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Match. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__MatchClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + homeTeam = {}>(args?: Subset>): Prisma__CountryClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + awayTeam = {}>(args?: Subset>): Prisma__CountryClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + round = {}>(args?: Subset>): Prisma__RoundClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + playerStats = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + events = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + lineups = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Match model + */ + interface MatchFieldRefs { + readonly id: FieldRef<"Match", 'String'> + readonly homeTeamId: FieldRef<"Match", 'String'> + readonly awayTeamId: FieldRef<"Match", 'String'> + readonly homeScore: FieldRef<"Match", 'Int'> + readonly awayScore: FieldRef<"Match", 'Int'> + readonly stage: FieldRef<"Match", 'MatchStage'> + readonly status: FieldRef<"Match", 'MatchStatus'> + readonly matchDate: FieldRef<"Match", 'DateTime'> + readonly matchDatePersian: FieldRef<"Match", 'String'> + readonly stadium: FieldRef<"Match", 'String'> + readonly city: FieldRef<"Match", 'String'> + readonly referee: FieldRef<"Match", 'String'> + readonly assistant1: FieldRef<"Match", 'String'> + readonly assistant2: FieldRef<"Match", 'String'> + readonly fourthOfficial: FieldRef<"Match", 'String'> + readonly attendance: FieldRef<"Match", 'Int'> + readonly weather: FieldRef<"Match", 'String'> + readonly description: FieldRef<"Match", 'String'> + readonly roundId: FieldRef<"Match", 'String'> + readonly createdAt: FieldRef<"Match", 'DateTime'> + } + + + // Custom InputTypes + /** + * Match findUnique + */ + export type MatchFindUniqueArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * Filter, which Match to fetch. + */ + where: MatchWhereUniqueInput + } + + /** + * Match findUniqueOrThrow + */ + export type MatchFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * Filter, which Match to fetch. + */ + where: MatchWhereUniqueInput + } + + /** + * Match findFirst + */ + export type MatchFindFirstArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * Filter, which Match to fetch. + */ + where?: MatchWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Matches to fetch. + */ + orderBy?: MatchOrderByWithRelationInput | MatchOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Matches. + */ + cursor?: MatchWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Matches from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Matches. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Matches. + */ + distinct?: MatchScalarFieldEnum | MatchScalarFieldEnum[] + } + + /** + * Match findFirstOrThrow + */ + export type MatchFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * Filter, which Match to fetch. + */ + where?: MatchWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Matches to fetch. + */ + orderBy?: MatchOrderByWithRelationInput | MatchOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Matches. + */ + cursor?: MatchWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Matches from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Matches. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Matches. + */ + distinct?: MatchScalarFieldEnum | MatchScalarFieldEnum[] + } + + /** + * Match findMany + */ + export type MatchFindManyArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * Filter, which Matches to fetch. + */ + where?: MatchWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Matches to fetch. + */ + orderBy?: MatchOrderByWithRelationInput | MatchOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Matches. + */ + cursor?: MatchWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Matches from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Matches. + */ + skip?: number + distinct?: MatchScalarFieldEnum | MatchScalarFieldEnum[] + } + + /** + * Match create + */ + export type MatchCreateArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * The data needed to create a Match. + */ + data: XOR + } + + /** + * Match createMany + */ + export type MatchCreateManyArgs = { + /** + * The data used to create many Matches. + */ + data: MatchCreateManyInput | MatchCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Match createManyAndReturn + */ + export type MatchCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * The data used to create many Matches. + */ + data: MatchCreateManyInput | MatchCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchIncludeCreateManyAndReturn | null + } + + /** + * Match update + */ + export type MatchUpdateArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * The data needed to update a Match. + */ + data: XOR + /** + * Choose, which Match to update. + */ + where: MatchWhereUniqueInput + } + + /** + * Match updateMany + */ + export type MatchUpdateManyArgs = { + /** + * The data used to update Matches. + */ + data: XOR + /** + * Filter which Matches to update + */ + where?: MatchWhereInput + /** + * Limit how many Matches to update. + */ + limit?: number + } + + /** + * Match updateManyAndReturn + */ + export type MatchUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * The data used to update Matches. + */ + data: XOR + /** + * Filter which Matches to update + */ + where?: MatchWhereInput + /** + * Limit how many Matches to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchIncludeUpdateManyAndReturn | null + } + + /** + * Match upsert + */ + export type MatchUpsertArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * The filter to search for the Match to update in case it exists. + */ + where: MatchWhereUniqueInput + /** + * In case the Match found by the `where` argument doesn't exist, create a new Match with this data. + */ + create: XOR + /** + * In case the Match was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Match delete + */ + export type MatchDeleteArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + /** + * Filter which Match to delete. + */ + where: MatchWhereUniqueInput + } + + /** + * Match deleteMany + */ + export type MatchDeleteManyArgs = { + /** + * Filter which Matches to delete + */ + where?: MatchWhereInput + /** + * Limit how many Matches to delete. + */ + limit?: number + } + + /** + * Match.round + */ + export type Match$roundArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + where?: RoundWhereInput + } + + /** + * Match.playerStats + */ + export type Match$playerStatsArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + where?: PlayerMatchStatWhereInput + orderBy?: PlayerMatchStatOrderByWithRelationInput | PlayerMatchStatOrderByWithRelationInput[] + cursor?: PlayerMatchStatWhereUniqueInput + take?: number + skip?: number + distinct?: PlayerMatchStatScalarFieldEnum | PlayerMatchStatScalarFieldEnum[] + } + + /** + * Match.events + */ + export type Match$eventsArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + where?: MatchEventWhereInput + orderBy?: MatchEventOrderByWithRelationInput | MatchEventOrderByWithRelationInput[] + cursor?: MatchEventWhereUniqueInput + take?: number + skip?: number + distinct?: MatchEventScalarFieldEnum | MatchEventScalarFieldEnum[] + } + + /** + * Match.lineups + */ + export type Match$lineupsArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + where?: MatchLineupWhereInput + orderBy?: MatchLineupOrderByWithRelationInput | MatchLineupOrderByWithRelationInput[] + cursor?: MatchLineupWhereUniqueInput + take?: number + skip?: number + distinct?: MatchLineupScalarFieldEnum | MatchLineupScalarFieldEnum[] + } + + /** + * Match without action + */ + export type MatchDefaultArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + } + + + /** + * Model Round + */ + + export type AggregateRound = { + _count: RoundCountAggregateOutputType | null + _avg: RoundAvgAggregateOutputType | null + _sum: RoundSumAggregateOutputType | null + _min: RoundMinAggregateOutputType | null + _max: RoundMaxAggregateOutputType | null + } + + export type RoundAvgAggregateOutputType = { + number: number | null + } + + export type RoundSumAggregateOutputType = { + number: number | null + } + + export type RoundMinAggregateOutputType = { + id: string | null + number: number | null + name: string | null + isActive: boolean | null + deadline: Date | null + createdAt: Date | null + } + + export type RoundMaxAggregateOutputType = { + id: string | null + number: number | null + name: string | null + isActive: boolean | null + deadline: Date | null + createdAt: Date | null + } + + export type RoundCountAggregateOutputType = { + id: number + number: number + name: number + isActive: number + deadline: number + createdAt: number + _all: number + } + + + export type RoundAvgAggregateInputType = { + number?: true + } + + export type RoundSumAggregateInputType = { + number?: true + } + + export type RoundMinAggregateInputType = { + id?: true + number?: true + name?: true + isActive?: true + deadline?: true + createdAt?: true + } + + export type RoundMaxAggregateInputType = { + id?: true + number?: true + name?: true + isActive?: true + deadline?: true + createdAt?: true + } + + export type RoundCountAggregateInputType = { + id?: true + number?: true + name?: true + isActive?: true + deadline?: true + createdAt?: true + _all?: true + } + + export type RoundAggregateArgs = { + /** + * Filter which Round to aggregate. + */ + where?: RoundWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Rounds to fetch. + */ + orderBy?: RoundOrderByWithRelationInput | RoundOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: RoundWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Rounds from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Rounds. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Rounds + **/ + _count?: true | RoundCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: RoundAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: RoundSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: RoundMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: RoundMaxAggregateInputType + } + + export type GetRoundAggregateType = { + [P in keyof T & keyof AggregateRound]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type RoundGroupByArgs = { + where?: RoundWhereInput + orderBy?: RoundOrderByWithAggregationInput | RoundOrderByWithAggregationInput[] + by: RoundScalarFieldEnum[] | RoundScalarFieldEnum + having?: RoundScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: RoundCountAggregateInputType | true + _avg?: RoundAvgAggregateInputType + _sum?: RoundSumAggregateInputType + _min?: RoundMinAggregateInputType + _max?: RoundMaxAggregateInputType + } + + export type RoundGroupByOutputType = { + id: string + number: number + name: string + isActive: boolean + deadline: Date + createdAt: Date + _count: RoundCountAggregateOutputType | null + _avg: RoundAvgAggregateOutputType | null + _sum: RoundSumAggregateOutputType | null + _min: RoundMinAggregateOutputType | null + _max: RoundMaxAggregateOutputType | null + } + + type GetRoundGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof RoundGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type RoundSelect = $Extensions.GetSelect<{ + id?: boolean + number?: boolean + name?: boolean + isActive?: boolean + deadline?: boolean + createdAt?: boolean + matches?: boolean | Round$matchesArgs + _count?: boolean | RoundCountOutputTypeDefaultArgs + }, ExtArgs["result"]["round"]> + + export type RoundSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + number?: boolean + name?: boolean + isActive?: boolean + deadline?: boolean + createdAt?: boolean + }, ExtArgs["result"]["round"]> + + export type RoundSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + number?: boolean + name?: boolean + isActive?: boolean + deadline?: boolean + createdAt?: boolean + }, ExtArgs["result"]["round"]> + + export type RoundSelectScalar = { + id?: boolean + number?: boolean + name?: boolean + isActive?: boolean + deadline?: boolean + createdAt?: boolean + } + + export type RoundOmit = $Extensions.GetOmit<"id" | "number" | "name" | "isActive" | "deadline" | "createdAt", ExtArgs["result"]["round"]> + export type RoundInclude = { + matches?: boolean | Round$matchesArgs + _count?: boolean | RoundCountOutputTypeDefaultArgs + } + export type RoundIncludeCreateManyAndReturn = {} + export type RoundIncludeUpdateManyAndReturn = {} + + export type $RoundPayload = { + name: "Round" + objects: { + matches: Prisma.$MatchPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + number: number + name: string + isActive: boolean + deadline: Date + createdAt: Date + }, ExtArgs["result"]["round"]> + composites: {} + } + + type RoundGetPayload = $Result.GetResult + + type RoundCountArgs = + Omit & { + select?: RoundCountAggregateInputType | true + } + + export interface RoundDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Round'], meta: { name: 'Round' } } + /** + * Find zero or one Round that matches the filter. + * @param {RoundFindUniqueArgs} args - Arguments to find a Round + * @example + * // Get one Round + * const round = await prisma.round.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__RoundClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Round that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {RoundFindUniqueOrThrowArgs} args - Arguments to find a Round + * @example + * // Get one Round + * const round = await prisma.round.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__RoundClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Round that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {RoundFindFirstArgs} args - Arguments to find a Round + * @example + * // Get one Round + * const round = await prisma.round.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__RoundClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Round that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {RoundFindFirstOrThrowArgs} args - Arguments to find a Round + * @example + * // Get one Round + * const round = await prisma.round.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__RoundClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Rounds that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {RoundFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Rounds + * const rounds = await prisma.round.findMany() + * + * // Get first 10 Rounds + * const rounds = await prisma.round.findMany({ take: 10 }) + * + * // Only select the `id` + * const roundWithIdOnly = await prisma.round.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Round. + * @param {RoundCreateArgs} args - Arguments to create a Round. + * @example + * // Create one Round + * const Round = await prisma.round.create({ + * data: { + * // ... data to create a Round + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__RoundClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Rounds. + * @param {RoundCreateManyArgs} args - Arguments to create many Rounds. + * @example + * // Create many Rounds + * const round = await prisma.round.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Rounds and returns the data saved in the database. + * @param {RoundCreateManyAndReturnArgs} args - Arguments to create many Rounds. + * @example + * // Create many Rounds + * const round = await prisma.round.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Rounds and only return the `id` + * const roundWithIdOnly = await prisma.round.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Round. + * @param {RoundDeleteArgs} args - Arguments to delete one Round. + * @example + * // Delete one Round + * const Round = await prisma.round.delete({ + * where: { + * // ... filter to delete one Round + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__RoundClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Round. + * @param {RoundUpdateArgs} args - Arguments to update one Round. + * @example + * // Update one Round + * const round = await prisma.round.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__RoundClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Rounds. + * @param {RoundDeleteManyArgs} args - Arguments to filter Rounds to delete. + * @example + * // Delete a few Rounds + * const { count } = await prisma.round.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Rounds. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {RoundUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Rounds + * const round = await prisma.round.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Rounds and returns the data updated in the database. + * @param {RoundUpdateManyAndReturnArgs} args - Arguments to update many Rounds. + * @example + * // Update many Rounds + * const round = await prisma.round.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Rounds and only return the `id` + * const roundWithIdOnly = await prisma.round.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Round. + * @param {RoundUpsertArgs} args - Arguments to update or create a Round. + * @example + * // Update or create a Round + * const round = await prisma.round.upsert({ + * create: { + * // ... data to create a Round + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Round we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__RoundClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Rounds. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {RoundCountArgs} args - Arguments to filter Rounds to count. + * @example + * // Count the number of Rounds + * const count = await prisma.round.count({ + * where: { + * // ... the filter for the Rounds we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Round. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {RoundAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Round. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {RoundGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends RoundGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: RoundGroupByArgs['orderBy'] } + : { orderBy?: RoundGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetRoundGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Round model + */ + readonly fields: RoundFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Round. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__RoundClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + matches = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Round model + */ + interface RoundFieldRefs { + readonly id: FieldRef<"Round", 'String'> + readonly number: FieldRef<"Round", 'Int'> + readonly name: FieldRef<"Round", 'String'> + readonly isActive: FieldRef<"Round", 'Boolean'> + readonly deadline: FieldRef<"Round", 'DateTime'> + readonly createdAt: FieldRef<"Round", 'DateTime'> + } + + + // Custom InputTypes + /** + * Round findUnique + */ + export type RoundFindUniqueArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * Filter, which Round to fetch. + */ + where: RoundWhereUniqueInput + } + + /** + * Round findUniqueOrThrow + */ + export type RoundFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * Filter, which Round to fetch. + */ + where: RoundWhereUniqueInput + } + + /** + * Round findFirst + */ + export type RoundFindFirstArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * Filter, which Round to fetch. + */ + where?: RoundWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Rounds to fetch. + */ + orderBy?: RoundOrderByWithRelationInput | RoundOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Rounds. + */ + cursor?: RoundWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Rounds from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Rounds. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Rounds. + */ + distinct?: RoundScalarFieldEnum | RoundScalarFieldEnum[] + } + + /** + * Round findFirstOrThrow + */ + export type RoundFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * Filter, which Round to fetch. + */ + where?: RoundWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Rounds to fetch. + */ + orderBy?: RoundOrderByWithRelationInput | RoundOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Rounds. + */ + cursor?: RoundWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Rounds from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Rounds. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Rounds. + */ + distinct?: RoundScalarFieldEnum | RoundScalarFieldEnum[] + } + + /** + * Round findMany + */ + export type RoundFindManyArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * Filter, which Rounds to fetch. + */ + where?: RoundWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Rounds to fetch. + */ + orderBy?: RoundOrderByWithRelationInput | RoundOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Rounds. + */ + cursor?: RoundWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Rounds from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Rounds. + */ + skip?: number + distinct?: RoundScalarFieldEnum | RoundScalarFieldEnum[] + } + + /** + * Round create + */ + export type RoundCreateArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * The data needed to create a Round. + */ + data: XOR + } + + /** + * Round createMany + */ + export type RoundCreateManyArgs = { + /** + * The data used to create many Rounds. + */ + data: RoundCreateManyInput | RoundCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Round createManyAndReturn + */ + export type RoundCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * The data used to create many Rounds. + */ + data: RoundCreateManyInput | RoundCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Round update + */ + export type RoundUpdateArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * The data needed to update a Round. + */ + data: XOR + /** + * Choose, which Round to update. + */ + where: RoundWhereUniqueInput + } + + /** + * Round updateMany + */ + export type RoundUpdateManyArgs = { + /** + * The data used to update Rounds. + */ + data: XOR + /** + * Filter which Rounds to update + */ + where?: RoundWhereInput + /** + * Limit how many Rounds to update. + */ + limit?: number + } + + /** + * Round updateManyAndReturn + */ + export type RoundUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * The data used to update Rounds. + */ + data: XOR + /** + * Filter which Rounds to update + */ + where?: RoundWhereInput + /** + * Limit how many Rounds to update. + */ + limit?: number + } + + /** + * Round upsert + */ + export type RoundUpsertArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * The filter to search for the Round to update in case it exists. + */ + where: RoundWhereUniqueInput + /** + * In case the Round found by the `where` argument doesn't exist, create a new Round with this data. + */ + create: XOR + /** + * In case the Round was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Round delete + */ + export type RoundDeleteArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + /** + * Filter which Round to delete. + */ + where: RoundWhereUniqueInput + } + + /** + * Round deleteMany + */ + export type RoundDeleteManyArgs = { + /** + * Filter which Rounds to delete + */ + where?: RoundWhereInput + /** + * Limit how many Rounds to delete. + */ + limit?: number + } + + /** + * Round.matches + */ + export type Round$matchesArgs = { + /** + * Select specific fields to fetch from the Match + */ + select?: MatchSelect | null + /** + * Omit specific fields from the Match + */ + omit?: MatchOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchInclude | null + where?: MatchWhereInput + orderBy?: MatchOrderByWithRelationInput | MatchOrderByWithRelationInput[] + cursor?: MatchWhereUniqueInput + take?: number + skip?: number + distinct?: MatchScalarFieldEnum | MatchScalarFieldEnum[] + } + + /** + * Round without action + */ + export type RoundDefaultArgs = { + /** + * Select specific fields to fetch from the Round + */ + select?: RoundSelect | null + /** + * Omit specific fields from the Round + */ + omit?: RoundOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: RoundInclude | null + } + + + /** + * Model Gameweek + */ + + export type AggregateGameweek = { + _count: GameweekCountAggregateOutputType | null + _avg: GameweekAvgAggregateOutputType | null + _sum: GameweekSumAggregateOutputType | null + _min: GameweekMinAggregateOutputType | null + _max: GameweekMaxAggregateOutputType | null + } + + export type GameweekAvgAggregateOutputType = { + number: number | null + } + + export type GameweekSumAggregateOutputType = { + number: number | null + } + + export type GameweekMinAggregateOutputType = { + id: string | null + number: number | null + name: string | null + isActive: boolean | null + deadline: Date | null + createdAt: Date | null + } + + export type GameweekMaxAggregateOutputType = { + id: string | null + number: number | null + name: string | null + isActive: boolean | null + deadline: Date | null + createdAt: Date | null + } + + export type GameweekCountAggregateOutputType = { + id: number + number: number + name: number + isActive: number + deadline: number + createdAt: number + _all: number + } + + + export type GameweekAvgAggregateInputType = { + number?: true + } + + export type GameweekSumAggregateInputType = { + number?: true + } + + export type GameweekMinAggregateInputType = { + id?: true + number?: true + name?: true + isActive?: true + deadline?: true + createdAt?: true + } + + export type GameweekMaxAggregateInputType = { + id?: true + number?: true + name?: true + isActive?: true + deadline?: true + createdAt?: true + } + + export type GameweekCountAggregateInputType = { + id?: true + number?: true + name?: true + isActive?: true + deadline?: true + createdAt?: true + _all?: true + } + + export type GameweekAggregateArgs = { + /** + * Filter which Gameweek to aggregate. + */ + where?: GameweekWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Gameweeks to fetch. + */ + orderBy?: GameweekOrderByWithRelationInput | GameweekOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: GameweekWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Gameweeks from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Gameweeks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Gameweeks + **/ + _count?: true | GameweekCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: GameweekAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: GameweekSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: GameweekMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: GameweekMaxAggregateInputType + } + + export type GetGameweekAggregateType = { + [P in keyof T & keyof AggregateGameweek]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type GameweekGroupByArgs = { + where?: GameweekWhereInput + orderBy?: GameweekOrderByWithAggregationInput | GameweekOrderByWithAggregationInput[] + by: GameweekScalarFieldEnum[] | GameweekScalarFieldEnum + having?: GameweekScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: GameweekCountAggregateInputType | true + _avg?: GameweekAvgAggregateInputType + _sum?: GameweekSumAggregateInputType + _min?: GameweekMinAggregateInputType + _max?: GameweekMaxAggregateInputType + } + + export type GameweekGroupByOutputType = { + id: string + number: number + name: string + isActive: boolean + deadline: Date + createdAt: Date + _count: GameweekCountAggregateOutputType | null + _avg: GameweekAvgAggregateOutputType | null + _sum: GameweekSumAggregateOutputType | null + _min: GameweekMinAggregateOutputType | null + _max: GameweekMaxAggregateOutputType | null + } + + type GetGameweekGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof GameweekGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type GameweekSelect = $Extensions.GetSelect<{ + id?: boolean + number?: boolean + name?: boolean + isActive?: boolean + deadline?: boolean + createdAt?: boolean + }, ExtArgs["result"]["gameweek"]> + + export type GameweekSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + number?: boolean + name?: boolean + isActive?: boolean + deadline?: boolean + createdAt?: boolean + }, ExtArgs["result"]["gameweek"]> + + export type GameweekSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + number?: boolean + name?: boolean + isActive?: boolean + deadline?: boolean + createdAt?: boolean + }, ExtArgs["result"]["gameweek"]> + + export type GameweekSelectScalar = { + id?: boolean + number?: boolean + name?: boolean + isActive?: boolean + deadline?: boolean + createdAt?: boolean + } + + export type GameweekOmit = $Extensions.GetOmit<"id" | "number" | "name" | "isActive" | "deadline" | "createdAt", ExtArgs["result"]["gameweek"]> + + export type $GameweekPayload = { + name: "Gameweek" + objects: {} + scalars: $Extensions.GetPayloadResult<{ + id: string + number: number + name: string + isActive: boolean + deadline: Date + createdAt: Date + }, ExtArgs["result"]["gameweek"]> + composites: {} + } + + type GameweekGetPayload = $Result.GetResult + + type GameweekCountArgs = + Omit & { + select?: GameweekCountAggregateInputType | true + } + + export interface GameweekDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Gameweek'], meta: { name: 'Gameweek' } } + /** + * Find zero or one Gameweek that matches the filter. + * @param {GameweekFindUniqueArgs} args - Arguments to find a Gameweek + * @example + * // Get one Gameweek + * const gameweek = await prisma.gameweek.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__GameweekClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Gameweek that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {GameweekFindUniqueOrThrowArgs} args - Arguments to find a Gameweek + * @example + * // Get one Gameweek + * const gameweek = await prisma.gameweek.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__GameweekClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Gameweek that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GameweekFindFirstArgs} args - Arguments to find a Gameweek + * @example + * // Get one Gameweek + * const gameweek = await prisma.gameweek.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__GameweekClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Gameweek that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GameweekFindFirstOrThrowArgs} args - Arguments to find a Gameweek + * @example + * // Get one Gameweek + * const gameweek = await prisma.gameweek.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__GameweekClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Gameweeks that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GameweekFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Gameweeks + * const gameweeks = await prisma.gameweek.findMany() + * + * // Get first 10 Gameweeks + * const gameweeks = await prisma.gameweek.findMany({ take: 10 }) + * + * // Only select the `id` + * const gameweekWithIdOnly = await prisma.gameweek.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Gameweek. + * @param {GameweekCreateArgs} args - Arguments to create a Gameweek. + * @example + * // Create one Gameweek + * const Gameweek = await prisma.gameweek.create({ + * data: { + * // ... data to create a Gameweek + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__GameweekClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Gameweeks. + * @param {GameweekCreateManyArgs} args - Arguments to create many Gameweeks. + * @example + * // Create many Gameweeks + * const gameweek = await prisma.gameweek.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Gameweeks and returns the data saved in the database. + * @param {GameweekCreateManyAndReturnArgs} args - Arguments to create many Gameweeks. + * @example + * // Create many Gameweeks + * const gameweek = await prisma.gameweek.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Gameweeks and only return the `id` + * const gameweekWithIdOnly = await prisma.gameweek.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Gameweek. + * @param {GameweekDeleteArgs} args - Arguments to delete one Gameweek. + * @example + * // Delete one Gameweek + * const Gameweek = await prisma.gameweek.delete({ + * where: { + * // ... filter to delete one Gameweek + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__GameweekClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Gameweek. + * @param {GameweekUpdateArgs} args - Arguments to update one Gameweek. + * @example + * // Update one Gameweek + * const gameweek = await prisma.gameweek.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__GameweekClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Gameweeks. + * @param {GameweekDeleteManyArgs} args - Arguments to filter Gameweeks to delete. + * @example + * // Delete a few Gameweeks + * const { count } = await prisma.gameweek.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Gameweeks. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GameweekUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Gameweeks + * const gameweek = await prisma.gameweek.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Gameweeks and returns the data updated in the database. + * @param {GameweekUpdateManyAndReturnArgs} args - Arguments to update many Gameweeks. + * @example + * // Update many Gameweeks + * const gameweek = await prisma.gameweek.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Gameweeks and only return the `id` + * const gameweekWithIdOnly = await prisma.gameweek.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Gameweek. + * @param {GameweekUpsertArgs} args - Arguments to update or create a Gameweek. + * @example + * // Update or create a Gameweek + * const gameweek = await prisma.gameweek.upsert({ + * create: { + * // ... data to create a Gameweek + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Gameweek we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__GameweekClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Gameweeks. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GameweekCountArgs} args - Arguments to filter Gameweeks to count. + * @example + * // Count the number of Gameweeks + * const count = await prisma.gameweek.count({ + * where: { + * // ... the filter for the Gameweeks we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Gameweek. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GameweekAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Gameweek. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GameweekGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends GameweekGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: GameweekGroupByArgs['orderBy'] } + : { orderBy?: GameweekGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetGameweekGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Gameweek model + */ + readonly fields: GameweekFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Gameweek. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__GameweekClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Gameweek model + */ + interface GameweekFieldRefs { + readonly id: FieldRef<"Gameweek", 'String'> + readonly number: FieldRef<"Gameweek", 'Int'> + readonly name: FieldRef<"Gameweek", 'String'> + readonly isActive: FieldRef<"Gameweek", 'Boolean'> + readonly deadline: FieldRef<"Gameweek", 'DateTime'> + readonly createdAt: FieldRef<"Gameweek", 'DateTime'> + } + + + // Custom InputTypes + /** + * Gameweek findUnique + */ + export type GameweekFindUniqueArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * Filter, which Gameweek to fetch. + */ + where: GameweekWhereUniqueInput + } + + /** + * Gameweek findUniqueOrThrow + */ + export type GameweekFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * Filter, which Gameweek to fetch. + */ + where: GameweekWhereUniqueInput + } + + /** + * Gameweek findFirst + */ + export type GameweekFindFirstArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * Filter, which Gameweek to fetch. + */ + where?: GameweekWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Gameweeks to fetch. + */ + orderBy?: GameweekOrderByWithRelationInput | GameweekOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Gameweeks. + */ + cursor?: GameweekWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Gameweeks from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Gameweeks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Gameweeks. + */ + distinct?: GameweekScalarFieldEnum | GameweekScalarFieldEnum[] + } + + /** + * Gameweek findFirstOrThrow + */ + export type GameweekFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * Filter, which Gameweek to fetch. + */ + where?: GameweekWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Gameweeks to fetch. + */ + orderBy?: GameweekOrderByWithRelationInput | GameweekOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Gameweeks. + */ + cursor?: GameweekWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Gameweeks from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Gameweeks. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Gameweeks. + */ + distinct?: GameweekScalarFieldEnum | GameweekScalarFieldEnum[] + } + + /** + * Gameweek findMany + */ + export type GameweekFindManyArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * Filter, which Gameweeks to fetch. + */ + where?: GameweekWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Gameweeks to fetch. + */ + orderBy?: GameweekOrderByWithRelationInput | GameweekOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Gameweeks. + */ + cursor?: GameweekWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Gameweeks from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Gameweeks. + */ + skip?: number + distinct?: GameweekScalarFieldEnum | GameweekScalarFieldEnum[] + } + + /** + * Gameweek create + */ + export type GameweekCreateArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * The data needed to create a Gameweek. + */ + data: XOR + } + + /** + * Gameweek createMany + */ + export type GameweekCreateManyArgs = { + /** + * The data used to create many Gameweeks. + */ + data: GameweekCreateManyInput | GameweekCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Gameweek createManyAndReturn + */ + export type GameweekCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * The data used to create many Gameweeks. + */ + data: GameweekCreateManyInput | GameweekCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Gameweek update + */ + export type GameweekUpdateArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * The data needed to update a Gameweek. + */ + data: XOR + /** + * Choose, which Gameweek to update. + */ + where: GameweekWhereUniqueInput + } + + /** + * Gameweek updateMany + */ + export type GameweekUpdateManyArgs = { + /** + * The data used to update Gameweeks. + */ + data: XOR + /** + * Filter which Gameweeks to update + */ + where?: GameweekWhereInput + /** + * Limit how many Gameweeks to update. + */ + limit?: number + } + + /** + * Gameweek updateManyAndReturn + */ + export type GameweekUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * The data used to update Gameweeks. + */ + data: XOR + /** + * Filter which Gameweeks to update + */ + where?: GameweekWhereInput + /** + * Limit how many Gameweeks to update. + */ + limit?: number + } + + /** + * Gameweek upsert + */ + export type GameweekUpsertArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * The filter to search for the Gameweek to update in case it exists. + */ + where: GameweekWhereUniqueInput + /** + * In case the Gameweek found by the `where` argument doesn't exist, create a new Gameweek with this data. + */ + create: XOR + /** + * In case the Gameweek was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Gameweek delete + */ + export type GameweekDeleteArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + /** + * Filter which Gameweek to delete. + */ + where: GameweekWhereUniqueInput + } + + /** + * Gameweek deleteMany + */ + export type GameweekDeleteManyArgs = { + /** + * Filter which Gameweeks to delete + */ + where?: GameweekWhereInput + /** + * Limit how many Gameweeks to delete. + */ + limit?: number + } + + /** + * Gameweek without action + */ + export type GameweekDefaultArgs = { + /** + * Select specific fields to fetch from the Gameweek + */ + select?: GameweekSelect | null + /** + * Omit specific fields from the Gameweek + */ + omit?: GameweekOmit | null + } + + + /** + * Model MatchEvent + */ + + export type AggregateMatchEvent = { + _count: MatchEventCountAggregateOutputType | null + _avg: MatchEventAvgAggregateOutputType | null + _sum: MatchEventSumAggregateOutputType | null + _min: MatchEventMinAggregateOutputType | null + _max: MatchEventMaxAggregateOutputType | null + } + + export type MatchEventAvgAggregateOutputType = { + minute: number | null + } + + export type MatchEventSumAggregateOutputType = { + minute: number | null + } + + export type MatchEventMinAggregateOutputType = { + id: string | null + matchId: string | null + playerId: string | null + type: $Enums.EventType | null + minute: number | null + extraInfo: string | null + createdAt: Date | null + } + + export type MatchEventMaxAggregateOutputType = { + id: string | null + matchId: string | null + playerId: string | null + type: $Enums.EventType | null + minute: number | null + extraInfo: string | null + createdAt: Date | null + } + + export type MatchEventCountAggregateOutputType = { + id: number + matchId: number + playerId: number + type: number + minute: number + extraInfo: number + createdAt: number + _all: number + } + + + export type MatchEventAvgAggregateInputType = { + minute?: true + } + + export type MatchEventSumAggregateInputType = { + minute?: true + } + + export type MatchEventMinAggregateInputType = { + id?: true + matchId?: true + playerId?: true + type?: true + minute?: true + extraInfo?: true + createdAt?: true + } + + export type MatchEventMaxAggregateInputType = { + id?: true + matchId?: true + playerId?: true + type?: true + minute?: true + extraInfo?: true + createdAt?: true + } + + export type MatchEventCountAggregateInputType = { + id?: true + matchId?: true + playerId?: true + type?: true + minute?: true + extraInfo?: true + createdAt?: true + _all?: true + } + + export type MatchEventAggregateArgs = { + /** + * Filter which MatchEvent to aggregate. + */ + where?: MatchEventWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MatchEvents to fetch. + */ + orderBy?: MatchEventOrderByWithRelationInput | MatchEventOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: MatchEventWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MatchEvents from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MatchEvents. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned MatchEvents + **/ + _count?: true | MatchEventCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: MatchEventAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: MatchEventSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MatchEventMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MatchEventMaxAggregateInputType + } + + export type GetMatchEventAggregateType = { + [P in keyof T & keyof AggregateMatchEvent]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type MatchEventGroupByArgs = { + where?: MatchEventWhereInput + orderBy?: MatchEventOrderByWithAggregationInput | MatchEventOrderByWithAggregationInput[] + by: MatchEventScalarFieldEnum[] | MatchEventScalarFieldEnum + having?: MatchEventScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MatchEventCountAggregateInputType | true + _avg?: MatchEventAvgAggregateInputType + _sum?: MatchEventSumAggregateInputType + _min?: MatchEventMinAggregateInputType + _max?: MatchEventMaxAggregateInputType + } + + export type MatchEventGroupByOutputType = { + id: string + matchId: string + playerId: string + type: $Enums.EventType + minute: number | null + extraInfo: string | null + createdAt: Date + _count: MatchEventCountAggregateOutputType | null + _avg: MatchEventAvgAggregateOutputType | null + _sum: MatchEventSumAggregateOutputType | null + _min: MatchEventMinAggregateOutputType | null + _max: MatchEventMaxAggregateOutputType | null + } + + type GetMatchEventGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MatchEventGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type MatchEventSelect = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + playerId?: boolean + type?: boolean + minute?: boolean + extraInfo?: boolean + createdAt?: boolean + match?: boolean | MatchDefaultArgs + player?: boolean | PlayerDefaultArgs + }, ExtArgs["result"]["matchEvent"]> + + export type MatchEventSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + playerId?: boolean + type?: boolean + minute?: boolean + extraInfo?: boolean + createdAt?: boolean + match?: boolean | MatchDefaultArgs + player?: boolean | PlayerDefaultArgs + }, ExtArgs["result"]["matchEvent"]> + + export type MatchEventSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + playerId?: boolean + type?: boolean + minute?: boolean + extraInfo?: boolean + createdAt?: boolean + match?: boolean | MatchDefaultArgs + player?: boolean | PlayerDefaultArgs + }, ExtArgs["result"]["matchEvent"]> + + export type MatchEventSelectScalar = { + id?: boolean + matchId?: boolean + playerId?: boolean + type?: boolean + minute?: boolean + extraInfo?: boolean + createdAt?: boolean + } + + export type MatchEventOmit = $Extensions.GetOmit<"id" | "matchId" | "playerId" | "type" | "minute" | "extraInfo" | "createdAt", ExtArgs["result"]["matchEvent"]> + export type MatchEventInclude = { + match?: boolean | MatchDefaultArgs + player?: boolean | PlayerDefaultArgs + } + export type MatchEventIncludeCreateManyAndReturn = { + match?: boolean | MatchDefaultArgs + player?: boolean | PlayerDefaultArgs + } + export type MatchEventIncludeUpdateManyAndReturn = { + match?: boolean | MatchDefaultArgs + player?: boolean | PlayerDefaultArgs + } + + export type $MatchEventPayload = { + name: "MatchEvent" + objects: { + match: Prisma.$MatchPayload + player: Prisma.$PlayerPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + matchId: string + playerId: string + type: $Enums.EventType + minute: number | null + extraInfo: string | null + createdAt: Date + }, ExtArgs["result"]["matchEvent"]> + composites: {} + } + + type MatchEventGetPayload = $Result.GetResult + + type MatchEventCountArgs = + Omit & { + select?: MatchEventCountAggregateInputType | true + } + + export interface MatchEventDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['MatchEvent'], meta: { name: 'MatchEvent' } } + /** + * Find zero or one MatchEvent that matches the filter. + * @param {MatchEventFindUniqueArgs} args - Arguments to find a MatchEvent + * @example + * // Get one MatchEvent + * const matchEvent = await prisma.matchEvent.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__MatchEventClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MatchEvent that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {MatchEventFindUniqueOrThrowArgs} args - Arguments to find a MatchEvent + * @example + * // Get one MatchEvent + * const matchEvent = await prisma.matchEvent.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__MatchEventClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MatchEvent that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchEventFindFirstArgs} args - Arguments to find a MatchEvent + * @example + * // Get one MatchEvent + * const matchEvent = await prisma.matchEvent.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__MatchEventClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MatchEvent that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchEventFindFirstOrThrowArgs} args - Arguments to find a MatchEvent + * @example + * // Get one MatchEvent + * const matchEvent = await prisma.matchEvent.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__MatchEventClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MatchEvents that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchEventFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MatchEvents + * const matchEvents = await prisma.matchEvent.findMany() + * + * // Get first 10 MatchEvents + * const matchEvents = await prisma.matchEvent.findMany({ take: 10 }) + * + * // Only select the `id` + * const matchEventWithIdOnly = await prisma.matchEvent.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MatchEvent. + * @param {MatchEventCreateArgs} args - Arguments to create a MatchEvent. + * @example + * // Create one MatchEvent + * const MatchEvent = await prisma.matchEvent.create({ + * data: { + * // ... data to create a MatchEvent + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__MatchEventClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MatchEvents. + * @param {MatchEventCreateManyArgs} args - Arguments to create many MatchEvents. + * @example + * // Create many MatchEvents + * const matchEvent = await prisma.matchEvent.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MatchEvents and returns the data saved in the database. + * @param {MatchEventCreateManyAndReturnArgs} args - Arguments to create many MatchEvents. + * @example + * // Create many MatchEvents + * const matchEvent = await prisma.matchEvent.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MatchEvents and only return the `id` + * const matchEventWithIdOnly = await prisma.matchEvent.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MatchEvent. + * @param {MatchEventDeleteArgs} args - Arguments to delete one MatchEvent. + * @example + * // Delete one MatchEvent + * const MatchEvent = await prisma.matchEvent.delete({ + * where: { + * // ... filter to delete one MatchEvent + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__MatchEventClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MatchEvent. + * @param {MatchEventUpdateArgs} args - Arguments to update one MatchEvent. + * @example + * // Update one MatchEvent + * const matchEvent = await prisma.matchEvent.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__MatchEventClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MatchEvents. + * @param {MatchEventDeleteManyArgs} args - Arguments to filter MatchEvents to delete. + * @example + * // Delete a few MatchEvents + * const { count } = await prisma.matchEvent.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MatchEvents. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchEventUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MatchEvents + * const matchEvent = await prisma.matchEvent.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MatchEvents and returns the data updated in the database. + * @param {MatchEventUpdateManyAndReturnArgs} args - Arguments to update many MatchEvents. + * @example + * // Update many MatchEvents + * const matchEvent = await prisma.matchEvent.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MatchEvents and only return the `id` + * const matchEventWithIdOnly = await prisma.matchEvent.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MatchEvent. + * @param {MatchEventUpsertArgs} args - Arguments to update or create a MatchEvent. + * @example + * // Update or create a MatchEvent + * const matchEvent = await prisma.matchEvent.upsert({ + * create: { + * // ... data to create a MatchEvent + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MatchEvent we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__MatchEventClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MatchEvents. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchEventCountArgs} args - Arguments to filter MatchEvents to count. + * @example + * // Count the number of MatchEvents + * const count = await prisma.matchEvent.count({ + * where: { + * // ... the filter for the MatchEvents we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MatchEvent. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchEventAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by MatchEvent. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchEventGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends MatchEventGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: MatchEventGroupByArgs['orderBy'] } + : { orderBy?: MatchEventGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMatchEventGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the MatchEvent model + */ + readonly fields: MatchEventFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for MatchEvent. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__MatchEventClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + match = {}>(args?: Subset>): Prisma__MatchClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + player = {}>(args?: Subset>): Prisma__PlayerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the MatchEvent model + */ + interface MatchEventFieldRefs { + readonly id: FieldRef<"MatchEvent", 'String'> + readonly matchId: FieldRef<"MatchEvent", 'String'> + readonly playerId: FieldRef<"MatchEvent", 'String'> + readonly type: FieldRef<"MatchEvent", 'EventType'> + readonly minute: FieldRef<"MatchEvent", 'Int'> + readonly extraInfo: FieldRef<"MatchEvent", 'String'> + readonly createdAt: FieldRef<"MatchEvent", 'DateTime'> + } + + + // Custom InputTypes + /** + * MatchEvent findUnique + */ + export type MatchEventFindUniqueArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * Filter, which MatchEvent to fetch. + */ + where: MatchEventWhereUniqueInput + } + + /** + * MatchEvent findUniqueOrThrow + */ + export type MatchEventFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * Filter, which MatchEvent to fetch. + */ + where: MatchEventWhereUniqueInput + } + + /** + * MatchEvent findFirst + */ + export type MatchEventFindFirstArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * Filter, which MatchEvent to fetch. + */ + where?: MatchEventWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MatchEvents to fetch. + */ + orderBy?: MatchEventOrderByWithRelationInput | MatchEventOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for MatchEvents. + */ + cursor?: MatchEventWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MatchEvents from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MatchEvents. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of MatchEvents. + */ + distinct?: MatchEventScalarFieldEnum | MatchEventScalarFieldEnum[] + } + + /** + * MatchEvent findFirstOrThrow + */ + export type MatchEventFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * Filter, which MatchEvent to fetch. + */ + where?: MatchEventWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MatchEvents to fetch. + */ + orderBy?: MatchEventOrderByWithRelationInput | MatchEventOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for MatchEvents. + */ + cursor?: MatchEventWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MatchEvents from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MatchEvents. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of MatchEvents. + */ + distinct?: MatchEventScalarFieldEnum | MatchEventScalarFieldEnum[] + } + + /** + * MatchEvent findMany + */ + export type MatchEventFindManyArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * Filter, which MatchEvents to fetch. + */ + where?: MatchEventWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MatchEvents to fetch. + */ + orderBy?: MatchEventOrderByWithRelationInput | MatchEventOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing MatchEvents. + */ + cursor?: MatchEventWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MatchEvents from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MatchEvents. + */ + skip?: number + distinct?: MatchEventScalarFieldEnum | MatchEventScalarFieldEnum[] + } + + /** + * MatchEvent create + */ + export type MatchEventCreateArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * The data needed to create a MatchEvent. + */ + data: XOR + } + + /** + * MatchEvent createMany + */ + export type MatchEventCreateManyArgs = { + /** + * The data used to create many MatchEvents. + */ + data: MatchEventCreateManyInput | MatchEventCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * MatchEvent createManyAndReturn + */ + export type MatchEventCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * The data used to create many MatchEvents. + */ + data: MatchEventCreateManyInput | MatchEventCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventIncludeCreateManyAndReturn | null + } + + /** + * MatchEvent update + */ + export type MatchEventUpdateArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * The data needed to update a MatchEvent. + */ + data: XOR + /** + * Choose, which MatchEvent to update. + */ + where: MatchEventWhereUniqueInput + } + + /** + * MatchEvent updateMany + */ + export type MatchEventUpdateManyArgs = { + /** + * The data used to update MatchEvents. + */ + data: XOR + /** + * Filter which MatchEvents to update + */ + where?: MatchEventWhereInput + /** + * Limit how many MatchEvents to update. + */ + limit?: number + } + + /** + * MatchEvent updateManyAndReturn + */ + export type MatchEventUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * The data used to update MatchEvents. + */ + data: XOR + /** + * Filter which MatchEvents to update + */ + where?: MatchEventWhereInput + /** + * Limit how many MatchEvents to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventIncludeUpdateManyAndReturn | null + } + + /** + * MatchEvent upsert + */ + export type MatchEventUpsertArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * The filter to search for the MatchEvent to update in case it exists. + */ + where: MatchEventWhereUniqueInput + /** + * In case the MatchEvent found by the `where` argument doesn't exist, create a new MatchEvent with this data. + */ + create: XOR + /** + * In case the MatchEvent was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * MatchEvent delete + */ + export type MatchEventDeleteArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + /** + * Filter which MatchEvent to delete. + */ + where: MatchEventWhereUniqueInput + } + + /** + * MatchEvent deleteMany + */ + export type MatchEventDeleteManyArgs = { + /** + * Filter which MatchEvents to delete + */ + where?: MatchEventWhereInput + /** + * Limit how many MatchEvents to delete. + */ + limit?: number + } + + /** + * MatchEvent without action + */ + export type MatchEventDefaultArgs = { + /** + * Select specific fields to fetch from the MatchEvent + */ + select?: MatchEventSelect | null + /** + * Omit specific fields from the MatchEvent + */ + omit?: MatchEventOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchEventInclude | null + } + + + /** + * Model MatchLineup + */ + + export type AggregateMatchLineup = { + _count: MatchLineupCountAggregateOutputType | null + _min: MatchLineupMinAggregateOutputType | null + _max: MatchLineupMaxAggregateOutputType | null + } + + export type MatchLineupMinAggregateOutputType = { + id: string | null + matchId: string | null + countryId: string | null + formation: string | null + } + + export type MatchLineupMaxAggregateOutputType = { + id: string | null + matchId: string | null + countryId: string | null + formation: string | null + } + + export type MatchLineupCountAggregateOutputType = { + id: number + matchId: number + countryId: number + formation: number + playerIds: number + _all: number + } + + + export type MatchLineupMinAggregateInputType = { + id?: true + matchId?: true + countryId?: true + formation?: true + } + + export type MatchLineupMaxAggregateInputType = { + id?: true + matchId?: true + countryId?: true + formation?: true + } + + export type MatchLineupCountAggregateInputType = { + id?: true + matchId?: true + countryId?: true + formation?: true + playerIds?: true + _all?: true + } + + export type MatchLineupAggregateArgs = { + /** + * Filter which MatchLineup to aggregate. + */ + where?: MatchLineupWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MatchLineups to fetch. + */ + orderBy?: MatchLineupOrderByWithRelationInput | MatchLineupOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: MatchLineupWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MatchLineups from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MatchLineups. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned MatchLineups + **/ + _count?: true | MatchLineupCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: MatchLineupMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: MatchLineupMaxAggregateInputType + } + + export type GetMatchLineupAggregateType = { + [P in keyof T & keyof AggregateMatchLineup]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type MatchLineupGroupByArgs = { + where?: MatchLineupWhereInput + orderBy?: MatchLineupOrderByWithAggregationInput | MatchLineupOrderByWithAggregationInput[] + by: MatchLineupScalarFieldEnum[] | MatchLineupScalarFieldEnum + having?: MatchLineupScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: MatchLineupCountAggregateInputType | true + _min?: MatchLineupMinAggregateInputType + _max?: MatchLineupMaxAggregateInputType + } + + export type MatchLineupGroupByOutputType = { + id: string + matchId: string + countryId: string + formation: string + playerIds: string[] + _count: MatchLineupCountAggregateOutputType | null + _min: MatchLineupMinAggregateOutputType | null + _max: MatchLineupMaxAggregateOutputType | null + } + + type GetMatchLineupGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof MatchLineupGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type MatchLineupSelect = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + countryId?: boolean + formation?: boolean + playerIds?: boolean + match?: boolean | MatchDefaultArgs + }, ExtArgs["result"]["matchLineup"]> + + export type MatchLineupSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + countryId?: boolean + formation?: boolean + playerIds?: boolean + match?: boolean | MatchDefaultArgs + }, ExtArgs["result"]["matchLineup"]> + + export type MatchLineupSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + matchId?: boolean + countryId?: boolean + formation?: boolean + playerIds?: boolean + match?: boolean | MatchDefaultArgs + }, ExtArgs["result"]["matchLineup"]> + + export type MatchLineupSelectScalar = { + id?: boolean + matchId?: boolean + countryId?: boolean + formation?: boolean + playerIds?: boolean + } + + export type MatchLineupOmit = $Extensions.GetOmit<"id" | "matchId" | "countryId" | "formation" | "playerIds", ExtArgs["result"]["matchLineup"]> + export type MatchLineupInclude = { + match?: boolean | MatchDefaultArgs + } + export type MatchLineupIncludeCreateManyAndReturn = { + match?: boolean | MatchDefaultArgs + } + export type MatchLineupIncludeUpdateManyAndReturn = { + match?: boolean | MatchDefaultArgs + } + + export type $MatchLineupPayload = { + name: "MatchLineup" + objects: { + match: Prisma.$MatchPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + matchId: string + countryId: string + formation: string + playerIds: string[] + }, ExtArgs["result"]["matchLineup"]> + composites: {} + } + + type MatchLineupGetPayload = $Result.GetResult + + type MatchLineupCountArgs = + Omit & { + select?: MatchLineupCountAggregateInputType | true + } + + export interface MatchLineupDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['MatchLineup'], meta: { name: 'MatchLineup' } } + /** + * Find zero or one MatchLineup that matches the filter. + * @param {MatchLineupFindUniqueArgs} args - Arguments to find a MatchLineup + * @example + * // Get one MatchLineup + * const matchLineup = await prisma.matchLineup.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__MatchLineupClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one MatchLineup that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {MatchLineupFindUniqueOrThrowArgs} args - Arguments to find a MatchLineup + * @example + * // Get one MatchLineup + * const matchLineup = await prisma.matchLineup.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__MatchLineupClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MatchLineup that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchLineupFindFirstArgs} args - Arguments to find a MatchLineup + * @example + * // Get one MatchLineup + * const matchLineup = await prisma.matchLineup.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__MatchLineupClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first MatchLineup that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchLineupFindFirstOrThrowArgs} args - Arguments to find a MatchLineup + * @example + * // Get one MatchLineup + * const matchLineup = await prisma.matchLineup.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__MatchLineupClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more MatchLineups that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchLineupFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all MatchLineups + * const matchLineups = await prisma.matchLineup.findMany() + * + * // Get first 10 MatchLineups + * const matchLineups = await prisma.matchLineup.findMany({ take: 10 }) + * + * // Only select the `id` + * const matchLineupWithIdOnly = await prisma.matchLineup.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a MatchLineup. + * @param {MatchLineupCreateArgs} args - Arguments to create a MatchLineup. + * @example + * // Create one MatchLineup + * const MatchLineup = await prisma.matchLineup.create({ + * data: { + * // ... data to create a MatchLineup + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__MatchLineupClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many MatchLineups. + * @param {MatchLineupCreateManyArgs} args - Arguments to create many MatchLineups. + * @example + * // Create many MatchLineups + * const matchLineup = await prisma.matchLineup.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many MatchLineups and returns the data saved in the database. + * @param {MatchLineupCreateManyAndReturnArgs} args - Arguments to create many MatchLineups. + * @example + * // Create many MatchLineups + * const matchLineup = await prisma.matchLineup.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many MatchLineups and only return the `id` + * const matchLineupWithIdOnly = await prisma.matchLineup.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a MatchLineup. + * @param {MatchLineupDeleteArgs} args - Arguments to delete one MatchLineup. + * @example + * // Delete one MatchLineup + * const MatchLineup = await prisma.matchLineup.delete({ + * where: { + * // ... filter to delete one MatchLineup + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__MatchLineupClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one MatchLineup. + * @param {MatchLineupUpdateArgs} args - Arguments to update one MatchLineup. + * @example + * // Update one MatchLineup + * const matchLineup = await prisma.matchLineup.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__MatchLineupClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more MatchLineups. + * @param {MatchLineupDeleteManyArgs} args - Arguments to filter MatchLineups to delete. + * @example + * // Delete a few MatchLineups + * const { count } = await prisma.matchLineup.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MatchLineups. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchLineupUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many MatchLineups + * const matchLineup = await prisma.matchLineup.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more MatchLineups and returns the data updated in the database. + * @param {MatchLineupUpdateManyAndReturnArgs} args - Arguments to update many MatchLineups. + * @example + * // Update many MatchLineups + * const matchLineup = await prisma.matchLineup.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more MatchLineups and only return the `id` + * const matchLineupWithIdOnly = await prisma.matchLineup.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one MatchLineup. + * @param {MatchLineupUpsertArgs} args - Arguments to update or create a MatchLineup. + * @example + * // Update or create a MatchLineup + * const matchLineup = await prisma.matchLineup.upsert({ + * create: { + * // ... data to create a MatchLineup + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the MatchLineup we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__MatchLineupClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of MatchLineups. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchLineupCountArgs} args - Arguments to filter MatchLineups to count. + * @example + * // Count the number of MatchLineups + * const count = await prisma.matchLineup.count({ + * where: { + * // ... the filter for the MatchLineups we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a MatchLineup. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchLineupAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by MatchLineup. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {MatchLineupGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends MatchLineupGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: MatchLineupGroupByArgs['orderBy'] } + : { orderBy?: MatchLineupGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetMatchLineupGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the MatchLineup model + */ + readonly fields: MatchLineupFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for MatchLineup. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__MatchLineupClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + match = {}>(args?: Subset>): Prisma__MatchClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the MatchLineup model + */ + interface MatchLineupFieldRefs { + readonly id: FieldRef<"MatchLineup", 'String'> + readonly matchId: FieldRef<"MatchLineup", 'String'> + readonly countryId: FieldRef<"MatchLineup", 'String'> + readonly formation: FieldRef<"MatchLineup", 'String'> + readonly playerIds: FieldRef<"MatchLineup", 'String[]'> + } + + + // Custom InputTypes + /** + * MatchLineup findUnique + */ + export type MatchLineupFindUniqueArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * Filter, which MatchLineup to fetch. + */ + where: MatchLineupWhereUniqueInput + } + + /** + * MatchLineup findUniqueOrThrow + */ + export type MatchLineupFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * Filter, which MatchLineup to fetch. + */ + where: MatchLineupWhereUniqueInput + } + + /** + * MatchLineup findFirst + */ + export type MatchLineupFindFirstArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * Filter, which MatchLineup to fetch. + */ + where?: MatchLineupWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MatchLineups to fetch. + */ + orderBy?: MatchLineupOrderByWithRelationInput | MatchLineupOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for MatchLineups. + */ + cursor?: MatchLineupWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MatchLineups from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MatchLineups. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of MatchLineups. + */ + distinct?: MatchLineupScalarFieldEnum | MatchLineupScalarFieldEnum[] + } + + /** + * MatchLineup findFirstOrThrow + */ + export type MatchLineupFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * Filter, which MatchLineup to fetch. + */ + where?: MatchLineupWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MatchLineups to fetch. + */ + orderBy?: MatchLineupOrderByWithRelationInput | MatchLineupOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for MatchLineups. + */ + cursor?: MatchLineupWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MatchLineups from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MatchLineups. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of MatchLineups. + */ + distinct?: MatchLineupScalarFieldEnum | MatchLineupScalarFieldEnum[] + } + + /** + * MatchLineup findMany + */ + export type MatchLineupFindManyArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * Filter, which MatchLineups to fetch. + */ + where?: MatchLineupWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of MatchLineups to fetch. + */ + orderBy?: MatchLineupOrderByWithRelationInput | MatchLineupOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing MatchLineups. + */ + cursor?: MatchLineupWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` MatchLineups from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` MatchLineups. + */ + skip?: number + distinct?: MatchLineupScalarFieldEnum | MatchLineupScalarFieldEnum[] + } + + /** + * MatchLineup create + */ + export type MatchLineupCreateArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * The data needed to create a MatchLineup. + */ + data: XOR + } + + /** + * MatchLineup createMany + */ + export type MatchLineupCreateManyArgs = { + /** + * The data used to create many MatchLineups. + */ + data: MatchLineupCreateManyInput | MatchLineupCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * MatchLineup createManyAndReturn + */ + export type MatchLineupCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelectCreateManyAndReturn | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * The data used to create many MatchLineups. + */ + data: MatchLineupCreateManyInput | MatchLineupCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupIncludeCreateManyAndReturn | null + } + + /** + * MatchLineup update + */ + export type MatchLineupUpdateArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * The data needed to update a MatchLineup. + */ + data: XOR + /** + * Choose, which MatchLineup to update. + */ + where: MatchLineupWhereUniqueInput + } + + /** + * MatchLineup updateMany + */ + export type MatchLineupUpdateManyArgs = { + /** + * The data used to update MatchLineups. + */ + data: XOR + /** + * Filter which MatchLineups to update + */ + where?: MatchLineupWhereInput + /** + * Limit how many MatchLineups to update. + */ + limit?: number + } + + /** + * MatchLineup updateManyAndReturn + */ + export type MatchLineupUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * The data used to update MatchLineups. + */ + data: XOR + /** + * Filter which MatchLineups to update + */ + where?: MatchLineupWhereInput + /** + * Limit how many MatchLineups to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupIncludeUpdateManyAndReturn | null + } + + /** + * MatchLineup upsert + */ + export type MatchLineupUpsertArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * The filter to search for the MatchLineup to update in case it exists. + */ + where: MatchLineupWhereUniqueInput + /** + * In case the MatchLineup found by the `where` argument doesn't exist, create a new MatchLineup with this data. + */ + create: XOR + /** + * In case the MatchLineup was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * MatchLineup delete + */ + export type MatchLineupDeleteArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + /** + * Filter which MatchLineup to delete. + */ + where: MatchLineupWhereUniqueInput + } + + /** + * MatchLineup deleteMany + */ + export type MatchLineupDeleteManyArgs = { + /** + * Filter which MatchLineups to delete + */ + where?: MatchLineupWhereInput + /** + * Limit how many MatchLineups to delete. + */ + limit?: number + } + + /** + * MatchLineup without action + */ + export type MatchLineupDefaultArgs = { + /** + * Select specific fields to fetch from the MatchLineup + */ + select?: MatchLineupSelect | null + /** + * Omit specific fields from the MatchLineup + */ + omit?: MatchLineupOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: MatchLineupInclude | null + } + + + /** + * Model PlayerMatchStat + */ + + export type AggregatePlayerMatchStat = { + _count: PlayerMatchStatCountAggregateOutputType | null + _avg: PlayerMatchStatAvgAggregateOutputType | null + _sum: PlayerMatchStatSumAggregateOutputType | null + _min: PlayerMatchStatMinAggregateOutputType | null + _max: PlayerMatchStatMaxAggregateOutputType | null + } + + export type PlayerMatchStatAvgAggregateOutputType = { + goals: number | null + assists: number | null + yellowCards: number | null + redCards: number | null + minutesPlayed: number | null + penaltySaved: number | null + penaltyMissed: number | null + ownGoals: number | null + extraTimeBonus: number | null + points: number | null + } + + export type PlayerMatchStatSumAggregateOutputType = { + goals: number | null + assists: number | null + yellowCards: number | null + redCards: number | null + minutesPlayed: number | null + penaltySaved: number | null + penaltyMissed: number | null + ownGoals: number | null + extraTimeBonus: number | null + points: number | null + } + + export type PlayerMatchStatMinAggregateOutputType = { + id: string | null + playerId: string | null + matchId: string | null + goals: number | null + assists: number | null + yellowCards: number | null + redCards: number | null + minutesPlayed: number | null + cleanSheet: boolean | null + penaltySaved: number | null + penaltyMissed: number | null + ownGoals: number | null + isMotm: boolean | null + extraTimeBonus: number | null + points: number | null + } + + export type PlayerMatchStatMaxAggregateOutputType = { + id: string | null + playerId: string | null + matchId: string | null + goals: number | null + assists: number | null + yellowCards: number | null + redCards: number | null + minutesPlayed: number | null + cleanSheet: boolean | null + penaltySaved: number | null + penaltyMissed: number | null + ownGoals: number | null + isMotm: boolean | null + extraTimeBonus: number | null + points: number | null + } + + export type PlayerMatchStatCountAggregateOutputType = { + id: number + playerId: number + matchId: number + goals: number + assists: number + yellowCards: number + redCards: number + minutesPlayed: number + cleanSheet: number + penaltySaved: number + penaltyMissed: number + ownGoals: number + isMotm: number + extraTimeBonus: number + points: number + _all: number + } + + + export type PlayerMatchStatAvgAggregateInputType = { + goals?: true + assists?: true + yellowCards?: true + redCards?: true + minutesPlayed?: true + penaltySaved?: true + penaltyMissed?: true + ownGoals?: true + extraTimeBonus?: true + points?: true + } + + export type PlayerMatchStatSumAggregateInputType = { + goals?: true + assists?: true + yellowCards?: true + redCards?: true + minutesPlayed?: true + penaltySaved?: true + penaltyMissed?: true + ownGoals?: true + extraTimeBonus?: true + points?: true + } + + export type PlayerMatchStatMinAggregateInputType = { + id?: true + playerId?: true + matchId?: true + goals?: true + assists?: true + yellowCards?: true + redCards?: true + minutesPlayed?: true + cleanSheet?: true + penaltySaved?: true + penaltyMissed?: true + ownGoals?: true + isMotm?: true + extraTimeBonus?: true + points?: true + } + + export type PlayerMatchStatMaxAggregateInputType = { + id?: true + playerId?: true + matchId?: true + goals?: true + assists?: true + yellowCards?: true + redCards?: true + minutesPlayed?: true + cleanSheet?: true + penaltySaved?: true + penaltyMissed?: true + ownGoals?: true + isMotm?: true + extraTimeBonus?: true + points?: true + } + + export type PlayerMatchStatCountAggregateInputType = { + id?: true + playerId?: true + matchId?: true + goals?: true + assists?: true + yellowCards?: true + redCards?: true + minutesPlayed?: true + cleanSheet?: true + penaltySaved?: true + penaltyMissed?: true + ownGoals?: true + isMotm?: true + extraTimeBonus?: true + points?: true + _all?: true + } + + export type PlayerMatchStatAggregateArgs = { + /** + * Filter which PlayerMatchStat to aggregate. + */ + where?: PlayerMatchStatWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PlayerMatchStats to fetch. + */ + orderBy?: PlayerMatchStatOrderByWithRelationInput | PlayerMatchStatOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: PlayerMatchStatWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` PlayerMatchStats from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` PlayerMatchStats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned PlayerMatchStats + **/ + _count?: true | PlayerMatchStatCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: PlayerMatchStatAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: PlayerMatchStatSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PlayerMatchStatMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PlayerMatchStatMaxAggregateInputType + } + + export type GetPlayerMatchStatAggregateType = { + [P in keyof T & keyof AggregatePlayerMatchStat]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type PlayerMatchStatGroupByArgs = { + where?: PlayerMatchStatWhereInput + orderBy?: PlayerMatchStatOrderByWithAggregationInput | PlayerMatchStatOrderByWithAggregationInput[] + by: PlayerMatchStatScalarFieldEnum[] | PlayerMatchStatScalarFieldEnum + having?: PlayerMatchStatScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PlayerMatchStatCountAggregateInputType | true + _avg?: PlayerMatchStatAvgAggregateInputType + _sum?: PlayerMatchStatSumAggregateInputType + _min?: PlayerMatchStatMinAggregateInputType + _max?: PlayerMatchStatMaxAggregateInputType + } + + export type PlayerMatchStatGroupByOutputType = { + id: string + playerId: string + matchId: string + goals: number + assists: number + yellowCards: number + redCards: number + minutesPlayed: number + cleanSheet: boolean + penaltySaved: number + penaltyMissed: number + ownGoals: number + isMotm: boolean + extraTimeBonus: number + points: number + _count: PlayerMatchStatCountAggregateOutputType | null + _avg: PlayerMatchStatAvgAggregateOutputType | null + _sum: PlayerMatchStatSumAggregateOutputType | null + _min: PlayerMatchStatMinAggregateOutputType | null + _max: PlayerMatchStatMaxAggregateOutputType | null + } + + type GetPlayerMatchStatGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof PlayerMatchStatGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type PlayerMatchStatSelect = $Extensions.GetSelect<{ + id?: boolean + playerId?: boolean + matchId?: boolean + goals?: boolean + assists?: boolean + yellowCards?: boolean + redCards?: boolean + minutesPlayed?: boolean + cleanSheet?: boolean + penaltySaved?: boolean + penaltyMissed?: boolean + ownGoals?: boolean + isMotm?: boolean + extraTimeBonus?: boolean + points?: boolean + player?: boolean | PlayerDefaultArgs + match?: boolean | MatchDefaultArgs + }, ExtArgs["result"]["playerMatchStat"]> + + export type PlayerMatchStatSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + playerId?: boolean + matchId?: boolean + goals?: boolean + assists?: boolean + yellowCards?: boolean + redCards?: boolean + minutesPlayed?: boolean + cleanSheet?: boolean + penaltySaved?: boolean + penaltyMissed?: boolean + ownGoals?: boolean + isMotm?: boolean + extraTimeBonus?: boolean + points?: boolean + player?: boolean | PlayerDefaultArgs + match?: boolean | MatchDefaultArgs + }, ExtArgs["result"]["playerMatchStat"]> + + export type PlayerMatchStatSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + playerId?: boolean + matchId?: boolean + goals?: boolean + assists?: boolean + yellowCards?: boolean + redCards?: boolean + minutesPlayed?: boolean + cleanSheet?: boolean + penaltySaved?: boolean + penaltyMissed?: boolean + ownGoals?: boolean + isMotm?: boolean + extraTimeBonus?: boolean + points?: boolean + player?: boolean | PlayerDefaultArgs + match?: boolean | MatchDefaultArgs + }, ExtArgs["result"]["playerMatchStat"]> + + export type PlayerMatchStatSelectScalar = { + id?: boolean + playerId?: boolean + matchId?: boolean + goals?: boolean + assists?: boolean + yellowCards?: boolean + redCards?: boolean + minutesPlayed?: boolean + cleanSheet?: boolean + penaltySaved?: boolean + penaltyMissed?: boolean + ownGoals?: boolean + isMotm?: boolean + extraTimeBonus?: boolean + points?: boolean + } + + export type PlayerMatchStatOmit = $Extensions.GetOmit<"id" | "playerId" | "matchId" | "goals" | "assists" | "yellowCards" | "redCards" | "minutesPlayed" | "cleanSheet" | "penaltySaved" | "penaltyMissed" | "ownGoals" | "isMotm" | "extraTimeBonus" | "points", ExtArgs["result"]["playerMatchStat"]> + export type PlayerMatchStatInclude = { + player?: boolean | PlayerDefaultArgs + match?: boolean | MatchDefaultArgs + } + export type PlayerMatchStatIncludeCreateManyAndReturn = { + player?: boolean | PlayerDefaultArgs + match?: boolean | MatchDefaultArgs + } + export type PlayerMatchStatIncludeUpdateManyAndReturn = { + player?: boolean | PlayerDefaultArgs + match?: boolean | MatchDefaultArgs + } + + export type $PlayerMatchStatPayload = { + name: "PlayerMatchStat" + objects: { + player: Prisma.$PlayerPayload + match: Prisma.$MatchPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + playerId: string + matchId: string + goals: number + assists: number + yellowCards: number + redCards: number + minutesPlayed: number + cleanSheet: boolean + penaltySaved: number + penaltyMissed: number + ownGoals: number + isMotm: boolean + extraTimeBonus: number + points: number + }, ExtArgs["result"]["playerMatchStat"]> + composites: {} + } + + type PlayerMatchStatGetPayload = $Result.GetResult + + type PlayerMatchStatCountArgs = + Omit & { + select?: PlayerMatchStatCountAggregateInputType | true + } + + export interface PlayerMatchStatDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['PlayerMatchStat'], meta: { name: 'PlayerMatchStat' } } + /** + * Find zero or one PlayerMatchStat that matches the filter. + * @param {PlayerMatchStatFindUniqueArgs} args - Arguments to find a PlayerMatchStat + * @example + * // Get one PlayerMatchStat + * const playerMatchStat = await prisma.playerMatchStat.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__PlayerMatchStatClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one PlayerMatchStat that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {PlayerMatchStatFindUniqueOrThrowArgs} args - Arguments to find a PlayerMatchStat + * @example + * // Get one PlayerMatchStat + * const playerMatchStat = await prisma.playerMatchStat.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__PlayerMatchStatClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first PlayerMatchStat that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerMatchStatFindFirstArgs} args - Arguments to find a PlayerMatchStat + * @example + * // Get one PlayerMatchStat + * const playerMatchStat = await prisma.playerMatchStat.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__PlayerMatchStatClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first PlayerMatchStat that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerMatchStatFindFirstOrThrowArgs} args - Arguments to find a PlayerMatchStat + * @example + * // Get one PlayerMatchStat + * const playerMatchStat = await prisma.playerMatchStat.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__PlayerMatchStatClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more PlayerMatchStats that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerMatchStatFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all PlayerMatchStats + * const playerMatchStats = await prisma.playerMatchStat.findMany() + * + * // Get first 10 PlayerMatchStats + * const playerMatchStats = await prisma.playerMatchStat.findMany({ take: 10 }) + * + * // Only select the `id` + * const playerMatchStatWithIdOnly = await prisma.playerMatchStat.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a PlayerMatchStat. + * @param {PlayerMatchStatCreateArgs} args - Arguments to create a PlayerMatchStat. + * @example + * // Create one PlayerMatchStat + * const PlayerMatchStat = await prisma.playerMatchStat.create({ + * data: { + * // ... data to create a PlayerMatchStat + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__PlayerMatchStatClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many PlayerMatchStats. + * @param {PlayerMatchStatCreateManyArgs} args - Arguments to create many PlayerMatchStats. + * @example + * // Create many PlayerMatchStats + * const playerMatchStat = await prisma.playerMatchStat.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many PlayerMatchStats and returns the data saved in the database. + * @param {PlayerMatchStatCreateManyAndReturnArgs} args - Arguments to create many PlayerMatchStats. + * @example + * // Create many PlayerMatchStats + * const playerMatchStat = await prisma.playerMatchStat.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many PlayerMatchStats and only return the `id` + * const playerMatchStatWithIdOnly = await prisma.playerMatchStat.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a PlayerMatchStat. + * @param {PlayerMatchStatDeleteArgs} args - Arguments to delete one PlayerMatchStat. + * @example + * // Delete one PlayerMatchStat + * const PlayerMatchStat = await prisma.playerMatchStat.delete({ + * where: { + * // ... filter to delete one PlayerMatchStat + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__PlayerMatchStatClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one PlayerMatchStat. + * @param {PlayerMatchStatUpdateArgs} args - Arguments to update one PlayerMatchStat. + * @example + * // Update one PlayerMatchStat + * const playerMatchStat = await prisma.playerMatchStat.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__PlayerMatchStatClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more PlayerMatchStats. + * @param {PlayerMatchStatDeleteManyArgs} args - Arguments to filter PlayerMatchStats to delete. + * @example + * // Delete a few PlayerMatchStats + * const { count } = await prisma.playerMatchStat.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more PlayerMatchStats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerMatchStatUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many PlayerMatchStats + * const playerMatchStat = await prisma.playerMatchStat.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more PlayerMatchStats and returns the data updated in the database. + * @param {PlayerMatchStatUpdateManyAndReturnArgs} args - Arguments to update many PlayerMatchStats. + * @example + * // Update many PlayerMatchStats + * const playerMatchStat = await prisma.playerMatchStat.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more PlayerMatchStats and only return the `id` + * const playerMatchStatWithIdOnly = await prisma.playerMatchStat.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one PlayerMatchStat. + * @param {PlayerMatchStatUpsertArgs} args - Arguments to update or create a PlayerMatchStat. + * @example + * // Update or create a PlayerMatchStat + * const playerMatchStat = await prisma.playerMatchStat.upsert({ + * create: { + * // ... data to create a PlayerMatchStat + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the PlayerMatchStat we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__PlayerMatchStatClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of PlayerMatchStats. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerMatchStatCountArgs} args - Arguments to filter PlayerMatchStats to count. + * @example + * // Count the number of PlayerMatchStats + * const count = await prisma.playerMatchStat.count({ + * where: { + * // ... the filter for the PlayerMatchStats we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a PlayerMatchStat. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerMatchStatAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by PlayerMatchStat. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PlayerMatchStatGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends PlayerMatchStatGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: PlayerMatchStatGroupByArgs['orderBy'] } + : { orderBy?: PlayerMatchStatGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPlayerMatchStatGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the PlayerMatchStat model + */ + readonly fields: PlayerMatchStatFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for PlayerMatchStat. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__PlayerMatchStatClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + player = {}>(args?: Subset>): Prisma__PlayerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + match = {}>(args?: Subset>): Prisma__MatchClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the PlayerMatchStat model + */ + interface PlayerMatchStatFieldRefs { + readonly id: FieldRef<"PlayerMatchStat", 'String'> + readonly playerId: FieldRef<"PlayerMatchStat", 'String'> + readonly matchId: FieldRef<"PlayerMatchStat", 'String'> + readonly goals: FieldRef<"PlayerMatchStat", 'Int'> + readonly assists: FieldRef<"PlayerMatchStat", 'Int'> + readonly yellowCards: FieldRef<"PlayerMatchStat", 'Int'> + readonly redCards: FieldRef<"PlayerMatchStat", 'Int'> + readonly minutesPlayed: FieldRef<"PlayerMatchStat", 'Int'> + readonly cleanSheet: FieldRef<"PlayerMatchStat", 'Boolean'> + readonly penaltySaved: FieldRef<"PlayerMatchStat", 'Int'> + readonly penaltyMissed: FieldRef<"PlayerMatchStat", 'Int'> + readonly ownGoals: FieldRef<"PlayerMatchStat", 'Int'> + readonly isMotm: FieldRef<"PlayerMatchStat", 'Boolean'> + readonly extraTimeBonus: FieldRef<"PlayerMatchStat", 'Int'> + readonly points: FieldRef<"PlayerMatchStat", 'Int'> + } + + + // Custom InputTypes + /** + * PlayerMatchStat findUnique + */ + export type PlayerMatchStatFindUniqueArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * Filter, which PlayerMatchStat to fetch. + */ + where: PlayerMatchStatWhereUniqueInput + } + + /** + * PlayerMatchStat findUniqueOrThrow + */ + export type PlayerMatchStatFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * Filter, which PlayerMatchStat to fetch. + */ + where: PlayerMatchStatWhereUniqueInput + } + + /** + * PlayerMatchStat findFirst + */ + export type PlayerMatchStatFindFirstArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * Filter, which PlayerMatchStat to fetch. + */ + where?: PlayerMatchStatWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PlayerMatchStats to fetch. + */ + orderBy?: PlayerMatchStatOrderByWithRelationInput | PlayerMatchStatOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for PlayerMatchStats. + */ + cursor?: PlayerMatchStatWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` PlayerMatchStats from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` PlayerMatchStats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of PlayerMatchStats. + */ + distinct?: PlayerMatchStatScalarFieldEnum | PlayerMatchStatScalarFieldEnum[] + } + + /** + * PlayerMatchStat findFirstOrThrow + */ + export type PlayerMatchStatFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * Filter, which PlayerMatchStat to fetch. + */ + where?: PlayerMatchStatWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PlayerMatchStats to fetch. + */ + orderBy?: PlayerMatchStatOrderByWithRelationInput | PlayerMatchStatOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for PlayerMatchStats. + */ + cursor?: PlayerMatchStatWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` PlayerMatchStats from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` PlayerMatchStats. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of PlayerMatchStats. + */ + distinct?: PlayerMatchStatScalarFieldEnum | PlayerMatchStatScalarFieldEnum[] + } + + /** + * PlayerMatchStat findMany + */ + export type PlayerMatchStatFindManyArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * Filter, which PlayerMatchStats to fetch. + */ + where?: PlayerMatchStatWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of PlayerMatchStats to fetch. + */ + orderBy?: PlayerMatchStatOrderByWithRelationInput | PlayerMatchStatOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing PlayerMatchStats. + */ + cursor?: PlayerMatchStatWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` PlayerMatchStats from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` PlayerMatchStats. + */ + skip?: number + distinct?: PlayerMatchStatScalarFieldEnum | PlayerMatchStatScalarFieldEnum[] + } + + /** + * PlayerMatchStat create + */ + export type PlayerMatchStatCreateArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * The data needed to create a PlayerMatchStat. + */ + data: XOR + } + + /** + * PlayerMatchStat createMany + */ + export type PlayerMatchStatCreateManyArgs = { + /** + * The data used to create many PlayerMatchStats. + */ + data: PlayerMatchStatCreateManyInput | PlayerMatchStatCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * PlayerMatchStat createManyAndReturn + */ + export type PlayerMatchStatCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelectCreateManyAndReturn | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * The data used to create many PlayerMatchStats. + */ + data: PlayerMatchStatCreateManyInput | PlayerMatchStatCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatIncludeCreateManyAndReturn | null + } + + /** + * PlayerMatchStat update + */ + export type PlayerMatchStatUpdateArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * The data needed to update a PlayerMatchStat. + */ + data: XOR + /** + * Choose, which PlayerMatchStat to update. + */ + where: PlayerMatchStatWhereUniqueInput + } + + /** + * PlayerMatchStat updateMany + */ + export type PlayerMatchStatUpdateManyArgs = { + /** + * The data used to update PlayerMatchStats. + */ + data: XOR + /** + * Filter which PlayerMatchStats to update + */ + where?: PlayerMatchStatWhereInput + /** + * Limit how many PlayerMatchStats to update. + */ + limit?: number + } + + /** + * PlayerMatchStat updateManyAndReturn + */ + export type PlayerMatchStatUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * The data used to update PlayerMatchStats. + */ + data: XOR + /** + * Filter which PlayerMatchStats to update + */ + where?: PlayerMatchStatWhereInput + /** + * Limit how many PlayerMatchStats to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatIncludeUpdateManyAndReturn | null + } + + /** + * PlayerMatchStat upsert + */ + export type PlayerMatchStatUpsertArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * The filter to search for the PlayerMatchStat to update in case it exists. + */ + where: PlayerMatchStatWhereUniqueInput + /** + * In case the PlayerMatchStat found by the `where` argument doesn't exist, create a new PlayerMatchStat with this data. + */ + create: XOR + /** + * In case the PlayerMatchStat was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * PlayerMatchStat delete + */ + export type PlayerMatchStatDeleteArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + /** + * Filter which PlayerMatchStat to delete. + */ + where: PlayerMatchStatWhereUniqueInput + } + + /** + * PlayerMatchStat deleteMany + */ + export type PlayerMatchStatDeleteManyArgs = { + /** + * Filter which PlayerMatchStats to delete + */ + where?: PlayerMatchStatWhereInput + /** + * Limit how many PlayerMatchStats to delete. + */ + limit?: number + } + + /** + * PlayerMatchStat without action + */ + export type PlayerMatchStatDefaultArgs = { + /** + * Select specific fields to fetch from the PlayerMatchStat + */ + select?: PlayerMatchStatSelect | null + /** + * Omit specific fields from the PlayerMatchStat + */ + omit?: PlayerMatchStatOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PlayerMatchStatInclude | null + } + + + /** + * Model ScoringRule + */ + + export type AggregateScoringRule = { + _count: ScoringRuleCountAggregateOutputType | null + _avg: ScoringRuleAvgAggregateOutputType | null + _sum: ScoringRuleSumAggregateOutputType | null + _min: ScoringRuleMinAggregateOutputType | null + _max: ScoringRuleMaxAggregateOutputType | null + } + + export type ScoringRuleAvgAggregateOutputType = { + points: number | null + } + + export type ScoringRuleSumAggregateOutputType = { + points: number | null + } + + export type ScoringRuleMinAggregateOutputType = { + id: string | null + position: $Enums.Position | null + eventType: $Enums.EventType | null + points: number | null + updatedAt: Date | null + updatedBy: string | null + } + + export type ScoringRuleMaxAggregateOutputType = { + id: string | null + position: $Enums.Position | null + eventType: $Enums.EventType | null + points: number | null + updatedAt: Date | null + updatedBy: string | null + } + + export type ScoringRuleCountAggregateOutputType = { + id: number + position: number + eventType: number + points: number + updatedAt: number + updatedBy: number + _all: number + } + + + export type ScoringRuleAvgAggregateInputType = { + points?: true + } + + export type ScoringRuleSumAggregateInputType = { + points?: true + } + + export type ScoringRuleMinAggregateInputType = { + id?: true + position?: true + eventType?: true + points?: true + updatedAt?: true + updatedBy?: true + } + + export type ScoringRuleMaxAggregateInputType = { + id?: true + position?: true + eventType?: true + points?: true + updatedAt?: true + updatedBy?: true + } + + export type ScoringRuleCountAggregateInputType = { + id?: true + position?: true + eventType?: true + points?: true + updatedAt?: true + updatedBy?: true + _all?: true + } + + export type ScoringRuleAggregateArgs = { + /** + * Filter which ScoringRule to aggregate. + */ + where?: ScoringRuleWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ScoringRules to fetch. + */ + orderBy?: ScoringRuleOrderByWithRelationInput | ScoringRuleOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: ScoringRuleWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ScoringRules from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ScoringRules. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned ScoringRules + **/ + _count?: true | ScoringRuleCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: ScoringRuleAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: ScoringRuleSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: ScoringRuleMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: ScoringRuleMaxAggregateInputType + } + + export type GetScoringRuleAggregateType = { + [P in keyof T & keyof AggregateScoringRule]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type ScoringRuleGroupByArgs = { + where?: ScoringRuleWhereInput + orderBy?: ScoringRuleOrderByWithAggregationInput | ScoringRuleOrderByWithAggregationInput[] + by: ScoringRuleScalarFieldEnum[] | ScoringRuleScalarFieldEnum + having?: ScoringRuleScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: ScoringRuleCountAggregateInputType | true + _avg?: ScoringRuleAvgAggregateInputType + _sum?: ScoringRuleSumAggregateInputType + _min?: ScoringRuleMinAggregateInputType + _max?: ScoringRuleMaxAggregateInputType + } + + export type ScoringRuleGroupByOutputType = { + id: string + position: $Enums.Position + eventType: $Enums.EventType + points: number + updatedAt: Date + updatedBy: string | null + _count: ScoringRuleCountAggregateOutputType | null + _avg: ScoringRuleAvgAggregateOutputType | null + _sum: ScoringRuleSumAggregateOutputType | null + _min: ScoringRuleMinAggregateOutputType | null + _max: ScoringRuleMaxAggregateOutputType | null + } + + type GetScoringRuleGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof ScoringRuleGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type ScoringRuleSelect = $Extensions.GetSelect<{ + id?: boolean + position?: boolean + eventType?: boolean + points?: boolean + updatedAt?: boolean + updatedBy?: boolean + }, ExtArgs["result"]["scoringRule"]> + + export type ScoringRuleSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + position?: boolean + eventType?: boolean + points?: boolean + updatedAt?: boolean + updatedBy?: boolean + }, ExtArgs["result"]["scoringRule"]> + + export type ScoringRuleSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + position?: boolean + eventType?: boolean + points?: boolean + updatedAt?: boolean + updatedBy?: boolean + }, ExtArgs["result"]["scoringRule"]> + + export type ScoringRuleSelectScalar = { + id?: boolean + position?: boolean + eventType?: boolean + points?: boolean + updatedAt?: boolean + updatedBy?: boolean + } + + export type ScoringRuleOmit = $Extensions.GetOmit<"id" | "position" | "eventType" | "points" | "updatedAt" | "updatedBy", ExtArgs["result"]["scoringRule"]> + + export type $ScoringRulePayload = { + name: "ScoringRule" + objects: {} + scalars: $Extensions.GetPayloadResult<{ + id: string + position: $Enums.Position + eventType: $Enums.EventType + points: number + updatedAt: Date + updatedBy: string | null + }, ExtArgs["result"]["scoringRule"]> + composites: {} + } + + type ScoringRuleGetPayload = $Result.GetResult + + type ScoringRuleCountArgs = + Omit & { + select?: ScoringRuleCountAggregateInputType | true + } + + export interface ScoringRuleDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['ScoringRule'], meta: { name: 'ScoringRule' } } + /** + * Find zero or one ScoringRule that matches the filter. + * @param {ScoringRuleFindUniqueArgs} args - Arguments to find a ScoringRule + * @example + * // Get one ScoringRule + * const scoringRule = await prisma.scoringRule.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__ScoringRuleClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one ScoringRule that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {ScoringRuleFindUniqueOrThrowArgs} args - Arguments to find a ScoringRule + * @example + * // Get one ScoringRule + * const scoringRule = await prisma.scoringRule.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__ScoringRuleClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first ScoringRule that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ScoringRuleFindFirstArgs} args - Arguments to find a ScoringRule + * @example + * // Get one ScoringRule + * const scoringRule = await prisma.scoringRule.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__ScoringRuleClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first ScoringRule that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ScoringRuleFindFirstOrThrowArgs} args - Arguments to find a ScoringRule + * @example + * // Get one ScoringRule + * const scoringRule = await prisma.scoringRule.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__ScoringRuleClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more ScoringRules that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ScoringRuleFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all ScoringRules + * const scoringRules = await prisma.scoringRule.findMany() + * + * // Get first 10 ScoringRules + * const scoringRules = await prisma.scoringRule.findMany({ take: 10 }) + * + * // Only select the `id` + * const scoringRuleWithIdOnly = await prisma.scoringRule.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a ScoringRule. + * @param {ScoringRuleCreateArgs} args - Arguments to create a ScoringRule. + * @example + * // Create one ScoringRule + * const ScoringRule = await prisma.scoringRule.create({ + * data: { + * // ... data to create a ScoringRule + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__ScoringRuleClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many ScoringRules. + * @param {ScoringRuleCreateManyArgs} args - Arguments to create many ScoringRules. + * @example + * // Create many ScoringRules + * const scoringRule = await prisma.scoringRule.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many ScoringRules and returns the data saved in the database. + * @param {ScoringRuleCreateManyAndReturnArgs} args - Arguments to create many ScoringRules. + * @example + * // Create many ScoringRules + * const scoringRule = await prisma.scoringRule.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many ScoringRules and only return the `id` + * const scoringRuleWithIdOnly = await prisma.scoringRule.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a ScoringRule. + * @param {ScoringRuleDeleteArgs} args - Arguments to delete one ScoringRule. + * @example + * // Delete one ScoringRule + * const ScoringRule = await prisma.scoringRule.delete({ + * where: { + * // ... filter to delete one ScoringRule + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__ScoringRuleClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one ScoringRule. + * @param {ScoringRuleUpdateArgs} args - Arguments to update one ScoringRule. + * @example + * // Update one ScoringRule + * const scoringRule = await prisma.scoringRule.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__ScoringRuleClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more ScoringRules. + * @param {ScoringRuleDeleteManyArgs} args - Arguments to filter ScoringRules to delete. + * @example + * // Delete a few ScoringRules + * const { count } = await prisma.scoringRule.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more ScoringRules. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ScoringRuleUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many ScoringRules + * const scoringRule = await prisma.scoringRule.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more ScoringRules and returns the data updated in the database. + * @param {ScoringRuleUpdateManyAndReturnArgs} args - Arguments to update many ScoringRules. + * @example + * // Update many ScoringRules + * const scoringRule = await prisma.scoringRule.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more ScoringRules and only return the `id` + * const scoringRuleWithIdOnly = await prisma.scoringRule.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one ScoringRule. + * @param {ScoringRuleUpsertArgs} args - Arguments to update or create a ScoringRule. + * @example + * // Update or create a ScoringRule + * const scoringRule = await prisma.scoringRule.upsert({ + * create: { + * // ... data to create a ScoringRule + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the ScoringRule we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__ScoringRuleClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of ScoringRules. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ScoringRuleCountArgs} args - Arguments to filter ScoringRules to count. + * @example + * // Count the number of ScoringRules + * const count = await prisma.scoringRule.count({ + * where: { + * // ... the filter for the ScoringRules we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a ScoringRule. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ScoringRuleAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by ScoringRule. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {ScoringRuleGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends ScoringRuleGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: ScoringRuleGroupByArgs['orderBy'] } + : { orderBy?: ScoringRuleGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetScoringRuleGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the ScoringRule model + */ + readonly fields: ScoringRuleFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for ScoringRule. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__ScoringRuleClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the ScoringRule model + */ + interface ScoringRuleFieldRefs { + readonly id: FieldRef<"ScoringRule", 'String'> + readonly position: FieldRef<"ScoringRule", 'Position'> + readonly eventType: FieldRef<"ScoringRule", 'EventType'> + readonly points: FieldRef<"ScoringRule", 'Int'> + readonly updatedAt: FieldRef<"ScoringRule", 'DateTime'> + readonly updatedBy: FieldRef<"ScoringRule", 'String'> + } + + + // Custom InputTypes + /** + * ScoringRule findUnique + */ + export type ScoringRuleFindUniqueArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * Filter, which ScoringRule to fetch. + */ + where: ScoringRuleWhereUniqueInput + } + + /** + * ScoringRule findUniqueOrThrow + */ + export type ScoringRuleFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * Filter, which ScoringRule to fetch. + */ + where: ScoringRuleWhereUniqueInput + } + + /** + * ScoringRule findFirst + */ + export type ScoringRuleFindFirstArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * Filter, which ScoringRule to fetch. + */ + where?: ScoringRuleWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ScoringRules to fetch. + */ + orderBy?: ScoringRuleOrderByWithRelationInput | ScoringRuleOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ScoringRules. + */ + cursor?: ScoringRuleWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ScoringRules from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ScoringRules. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ScoringRules. + */ + distinct?: ScoringRuleScalarFieldEnum | ScoringRuleScalarFieldEnum[] + } + + /** + * ScoringRule findFirstOrThrow + */ + export type ScoringRuleFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * Filter, which ScoringRule to fetch. + */ + where?: ScoringRuleWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ScoringRules to fetch. + */ + orderBy?: ScoringRuleOrderByWithRelationInput | ScoringRuleOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for ScoringRules. + */ + cursor?: ScoringRuleWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ScoringRules from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ScoringRules. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of ScoringRules. + */ + distinct?: ScoringRuleScalarFieldEnum | ScoringRuleScalarFieldEnum[] + } + + /** + * ScoringRule findMany + */ + export type ScoringRuleFindManyArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * Filter, which ScoringRules to fetch. + */ + where?: ScoringRuleWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of ScoringRules to fetch. + */ + orderBy?: ScoringRuleOrderByWithRelationInput | ScoringRuleOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing ScoringRules. + */ + cursor?: ScoringRuleWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` ScoringRules from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` ScoringRules. + */ + skip?: number + distinct?: ScoringRuleScalarFieldEnum | ScoringRuleScalarFieldEnum[] + } + + /** + * ScoringRule create + */ + export type ScoringRuleCreateArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * The data needed to create a ScoringRule. + */ + data: XOR + } + + /** + * ScoringRule createMany + */ + export type ScoringRuleCreateManyArgs = { + /** + * The data used to create many ScoringRules. + */ + data: ScoringRuleCreateManyInput | ScoringRuleCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * ScoringRule createManyAndReturn + */ + export type ScoringRuleCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelectCreateManyAndReturn | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * The data used to create many ScoringRules. + */ + data: ScoringRuleCreateManyInput | ScoringRuleCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * ScoringRule update + */ + export type ScoringRuleUpdateArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * The data needed to update a ScoringRule. + */ + data: XOR + /** + * Choose, which ScoringRule to update. + */ + where: ScoringRuleWhereUniqueInput + } + + /** + * ScoringRule updateMany + */ + export type ScoringRuleUpdateManyArgs = { + /** + * The data used to update ScoringRules. + */ + data: XOR + /** + * Filter which ScoringRules to update + */ + where?: ScoringRuleWhereInput + /** + * Limit how many ScoringRules to update. + */ + limit?: number + } + + /** + * ScoringRule updateManyAndReturn + */ + export type ScoringRuleUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * The data used to update ScoringRules. + */ + data: XOR + /** + * Filter which ScoringRules to update + */ + where?: ScoringRuleWhereInput + /** + * Limit how many ScoringRules to update. + */ + limit?: number + } + + /** + * ScoringRule upsert + */ + export type ScoringRuleUpsertArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * The filter to search for the ScoringRule to update in case it exists. + */ + where: ScoringRuleWhereUniqueInput + /** + * In case the ScoringRule found by the `where` argument doesn't exist, create a new ScoringRule with this data. + */ + create: XOR + /** + * In case the ScoringRule was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * ScoringRule delete + */ + export type ScoringRuleDeleteArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + /** + * Filter which ScoringRule to delete. + */ + where: ScoringRuleWhereUniqueInput + } + + /** + * ScoringRule deleteMany + */ + export type ScoringRuleDeleteManyArgs = { + /** + * Filter which ScoringRules to delete + */ + where?: ScoringRuleWhereInput + /** + * Limit how many ScoringRules to delete. + */ + limit?: number + } + + /** + * ScoringRule without action + */ + export type ScoringRuleDefaultArgs = { + /** + * Select specific fields to fetch from the ScoringRule + */ + select?: ScoringRuleSelect | null + /** + * Omit specific fields from the ScoringRule + */ + omit?: ScoringRuleOmit | null + } + + + /** + * Model User + */ + + export type AggregateUser = { + _count: UserCountAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null + } + + export type UserMinAggregateOutputType = { + id: string | null + name: string | null + email: string | null + phone: string | null + password: string | null + role: $Enums.Role | null + createdAt: Date | null + } + + export type UserMaxAggregateOutputType = { + id: string | null + name: string | null + email: string | null + phone: string | null + password: string | null + role: $Enums.Role | null + createdAt: Date | null + } + + export type UserCountAggregateOutputType = { + id: number + name: number + email: number + phone: number + password: number + role: number + createdAt: number + _all: number + } + + + export type UserMinAggregateInputType = { + id?: true + name?: true + email?: true + phone?: true + password?: true + role?: true + createdAt?: true + } + + export type UserMaxAggregateInputType = { + id?: true + name?: true + email?: true + phone?: true + password?: true + role?: true + createdAt?: true + } + + export type UserCountAggregateInputType = { + id?: true + name?: true + email?: true + phone?: true + password?: true + role?: true + createdAt?: true + _all?: true + } + + export type UserAggregateArgs = { + /** + * Filter which User to aggregate. + */ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Users + **/ + _count?: true | UserCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: UserMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: UserMaxAggregateInputType + } + + export type GetUserAggregateType = { + [P in keyof T & keyof AggregateUser]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type UserGroupByArgs = { + where?: UserWhereInput + orderBy?: UserOrderByWithAggregationInput | UserOrderByWithAggregationInput[] + by: UserScalarFieldEnum[] | UserScalarFieldEnum + having?: UserScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: UserCountAggregateInputType | true + _min?: UserMinAggregateInputType + _max?: UserMaxAggregateInputType + } + + export type UserGroupByOutputType = { + id: string + name: string | null + email: string + phone: string | null + password: string + role: $Enums.Role + createdAt: Date + _count: UserCountAggregateOutputType | null + _min: UserMinAggregateOutputType | null + _max: UserMaxAggregateOutputType | null + } + + type GetUserGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof UserGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type UserSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + phone?: boolean + password?: boolean + role?: boolean + createdAt?: boolean + team?: boolean | User$teamArgs + sessions?: boolean | User$sessionsArgs + payments?: boolean | User$paymentsArgs + quizSubmissions?: boolean | User$quizSubmissionsArgs + goldenCards?: boolean | User$goldenCardsArgs + _count?: boolean | UserCountOutputTypeDefaultArgs + }, ExtArgs["result"]["user"]> + + export type UserSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + phone?: boolean + password?: boolean + role?: boolean + createdAt?: boolean + }, ExtArgs["result"]["user"]> + + export type UserSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + email?: boolean + phone?: boolean + password?: boolean + role?: boolean + createdAt?: boolean + }, ExtArgs["result"]["user"]> + + export type UserSelectScalar = { + id?: boolean + name?: boolean + email?: boolean + phone?: boolean + password?: boolean + role?: boolean + createdAt?: boolean + } + + export type UserOmit = $Extensions.GetOmit<"id" | "name" | "email" | "phone" | "password" | "role" | "createdAt", ExtArgs["result"]["user"]> + export type UserInclude = { + team?: boolean | User$teamArgs + sessions?: boolean | User$sessionsArgs + payments?: boolean | User$paymentsArgs + quizSubmissions?: boolean | User$quizSubmissionsArgs + goldenCards?: boolean | User$goldenCardsArgs + _count?: boolean | UserCountOutputTypeDefaultArgs + } + export type UserIncludeCreateManyAndReturn = {} + export type UserIncludeUpdateManyAndReturn = {} + + export type $UserPayload = { + name: "User" + objects: { + team: Prisma.$TeamPayload | null + sessions: Prisma.$SessionPayload[] + payments: Prisma.$PaymentPayload[] + quizSubmissions: Prisma.$QuizSubmissionPayload[] + goldenCards: Prisma.$GoldenCardPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string | null + email: string + phone: string | null + password: string + role: $Enums.Role + createdAt: Date + }, ExtArgs["result"]["user"]> + composites: {} + } + + type UserGetPayload = $Result.GetResult + + type UserCountArgs = + Omit & { + select?: UserCountAggregateInputType | true + } + + export interface UserDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['User'], meta: { name: 'User' } } + /** + * Find zero or one User that matches the filter. + * @param {UserFindUniqueArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one User that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {UserFindUniqueOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first User that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindFirstArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first User that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindFirstOrThrowArgs} args - Arguments to find a User + * @example + * // Get one User + * const user = await prisma.user.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Users that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Users + * const users = await prisma.user.findMany() + * + * // Get first 10 Users + * const users = await prisma.user.findMany({ take: 10 }) + * + * // Only select the `id` + * const userWithIdOnly = await prisma.user.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a User. + * @param {UserCreateArgs} args - Arguments to create a User. + * @example + * // Create one User + * const User = await prisma.user.create({ + * data: { + * // ... data to create a User + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Users. + * @param {UserCreateManyArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Users and returns the data saved in the database. + * @param {UserCreateManyAndReturnArgs} args - Arguments to create many Users. + * @example + * // Create many Users + * const user = await prisma.user.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Users and only return the `id` + * const userWithIdOnly = await prisma.user.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a User. + * @param {UserDeleteArgs} args - Arguments to delete one User. + * @example + * // Delete one User + * const User = await prisma.user.delete({ + * where: { + * // ... filter to delete one User + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one User. + * @param {UserUpdateArgs} args - Arguments to update one User. + * @example + * // Update one User + * const user = await prisma.user.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Users. + * @param {UserDeleteManyArgs} args - Arguments to filter Users to delete. + * @example + * // Delete a few Users + * const { count } = await prisma.user.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Users + * const user = await prisma.user.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Users and returns the data updated in the database. + * @param {UserUpdateManyAndReturnArgs} args - Arguments to update many Users. + * @example + * // Update many Users + * const user = await prisma.user.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Users and only return the `id` + * const userWithIdOnly = await prisma.user.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one User. + * @param {UserUpsertArgs} args - Arguments to update or create a User. + * @example + * // Update or create a User + * const user = await prisma.user.upsert({ + * create: { + * // ... data to create a User + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the User we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__UserClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Users. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserCountArgs} args - Arguments to filter Users to count. + * @example + * // Count the number of Users + * const count = await prisma.user.count({ + * where: { + * // ... the filter for the Users we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by User. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {UserGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends UserGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: UserGroupByArgs['orderBy'] } + : { orderBy?: UserGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetUserGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the User model + */ + readonly fields: UserFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for User. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__UserClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + team = {}>(args?: Subset>): Prisma__TeamClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + sessions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + payments = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + quizSubmissions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + goldenCards = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the User model + */ + interface UserFieldRefs { + readonly id: FieldRef<"User", 'String'> + readonly name: FieldRef<"User", 'String'> + readonly email: FieldRef<"User", 'String'> + readonly phone: FieldRef<"User", 'String'> + readonly password: FieldRef<"User", 'String'> + readonly role: FieldRef<"User", 'Role'> + readonly createdAt: FieldRef<"User", 'DateTime'> + } + + + // Custom InputTypes + /** + * User findUnique + */ + export type UserFindUniqueArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which User to fetch. + */ + where: UserWhereUniqueInput + } + + /** + * User findUniqueOrThrow + */ + export type UserFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which User to fetch. + */ + where: UserWhereUniqueInput + } + + /** + * User findFirst + */ + export type UserFindFirstArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which User to fetch. + */ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Users. + */ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + */ + distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * User findFirstOrThrow + */ + export type UserFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which User to fetch. + */ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Users. + */ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Users. + */ + distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * User findMany + */ + export type UserFindManyArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter, which Users to fetch. + */ + where?: UserWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Users to fetch. + */ + orderBy?: UserOrderByWithRelationInput | UserOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Users. + */ + cursor?: UserWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Users from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Users. + */ + skip?: number + distinct?: UserScalarFieldEnum | UserScalarFieldEnum[] + } + + /** + * User create + */ + export type UserCreateArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * The data needed to create a User. + */ + data: XOR + } + + /** + * User createMany + */ + export type UserCreateManyArgs = { + /** + * The data used to create many Users. + */ + data: UserCreateManyInput | UserCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * User createManyAndReturn + */ + export type UserCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelectCreateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * The data used to create many Users. + */ + data: UserCreateManyInput | UserCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * User update + */ + export type UserUpdateArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * The data needed to update a User. + */ + data: XOR + /** + * Choose, which User to update. + */ + where: UserWhereUniqueInput + } + + /** + * User updateMany + */ + export type UserUpdateManyArgs = { + /** + * The data used to update Users. + */ + data: XOR + /** + * Filter which Users to update + */ + where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number + } + + /** + * User updateManyAndReturn + */ + export type UserUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * The data used to update Users. + */ + data: XOR + /** + * Filter which Users to update + */ + where?: UserWhereInput + /** + * Limit how many Users to update. + */ + limit?: number + } + + /** + * User upsert + */ + export type UserUpsertArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * The filter to search for the User to update in case it exists. + */ + where: UserWhereUniqueInput + /** + * In case the User found by the `where` argument doesn't exist, create a new User with this data. + */ + create: XOR + /** + * In case the User was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * User delete + */ + export type UserDeleteArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + /** + * Filter which User to delete. + */ + where: UserWhereUniqueInput + } + + /** + * User deleteMany + */ + export type UserDeleteManyArgs = { + /** + * Filter which Users to delete + */ + where?: UserWhereInput + /** + * Limit how many Users to delete. + */ + limit?: number + } + + /** + * User.team + */ + export type User$teamArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + where?: TeamWhereInput + } + + /** + * User.sessions + */ + export type User$sessionsArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + where?: SessionWhereInput + orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] + cursor?: SessionWhereUniqueInput + take?: number + skip?: number + distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] + } + + /** + * User.payments + */ + export type User$paymentsArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + where?: PaymentWhereInput + orderBy?: PaymentOrderByWithRelationInput | PaymentOrderByWithRelationInput[] + cursor?: PaymentWhereUniqueInput + take?: number + skip?: number + distinct?: PaymentScalarFieldEnum | PaymentScalarFieldEnum[] + } + + /** + * User.quizSubmissions + */ + export type User$quizSubmissionsArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + where?: QuizSubmissionWhereInput + orderBy?: QuizSubmissionOrderByWithRelationInput | QuizSubmissionOrderByWithRelationInput[] + cursor?: QuizSubmissionWhereUniqueInput + take?: number + skip?: number + distinct?: QuizSubmissionScalarFieldEnum | QuizSubmissionScalarFieldEnum[] + } + + /** + * User.goldenCards + */ + export type User$goldenCardsArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + where?: GoldenCardWhereInput + orderBy?: GoldenCardOrderByWithRelationInput | GoldenCardOrderByWithRelationInput[] + cursor?: GoldenCardWhereUniqueInput + take?: number + skip?: number + distinct?: GoldenCardScalarFieldEnum | GoldenCardScalarFieldEnum[] + } + + /** + * User without action + */ + export type UserDefaultArgs = { + /** + * Select specific fields to fetch from the User + */ + select?: UserSelect | null + /** + * Omit specific fields from the User + */ + omit?: UserOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: UserInclude | null + } + + + /** + * Model LoginOtp + */ + + export type AggregateLoginOtp = { + _count: LoginOtpCountAggregateOutputType | null + _avg: LoginOtpAvgAggregateOutputType | null + _sum: LoginOtpSumAggregateOutputType | null + _min: LoginOtpMinAggregateOutputType | null + _max: LoginOtpMaxAggregateOutputType | null + } + + export type LoginOtpAvgAggregateOutputType = { + attempts: number | null + } + + export type LoginOtpSumAggregateOutputType = { + attempts: number | null + } + + export type LoginOtpMinAggregateOutputType = { + id: string | null + phone: string | null + codeHash: string | null + attempts: number | null + expiresAt: Date | null + consumedAt: Date | null + createdAt: Date | null + } + + export type LoginOtpMaxAggregateOutputType = { + id: string | null + phone: string | null + codeHash: string | null + attempts: number | null + expiresAt: Date | null + consumedAt: Date | null + createdAt: Date | null + } + + export type LoginOtpCountAggregateOutputType = { + id: number + phone: number + codeHash: number + attempts: number + expiresAt: number + consumedAt: number + createdAt: number + _all: number + } + + + export type LoginOtpAvgAggregateInputType = { + attempts?: true + } + + export type LoginOtpSumAggregateInputType = { + attempts?: true + } + + export type LoginOtpMinAggregateInputType = { + id?: true + phone?: true + codeHash?: true + attempts?: true + expiresAt?: true + consumedAt?: true + createdAt?: true + } + + export type LoginOtpMaxAggregateInputType = { + id?: true + phone?: true + codeHash?: true + attempts?: true + expiresAt?: true + consumedAt?: true + createdAt?: true + } + + export type LoginOtpCountAggregateInputType = { + id?: true + phone?: true + codeHash?: true + attempts?: true + expiresAt?: true + consumedAt?: true + createdAt?: true + _all?: true + } + + export type LoginOtpAggregateArgs = { + /** + * Filter which LoginOtp to aggregate. + */ + where?: LoginOtpWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of LoginOtps to fetch. + */ + orderBy?: LoginOtpOrderByWithRelationInput | LoginOtpOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: LoginOtpWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` LoginOtps from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` LoginOtps. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned LoginOtps + **/ + _count?: true | LoginOtpCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: LoginOtpAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: LoginOtpSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: LoginOtpMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: LoginOtpMaxAggregateInputType + } + + export type GetLoginOtpAggregateType = { + [P in keyof T & keyof AggregateLoginOtp]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type LoginOtpGroupByArgs = { + where?: LoginOtpWhereInput + orderBy?: LoginOtpOrderByWithAggregationInput | LoginOtpOrderByWithAggregationInput[] + by: LoginOtpScalarFieldEnum[] | LoginOtpScalarFieldEnum + having?: LoginOtpScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: LoginOtpCountAggregateInputType | true + _avg?: LoginOtpAvgAggregateInputType + _sum?: LoginOtpSumAggregateInputType + _min?: LoginOtpMinAggregateInputType + _max?: LoginOtpMaxAggregateInputType + } + + export type LoginOtpGroupByOutputType = { + id: string + phone: string + codeHash: string + attempts: number + expiresAt: Date + consumedAt: Date | null + createdAt: Date + _count: LoginOtpCountAggregateOutputType | null + _avg: LoginOtpAvgAggregateOutputType | null + _sum: LoginOtpSumAggregateOutputType | null + _min: LoginOtpMinAggregateOutputType | null + _max: LoginOtpMaxAggregateOutputType | null + } + + type GetLoginOtpGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof LoginOtpGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type LoginOtpSelect = $Extensions.GetSelect<{ + id?: boolean + phone?: boolean + codeHash?: boolean + attempts?: boolean + expiresAt?: boolean + consumedAt?: boolean + createdAt?: boolean + }, ExtArgs["result"]["loginOtp"]> + + export type LoginOtpSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + phone?: boolean + codeHash?: boolean + attempts?: boolean + expiresAt?: boolean + consumedAt?: boolean + createdAt?: boolean + }, ExtArgs["result"]["loginOtp"]> + + export type LoginOtpSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + phone?: boolean + codeHash?: boolean + attempts?: boolean + expiresAt?: boolean + consumedAt?: boolean + createdAt?: boolean + }, ExtArgs["result"]["loginOtp"]> + + export type LoginOtpSelectScalar = { + id?: boolean + phone?: boolean + codeHash?: boolean + attempts?: boolean + expiresAt?: boolean + consumedAt?: boolean + createdAt?: boolean + } + + export type LoginOtpOmit = $Extensions.GetOmit<"id" | "phone" | "codeHash" | "attempts" | "expiresAt" | "consumedAt" | "createdAt", ExtArgs["result"]["loginOtp"]> + + export type $LoginOtpPayload = { + name: "LoginOtp" + objects: {} + scalars: $Extensions.GetPayloadResult<{ + id: string + phone: string + codeHash: string + attempts: number + expiresAt: Date + consumedAt: Date | null + createdAt: Date + }, ExtArgs["result"]["loginOtp"]> + composites: {} + } + + type LoginOtpGetPayload = $Result.GetResult + + type LoginOtpCountArgs = + Omit & { + select?: LoginOtpCountAggregateInputType | true + } + + export interface LoginOtpDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['LoginOtp'], meta: { name: 'LoginOtp' } } + /** + * Find zero or one LoginOtp that matches the filter. + * @param {LoginOtpFindUniqueArgs} args - Arguments to find a LoginOtp + * @example + * // Get one LoginOtp + * const loginOtp = await prisma.loginOtp.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__LoginOtpClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one LoginOtp that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {LoginOtpFindUniqueOrThrowArgs} args - Arguments to find a LoginOtp + * @example + * // Get one LoginOtp + * const loginOtp = await prisma.loginOtp.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__LoginOtpClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first LoginOtp that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LoginOtpFindFirstArgs} args - Arguments to find a LoginOtp + * @example + * // Get one LoginOtp + * const loginOtp = await prisma.loginOtp.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__LoginOtpClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first LoginOtp that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LoginOtpFindFirstOrThrowArgs} args - Arguments to find a LoginOtp + * @example + * // Get one LoginOtp + * const loginOtp = await prisma.loginOtp.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__LoginOtpClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more LoginOtps that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LoginOtpFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all LoginOtps + * const loginOtps = await prisma.loginOtp.findMany() + * + * // Get first 10 LoginOtps + * const loginOtps = await prisma.loginOtp.findMany({ take: 10 }) + * + * // Only select the `id` + * const loginOtpWithIdOnly = await prisma.loginOtp.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a LoginOtp. + * @param {LoginOtpCreateArgs} args - Arguments to create a LoginOtp. + * @example + * // Create one LoginOtp + * const LoginOtp = await prisma.loginOtp.create({ + * data: { + * // ... data to create a LoginOtp + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__LoginOtpClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many LoginOtps. + * @param {LoginOtpCreateManyArgs} args - Arguments to create many LoginOtps. + * @example + * // Create many LoginOtps + * const loginOtp = await prisma.loginOtp.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many LoginOtps and returns the data saved in the database. + * @param {LoginOtpCreateManyAndReturnArgs} args - Arguments to create many LoginOtps. + * @example + * // Create many LoginOtps + * const loginOtp = await prisma.loginOtp.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many LoginOtps and only return the `id` + * const loginOtpWithIdOnly = await prisma.loginOtp.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a LoginOtp. + * @param {LoginOtpDeleteArgs} args - Arguments to delete one LoginOtp. + * @example + * // Delete one LoginOtp + * const LoginOtp = await prisma.loginOtp.delete({ + * where: { + * // ... filter to delete one LoginOtp + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__LoginOtpClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one LoginOtp. + * @param {LoginOtpUpdateArgs} args - Arguments to update one LoginOtp. + * @example + * // Update one LoginOtp + * const loginOtp = await prisma.loginOtp.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__LoginOtpClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more LoginOtps. + * @param {LoginOtpDeleteManyArgs} args - Arguments to filter LoginOtps to delete. + * @example + * // Delete a few LoginOtps + * const { count } = await prisma.loginOtp.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more LoginOtps. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LoginOtpUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many LoginOtps + * const loginOtp = await prisma.loginOtp.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more LoginOtps and returns the data updated in the database. + * @param {LoginOtpUpdateManyAndReturnArgs} args - Arguments to update many LoginOtps. + * @example + * // Update many LoginOtps + * const loginOtp = await prisma.loginOtp.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more LoginOtps and only return the `id` + * const loginOtpWithIdOnly = await prisma.loginOtp.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one LoginOtp. + * @param {LoginOtpUpsertArgs} args - Arguments to update or create a LoginOtp. + * @example + * // Update or create a LoginOtp + * const loginOtp = await prisma.loginOtp.upsert({ + * create: { + * // ... data to create a LoginOtp + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the LoginOtp we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__LoginOtpClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of LoginOtps. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LoginOtpCountArgs} args - Arguments to filter LoginOtps to count. + * @example + * // Count the number of LoginOtps + * const count = await prisma.loginOtp.count({ + * where: { + * // ... the filter for the LoginOtps we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a LoginOtp. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LoginOtpAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by LoginOtp. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {LoginOtpGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends LoginOtpGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: LoginOtpGroupByArgs['orderBy'] } + : { orderBy?: LoginOtpGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetLoginOtpGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the LoginOtp model + */ + readonly fields: LoginOtpFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for LoginOtp. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__LoginOtpClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the LoginOtp model + */ + interface LoginOtpFieldRefs { + readonly id: FieldRef<"LoginOtp", 'String'> + readonly phone: FieldRef<"LoginOtp", 'String'> + readonly codeHash: FieldRef<"LoginOtp", 'String'> + readonly attempts: FieldRef<"LoginOtp", 'Int'> + readonly expiresAt: FieldRef<"LoginOtp", 'DateTime'> + readonly consumedAt: FieldRef<"LoginOtp", 'DateTime'> + readonly createdAt: FieldRef<"LoginOtp", 'DateTime'> + } + + + // Custom InputTypes + /** + * LoginOtp findUnique + */ + export type LoginOtpFindUniqueArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * Filter, which LoginOtp to fetch. + */ + where: LoginOtpWhereUniqueInput + } + + /** + * LoginOtp findUniqueOrThrow + */ + export type LoginOtpFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * Filter, which LoginOtp to fetch. + */ + where: LoginOtpWhereUniqueInput + } + + /** + * LoginOtp findFirst + */ + export type LoginOtpFindFirstArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * Filter, which LoginOtp to fetch. + */ + where?: LoginOtpWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of LoginOtps to fetch. + */ + orderBy?: LoginOtpOrderByWithRelationInput | LoginOtpOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for LoginOtps. + */ + cursor?: LoginOtpWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` LoginOtps from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` LoginOtps. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of LoginOtps. + */ + distinct?: LoginOtpScalarFieldEnum | LoginOtpScalarFieldEnum[] + } + + /** + * LoginOtp findFirstOrThrow + */ + export type LoginOtpFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * Filter, which LoginOtp to fetch. + */ + where?: LoginOtpWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of LoginOtps to fetch. + */ + orderBy?: LoginOtpOrderByWithRelationInput | LoginOtpOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for LoginOtps. + */ + cursor?: LoginOtpWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` LoginOtps from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` LoginOtps. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of LoginOtps. + */ + distinct?: LoginOtpScalarFieldEnum | LoginOtpScalarFieldEnum[] + } + + /** + * LoginOtp findMany + */ + export type LoginOtpFindManyArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * Filter, which LoginOtps to fetch. + */ + where?: LoginOtpWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of LoginOtps to fetch. + */ + orderBy?: LoginOtpOrderByWithRelationInput | LoginOtpOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing LoginOtps. + */ + cursor?: LoginOtpWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` LoginOtps from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` LoginOtps. + */ + skip?: number + distinct?: LoginOtpScalarFieldEnum | LoginOtpScalarFieldEnum[] + } + + /** + * LoginOtp create + */ + export type LoginOtpCreateArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * The data needed to create a LoginOtp. + */ + data: XOR + } + + /** + * LoginOtp createMany + */ + export type LoginOtpCreateManyArgs = { + /** + * The data used to create many LoginOtps. + */ + data: LoginOtpCreateManyInput | LoginOtpCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * LoginOtp createManyAndReturn + */ + export type LoginOtpCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelectCreateManyAndReturn | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * The data used to create many LoginOtps. + */ + data: LoginOtpCreateManyInput | LoginOtpCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * LoginOtp update + */ + export type LoginOtpUpdateArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * The data needed to update a LoginOtp. + */ + data: XOR + /** + * Choose, which LoginOtp to update. + */ + where: LoginOtpWhereUniqueInput + } + + /** + * LoginOtp updateMany + */ + export type LoginOtpUpdateManyArgs = { + /** + * The data used to update LoginOtps. + */ + data: XOR + /** + * Filter which LoginOtps to update + */ + where?: LoginOtpWhereInput + /** + * Limit how many LoginOtps to update. + */ + limit?: number + } + + /** + * LoginOtp updateManyAndReturn + */ + export type LoginOtpUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * The data used to update LoginOtps. + */ + data: XOR + /** + * Filter which LoginOtps to update + */ + where?: LoginOtpWhereInput + /** + * Limit how many LoginOtps to update. + */ + limit?: number + } + + /** + * LoginOtp upsert + */ + export type LoginOtpUpsertArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * The filter to search for the LoginOtp to update in case it exists. + */ + where: LoginOtpWhereUniqueInput + /** + * In case the LoginOtp found by the `where` argument doesn't exist, create a new LoginOtp with this data. + */ + create: XOR + /** + * In case the LoginOtp was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * LoginOtp delete + */ + export type LoginOtpDeleteArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + /** + * Filter which LoginOtp to delete. + */ + where: LoginOtpWhereUniqueInput + } + + /** + * LoginOtp deleteMany + */ + export type LoginOtpDeleteManyArgs = { + /** + * Filter which LoginOtps to delete + */ + where?: LoginOtpWhereInput + /** + * Limit how many LoginOtps to delete. + */ + limit?: number + } + + /** + * LoginOtp without action + */ + export type LoginOtpDefaultArgs = { + /** + * Select specific fields to fetch from the LoginOtp + */ + select?: LoginOtpSelect | null + /** + * Omit specific fields from the LoginOtp + */ + omit?: LoginOtpOmit | null + } + + + /** + * Model FantasyNews + */ + + export type AggregateFantasyNews = { + _count: FantasyNewsCountAggregateOutputType | null + _min: FantasyNewsMinAggregateOutputType | null + _max: FantasyNewsMaxAggregateOutputType | null + } + + export type FantasyNewsMinAggregateOutputType = { + id: string | null + icon: string | null + title: string | null + description: string | null + newsTime: Date | null + createdAt: Date | null + updatedAt: Date | null + } + + export type FantasyNewsMaxAggregateOutputType = { + id: string | null + icon: string | null + title: string | null + description: string | null + newsTime: Date | null + createdAt: Date | null + updatedAt: Date | null + } + + export type FantasyNewsCountAggregateOutputType = { + id: number + icon: number + title: number + description: number + newsTime: number + createdAt: number + updatedAt: number + _all: number + } + + + export type FantasyNewsMinAggregateInputType = { + id?: true + icon?: true + title?: true + description?: true + newsTime?: true + createdAt?: true + updatedAt?: true + } + + export type FantasyNewsMaxAggregateInputType = { + id?: true + icon?: true + title?: true + description?: true + newsTime?: true + createdAt?: true + updatedAt?: true + } + + export type FantasyNewsCountAggregateInputType = { + id?: true + icon?: true + title?: true + description?: true + newsTime?: true + createdAt?: true + updatedAt?: true + _all?: true + } + + export type FantasyNewsAggregateArgs = { + /** + * Filter which FantasyNews to aggregate. + */ + where?: FantasyNewsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of FantasyNews to fetch. + */ + orderBy?: FantasyNewsOrderByWithRelationInput | FantasyNewsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: FantasyNewsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` FantasyNews from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` FantasyNews. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned FantasyNews + **/ + _count?: true | FantasyNewsCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: FantasyNewsMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: FantasyNewsMaxAggregateInputType + } + + export type GetFantasyNewsAggregateType = { + [P in keyof T & keyof AggregateFantasyNews]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type FantasyNewsGroupByArgs = { + where?: FantasyNewsWhereInput + orderBy?: FantasyNewsOrderByWithAggregationInput | FantasyNewsOrderByWithAggregationInput[] + by: FantasyNewsScalarFieldEnum[] | FantasyNewsScalarFieldEnum + having?: FantasyNewsScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: FantasyNewsCountAggregateInputType | true + _min?: FantasyNewsMinAggregateInputType + _max?: FantasyNewsMaxAggregateInputType + } + + export type FantasyNewsGroupByOutputType = { + id: string + icon: string + title: string + description: string + newsTime: Date + createdAt: Date + updatedAt: Date + _count: FantasyNewsCountAggregateOutputType | null + _min: FantasyNewsMinAggregateOutputType | null + _max: FantasyNewsMaxAggregateOutputType | null + } + + type GetFantasyNewsGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof FantasyNewsGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type FantasyNewsSelect = $Extensions.GetSelect<{ + id?: boolean + icon?: boolean + title?: boolean + description?: boolean + newsTime?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["fantasyNews"]> + + export type FantasyNewsSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + icon?: boolean + title?: boolean + description?: boolean + newsTime?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["fantasyNews"]> + + export type FantasyNewsSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + icon?: boolean + title?: boolean + description?: boolean + newsTime?: boolean + createdAt?: boolean + updatedAt?: boolean + }, ExtArgs["result"]["fantasyNews"]> + + export type FantasyNewsSelectScalar = { + id?: boolean + icon?: boolean + title?: boolean + description?: boolean + newsTime?: boolean + createdAt?: boolean + updatedAt?: boolean + } + + export type FantasyNewsOmit = $Extensions.GetOmit<"id" | "icon" | "title" | "description" | "newsTime" | "createdAt" | "updatedAt", ExtArgs["result"]["fantasyNews"]> + + export type $FantasyNewsPayload = { + name: "FantasyNews" + objects: {} + scalars: $Extensions.GetPayloadResult<{ + id: string + icon: string + title: string + description: string + newsTime: Date + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["fantasyNews"]> + composites: {} + } + + type FantasyNewsGetPayload = $Result.GetResult + + type FantasyNewsCountArgs = + Omit & { + select?: FantasyNewsCountAggregateInputType | true + } + + export interface FantasyNewsDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['FantasyNews'], meta: { name: 'FantasyNews' } } + /** + * Find zero or one FantasyNews that matches the filter. + * @param {FantasyNewsFindUniqueArgs} args - Arguments to find a FantasyNews + * @example + * // Get one FantasyNews + * const fantasyNews = await prisma.fantasyNews.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__FantasyNewsClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one FantasyNews that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {FantasyNewsFindUniqueOrThrowArgs} args - Arguments to find a FantasyNews + * @example + * // Get one FantasyNews + * const fantasyNews = await prisma.fantasyNews.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__FantasyNewsClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first FantasyNews that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FantasyNewsFindFirstArgs} args - Arguments to find a FantasyNews + * @example + * // Get one FantasyNews + * const fantasyNews = await prisma.fantasyNews.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__FantasyNewsClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first FantasyNews that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FantasyNewsFindFirstOrThrowArgs} args - Arguments to find a FantasyNews + * @example + * // Get one FantasyNews + * const fantasyNews = await prisma.fantasyNews.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__FantasyNewsClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more FantasyNews that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FantasyNewsFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all FantasyNews + * const fantasyNews = await prisma.fantasyNews.findMany() + * + * // Get first 10 FantasyNews + * const fantasyNews = await prisma.fantasyNews.findMany({ take: 10 }) + * + * // Only select the `id` + * const fantasyNewsWithIdOnly = await prisma.fantasyNews.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a FantasyNews. + * @param {FantasyNewsCreateArgs} args - Arguments to create a FantasyNews. + * @example + * // Create one FantasyNews + * const FantasyNews = await prisma.fantasyNews.create({ + * data: { + * // ... data to create a FantasyNews + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__FantasyNewsClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many FantasyNews. + * @param {FantasyNewsCreateManyArgs} args - Arguments to create many FantasyNews. + * @example + * // Create many FantasyNews + * const fantasyNews = await prisma.fantasyNews.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many FantasyNews and returns the data saved in the database. + * @param {FantasyNewsCreateManyAndReturnArgs} args - Arguments to create many FantasyNews. + * @example + * // Create many FantasyNews + * const fantasyNews = await prisma.fantasyNews.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many FantasyNews and only return the `id` + * const fantasyNewsWithIdOnly = await prisma.fantasyNews.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a FantasyNews. + * @param {FantasyNewsDeleteArgs} args - Arguments to delete one FantasyNews. + * @example + * // Delete one FantasyNews + * const FantasyNews = await prisma.fantasyNews.delete({ + * where: { + * // ... filter to delete one FantasyNews + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__FantasyNewsClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one FantasyNews. + * @param {FantasyNewsUpdateArgs} args - Arguments to update one FantasyNews. + * @example + * // Update one FantasyNews + * const fantasyNews = await prisma.fantasyNews.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__FantasyNewsClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more FantasyNews. + * @param {FantasyNewsDeleteManyArgs} args - Arguments to filter FantasyNews to delete. + * @example + * // Delete a few FantasyNews + * const { count } = await prisma.fantasyNews.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more FantasyNews. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FantasyNewsUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many FantasyNews + * const fantasyNews = await prisma.fantasyNews.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more FantasyNews and returns the data updated in the database. + * @param {FantasyNewsUpdateManyAndReturnArgs} args - Arguments to update many FantasyNews. + * @example + * // Update many FantasyNews + * const fantasyNews = await prisma.fantasyNews.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more FantasyNews and only return the `id` + * const fantasyNewsWithIdOnly = await prisma.fantasyNews.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one FantasyNews. + * @param {FantasyNewsUpsertArgs} args - Arguments to update or create a FantasyNews. + * @example + * // Update or create a FantasyNews + * const fantasyNews = await prisma.fantasyNews.upsert({ + * create: { + * // ... data to create a FantasyNews + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the FantasyNews we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__FantasyNewsClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of FantasyNews. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FantasyNewsCountArgs} args - Arguments to filter FantasyNews to count. + * @example + * // Count the number of FantasyNews + * const count = await prisma.fantasyNews.count({ + * where: { + * // ... the filter for the FantasyNews we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a FantasyNews. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FantasyNewsAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by FantasyNews. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {FantasyNewsGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends FantasyNewsGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: FantasyNewsGroupByArgs['orderBy'] } + : { orderBy?: FantasyNewsGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetFantasyNewsGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the FantasyNews model + */ + readonly fields: FantasyNewsFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for FantasyNews. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__FantasyNewsClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the FantasyNews model + */ + interface FantasyNewsFieldRefs { + readonly id: FieldRef<"FantasyNews", 'String'> + readonly icon: FieldRef<"FantasyNews", 'String'> + readonly title: FieldRef<"FantasyNews", 'String'> + readonly description: FieldRef<"FantasyNews", 'String'> + readonly newsTime: FieldRef<"FantasyNews", 'DateTime'> + readonly createdAt: FieldRef<"FantasyNews", 'DateTime'> + readonly updatedAt: FieldRef<"FantasyNews", 'DateTime'> + } + + + // Custom InputTypes + /** + * FantasyNews findUnique + */ + export type FantasyNewsFindUniqueArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * Filter, which FantasyNews to fetch. + */ + where: FantasyNewsWhereUniqueInput + } + + /** + * FantasyNews findUniqueOrThrow + */ + export type FantasyNewsFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * Filter, which FantasyNews to fetch. + */ + where: FantasyNewsWhereUniqueInput + } + + /** + * FantasyNews findFirst + */ + export type FantasyNewsFindFirstArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * Filter, which FantasyNews to fetch. + */ + where?: FantasyNewsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of FantasyNews to fetch. + */ + orderBy?: FantasyNewsOrderByWithRelationInput | FantasyNewsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for FantasyNews. + */ + cursor?: FantasyNewsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` FantasyNews from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` FantasyNews. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of FantasyNews. + */ + distinct?: FantasyNewsScalarFieldEnum | FantasyNewsScalarFieldEnum[] + } + + /** + * FantasyNews findFirstOrThrow + */ + export type FantasyNewsFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * Filter, which FantasyNews to fetch. + */ + where?: FantasyNewsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of FantasyNews to fetch. + */ + orderBy?: FantasyNewsOrderByWithRelationInput | FantasyNewsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for FantasyNews. + */ + cursor?: FantasyNewsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` FantasyNews from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` FantasyNews. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of FantasyNews. + */ + distinct?: FantasyNewsScalarFieldEnum | FantasyNewsScalarFieldEnum[] + } + + /** + * FantasyNews findMany + */ + export type FantasyNewsFindManyArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * Filter, which FantasyNews to fetch. + */ + where?: FantasyNewsWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of FantasyNews to fetch. + */ + orderBy?: FantasyNewsOrderByWithRelationInput | FantasyNewsOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing FantasyNews. + */ + cursor?: FantasyNewsWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` FantasyNews from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` FantasyNews. + */ + skip?: number + distinct?: FantasyNewsScalarFieldEnum | FantasyNewsScalarFieldEnum[] + } + + /** + * FantasyNews create + */ + export type FantasyNewsCreateArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * The data needed to create a FantasyNews. + */ + data: XOR + } + + /** + * FantasyNews createMany + */ + export type FantasyNewsCreateManyArgs = { + /** + * The data used to create many FantasyNews. + */ + data: FantasyNewsCreateManyInput | FantasyNewsCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * FantasyNews createManyAndReturn + */ + export type FantasyNewsCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelectCreateManyAndReturn | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * The data used to create many FantasyNews. + */ + data: FantasyNewsCreateManyInput | FantasyNewsCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * FantasyNews update + */ + export type FantasyNewsUpdateArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * The data needed to update a FantasyNews. + */ + data: XOR + /** + * Choose, which FantasyNews to update. + */ + where: FantasyNewsWhereUniqueInput + } + + /** + * FantasyNews updateMany + */ + export type FantasyNewsUpdateManyArgs = { + /** + * The data used to update FantasyNews. + */ + data: XOR + /** + * Filter which FantasyNews to update + */ + where?: FantasyNewsWhereInput + /** + * Limit how many FantasyNews to update. + */ + limit?: number + } + + /** + * FantasyNews updateManyAndReturn + */ + export type FantasyNewsUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * The data used to update FantasyNews. + */ + data: XOR + /** + * Filter which FantasyNews to update + */ + where?: FantasyNewsWhereInput + /** + * Limit how many FantasyNews to update. + */ + limit?: number + } + + /** + * FantasyNews upsert + */ + export type FantasyNewsUpsertArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * The filter to search for the FantasyNews to update in case it exists. + */ + where: FantasyNewsWhereUniqueInput + /** + * In case the FantasyNews found by the `where` argument doesn't exist, create a new FantasyNews with this data. + */ + create: XOR + /** + * In case the FantasyNews was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * FantasyNews delete + */ + export type FantasyNewsDeleteArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + /** + * Filter which FantasyNews to delete. + */ + where: FantasyNewsWhereUniqueInput + } + + /** + * FantasyNews deleteMany + */ + export type FantasyNewsDeleteManyArgs = { + /** + * Filter which FantasyNews to delete + */ + where?: FantasyNewsWhereInput + /** + * Limit how many FantasyNews to delete. + */ + limit?: number + } + + /** + * FantasyNews without action + */ + export type FantasyNewsDefaultArgs = { + /** + * Select specific fields to fetch from the FantasyNews + */ + select?: FantasyNewsSelect | null + /** + * Omit specific fields from the FantasyNews + */ + omit?: FantasyNewsOmit | null + } + + + /** + * Model DailyQuiz + */ + + export type AggregateDailyQuiz = { + _count: DailyQuizCountAggregateOutputType | null + _avg: DailyQuizAvgAggregateOutputType | null + _sum: DailyQuizSumAggregateOutputType | null + _min: DailyQuizMinAggregateOutputType | null + _max: DailyQuizMaxAggregateOutputType | null + } + + export type DailyQuizAvgAggregateOutputType = { + goldWinnersCount: number | null + silverWinnersCount: number | null + bronzeWinnersCount: number | null + goldMinCorrect: number | null + silverMinCorrect: number | null + bronzeMinCorrect: number | null + } + + export type DailyQuizSumAggregateOutputType = { + goldWinnersCount: number | null + silverWinnersCount: number | null + bronzeWinnersCount: number | null + goldMinCorrect: number | null + silverMinCorrect: number | null + bronzeMinCorrect: number | null + } + + export type DailyQuizMinAggregateOutputType = { + id: string | null + date: Date | null + windowStart: Date | null + windowEnd: Date | null + goldWinnersCount: number | null + silverWinnersCount: number | null + bronzeWinnersCount: number | null + goldMinCorrect: number | null + silverMinCorrect: number | null + bronzeMinCorrect: number | null + isProcessed: boolean | null + createdAt: Date | null + } + + export type DailyQuizMaxAggregateOutputType = { + id: string | null + date: Date | null + windowStart: Date | null + windowEnd: Date | null + goldWinnersCount: number | null + silverWinnersCount: number | null + bronzeWinnersCount: number | null + goldMinCorrect: number | null + silverMinCorrect: number | null + bronzeMinCorrect: number | null + isProcessed: boolean | null + createdAt: Date | null + } + + export type DailyQuizCountAggregateOutputType = { + id: number + date: number + windowStart: number + windowEnd: number + goldWinnersCount: number + silverWinnersCount: number + bronzeWinnersCount: number + goldMinCorrect: number + silverMinCorrect: number + bronzeMinCorrect: number + isProcessed: number + createdAt: number + _all: number + } + + + export type DailyQuizAvgAggregateInputType = { + goldWinnersCount?: true + silverWinnersCount?: true + bronzeWinnersCount?: true + goldMinCorrect?: true + silverMinCorrect?: true + bronzeMinCorrect?: true + } + + export type DailyQuizSumAggregateInputType = { + goldWinnersCount?: true + silverWinnersCount?: true + bronzeWinnersCount?: true + goldMinCorrect?: true + silverMinCorrect?: true + bronzeMinCorrect?: true + } + + export type DailyQuizMinAggregateInputType = { + id?: true + date?: true + windowStart?: true + windowEnd?: true + goldWinnersCount?: true + silverWinnersCount?: true + bronzeWinnersCount?: true + goldMinCorrect?: true + silverMinCorrect?: true + bronzeMinCorrect?: true + isProcessed?: true + createdAt?: true + } + + export type DailyQuizMaxAggregateInputType = { + id?: true + date?: true + windowStart?: true + windowEnd?: true + goldWinnersCount?: true + silverWinnersCount?: true + bronzeWinnersCount?: true + goldMinCorrect?: true + silverMinCorrect?: true + bronzeMinCorrect?: true + isProcessed?: true + createdAt?: true + } + + export type DailyQuizCountAggregateInputType = { + id?: true + date?: true + windowStart?: true + windowEnd?: true + goldWinnersCount?: true + silverWinnersCount?: true + bronzeWinnersCount?: true + goldMinCorrect?: true + silverMinCorrect?: true + bronzeMinCorrect?: true + isProcessed?: true + createdAt?: true + _all?: true + } + + export type DailyQuizAggregateArgs = { + /** + * Filter which DailyQuiz to aggregate. + */ + where?: DailyQuizWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of DailyQuizs to fetch. + */ + orderBy?: DailyQuizOrderByWithRelationInput | DailyQuizOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: DailyQuizWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` DailyQuizs from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` DailyQuizs. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned DailyQuizs + **/ + _count?: true | DailyQuizCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: DailyQuizAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: DailyQuizSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: DailyQuizMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: DailyQuizMaxAggregateInputType + } + + export type GetDailyQuizAggregateType = { + [P in keyof T & keyof AggregateDailyQuiz]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type DailyQuizGroupByArgs = { + where?: DailyQuizWhereInput + orderBy?: DailyQuizOrderByWithAggregationInput | DailyQuizOrderByWithAggregationInput[] + by: DailyQuizScalarFieldEnum[] | DailyQuizScalarFieldEnum + having?: DailyQuizScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: DailyQuizCountAggregateInputType | true + _avg?: DailyQuizAvgAggregateInputType + _sum?: DailyQuizSumAggregateInputType + _min?: DailyQuizMinAggregateInputType + _max?: DailyQuizMaxAggregateInputType + } + + export type DailyQuizGroupByOutputType = { + id: string + date: Date + windowStart: Date + windowEnd: Date + goldWinnersCount: number + silverWinnersCount: number + bronzeWinnersCount: number + goldMinCorrect: number | null + silverMinCorrect: number | null + bronzeMinCorrect: number | null + isProcessed: boolean + createdAt: Date + _count: DailyQuizCountAggregateOutputType | null + _avg: DailyQuizAvgAggregateOutputType | null + _sum: DailyQuizSumAggregateOutputType | null + _min: DailyQuizMinAggregateOutputType | null + _max: DailyQuizMaxAggregateOutputType | null + } + + type GetDailyQuizGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof DailyQuizGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type DailyQuizSelect = $Extensions.GetSelect<{ + id?: boolean + date?: boolean + windowStart?: boolean + windowEnd?: boolean + goldWinnersCount?: boolean + silverWinnersCount?: boolean + bronzeWinnersCount?: boolean + goldMinCorrect?: boolean + silverMinCorrect?: boolean + bronzeMinCorrect?: boolean + isProcessed?: boolean + createdAt?: boolean + questions?: boolean | DailyQuiz$questionsArgs + submissions?: boolean | DailyQuiz$submissionsArgs + awardedCards?: boolean | DailyQuiz$awardedCardsArgs + _count?: boolean | DailyQuizCountOutputTypeDefaultArgs + }, ExtArgs["result"]["dailyQuiz"]> + + export type DailyQuizSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + date?: boolean + windowStart?: boolean + windowEnd?: boolean + goldWinnersCount?: boolean + silverWinnersCount?: boolean + bronzeWinnersCount?: boolean + goldMinCorrect?: boolean + silverMinCorrect?: boolean + bronzeMinCorrect?: boolean + isProcessed?: boolean + createdAt?: boolean + }, ExtArgs["result"]["dailyQuiz"]> + + export type DailyQuizSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + date?: boolean + windowStart?: boolean + windowEnd?: boolean + goldWinnersCount?: boolean + silverWinnersCount?: boolean + bronzeWinnersCount?: boolean + goldMinCorrect?: boolean + silverMinCorrect?: boolean + bronzeMinCorrect?: boolean + isProcessed?: boolean + createdAt?: boolean + }, ExtArgs["result"]["dailyQuiz"]> + + export type DailyQuizSelectScalar = { + id?: boolean + date?: boolean + windowStart?: boolean + windowEnd?: boolean + goldWinnersCount?: boolean + silverWinnersCount?: boolean + bronzeWinnersCount?: boolean + goldMinCorrect?: boolean + silverMinCorrect?: boolean + bronzeMinCorrect?: boolean + isProcessed?: boolean + createdAt?: boolean + } + + export type DailyQuizOmit = $Extensions.GetOmit<"id" | "date" | "windowStart" | "windowEnd" | "goldWinnersCount" | "silverWinnersCount" | "bronzeWinnersCount" | "goldMinCorrect" | "silverMinCorrect" | "bronzeMinCorrect" | "isProcessed" | "createdAt", ExtArgs["result"]["dailyQuiz"]> + export type DailyQuizInclude = { + questions?: boolean | DailyQuiz$questionsArgs + submissions?: boolean | DailyQuiz$submissionsArgs + awardedCards?: boolean | DailyQuiz$awardedCardsArgs + _count?: boolean | DailyQuizCountOutputTypeDefaultArgs + } + export type DailyQuizIncludeCreateManyAndReturn = {} + export type DailyQuizIncludeUpdateManyAndReturn = {} + + export type $DailyQuizPayload = { + name: "DailyQuiz" + objects: { + questions: Prisma.$QuizQuestionPayload[] + submissions: Prisma.$QuizSubmissionPayload[] + awardedCards: Prisma.$GoldenCardPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + date: Date + windowStart: Date + windowEnd: Date + goldWinnersCount: number + silverWinnersCount: number + bronzeWinnersCount: number + goldMinCorrect: number | null + silverMinCorrect: number | null + bronzeMinCorrect: number | null + isProcessed: boolean + createdAt: Date + }, ExtArgs["result"]["dailyQuiz"]> + composites: {} + } + + type DailyQuizGetPayload = $Result.GetResult + + type DailyQuizCountArgs = + Omit & { + select?: DailyQuizCountAggregateInputType | true + } + + export interface DailyQuizDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['DailyQuiz'], meta: { name: 'DailyQuiz' } } + /** + * Find zero or one DailyQuiz that matches the filter. + * @param {DailyQuizFindUniqueArgs} args - Arguments to find a DailyQuiz + * @example + * // Get one DailyQuiz + * const dailyQuiz = await prisma.dailyQuiz.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__DailyQuizClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one DailyQuiz that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {DailyQuizFindUniqueOrThrowArgs} args - Arguments to find a DailyQuiz + * @example + * // Get one DailyQuiz + * const dailyQuiz = await prisma.dailyQuiz.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__DailyQuizClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first DailyQuiz that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DailyQuizFindFirstArgs} args - Arguments to find a DailyQuiz + * @example + * // Get one DailyQuiz + * const dailyQuiz = await prisma.dailyQuiz.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__DailyQuizClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first DailyQuiz that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DailyQuizFindFirstOrThrowArgs} args - Arguments to find a DailyQuiz + * @example + * // Get one DailyQuiz + * const dailyQuiz = await prisma.dailyQuiz.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__DailyQuizClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more DailyQuizs that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DailyQuizFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all DailyQuizs + * const dailyQuizs = await prisma.dailyQuiz.findMany() + * + * // Get first 10 DailyQuizs + * const dailyQuizs = await prisma.dailyQuiz.findMany({ take: 10 }) + * + * // Only select the `id` + * const dailyQuizWithIdOnly = await prisma.dailyQuiz.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a DailyQuiz. + * @param {DailyQuizCreateArgs} args - Arguments to create a DailyQuiz. + * @example + * // Create one DailyQuiz + * const DailyQuiz = await prisma.dailyQuiz.create({ + * data: { + * // ... data to create a DailyQuiz + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__DailyQuizClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many DailyQuizs. + * @param {DailyQuizCreateManyArgs} args - Arguments to create many DailyQuizs. + * @example + * // Create many DailyQuizs + * const dailyQuiz = await prisma.dailyQuiz.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many DailyQuizs and returns the data saved in the database. + * @param {DailyQuizCreateManyAndReturnArgs} args - Arguments to create many DailyQuizs. + * @example + * // Create many DailyQuizs + * const dailyQuiz = await prisma.dailyQuiz.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many DailyQuizs and only return the `id` + * const dailyQuizWithIdOnly = await prisma.dailyQuiz.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a DailyQuiz. + * @param {DailyQuizDeleteArgs} args - Arguments to delete one DailyQuiz. + * @example + * // Delete one DailyQuiz + * const DailyQuiz = await prisma.dailyQuiz.delete({ + * where: { + * // ... filter to delete one DailyQuiz + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__DailyQuizClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one DailyQuiz. + * @param {DailyQuizUpdateArgs} args - Arguments to update one DailyQuiz. + * @example + * // Update one DailyQuiz + * const dailyQuiz = await prisma.dailyQuiz.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__DailyQuizClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more DailyQuizs. + * @param {DailyQuizDeleteManyArgs} args - Arguments to filter DailyQuizs to delete. + * @example + * // Delete a few DailyQuizs + * const { count } = await prisma.dailyQuiz.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more DailyQuizs. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DailyQuizUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many DailyQuizs + * const dailyQuiz = await prisma.dailyQuiz.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more DailyQuizs and returns the data updated in the database. + * @param {DailyQuizUpdateManyAndReturnArgs} args - Arguments to update many DailyQuizs. + * @example + * // Update many DailyQuizs + * const dailyQuiz = await prisma.dailyQuiz.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more DailyQuizs and only return the `id` + * const dailyQuizWithIdOnly = await prisma.dailyQuiz.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one DailyQuiz. + * @param {DailyQuizUpsertArgs} args - Arguments to update or create a DailyQuiz. + * @example + * // Update or create a DailyQuiz + * const dailyQuiz = await prisma.dailyQuiz.upsert({ + * create: { + * // ... data to create a DailyQuiz + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the DailyQuiz we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__DailyQuizClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of DailyQuizs. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DailyQuizCountArgs} args - Arguments to filter DailyQuizs to count. + * @example + * // Count the number of DailyQuizs + * const count = await prisma.dailyQuiz.count({ + * where: { + * // ... the filter for the DailyQuizs we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a DailyQuiz. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DailyQuizAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by DailyQuiz. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {DailyQuizGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends DailyQuizGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: DailyQuizGroupByArgs['orderBy'] } + : { orderBy?: DailyQuizGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetDailyQuizGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the DailyQuiz model + */ + readonly fields: DailyQuizFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for DailyQuiz. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__DailyQuizClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + questions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + submissions = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + awardedCards = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the DailyQuiz model + */ + interface DailyQuizFieldRefs { + readonly id: FieldRef<"DailyQuiz", 'String'> + readonly date: FieldRef<"DailyQuiz", 'DateTime'> + readonly windowStart: FieldRef<"DailyQuiz", 'DateTime'> + readonly windowEnd: FieldRef<"DailyQuiz", 'DateTime'> + readonly goldWinnersCount: FieldRef<"DailyQuiz", 'Int'> + readonly silverWinnersCount: FieldRef<"DailyQuiz", 'Int'> + readonly bronzeWinnersCount: FieldRef<"DailyQuiz", 'Int'> + readonly goldMinCorrect: FieldRef<"DailyQuiz", 'Int'> + readonly silverMinCorrect: FieldRef<"DailyQuiz", 'Int'> + readonly bronzeMinCorrect: FieldRef<"DailyQuiz", 'Int'> + readonly isProcessed: FieldRef<"DailyQuiz", 'Boolean'> + readonly createdAt: FieldRef<"DailyQuiz", 'DateTime'> + } + + + // Custom InputTypes + /** + * DailyQuiz findUnique + */ + export type DailyQuizFindUniqueArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * Filter, which DailyQuiz to fetch. + */ + where: DailyQuizWhereUniqueInput + } + + /** + * DailyQuiz findUniqueOrThrow + */ + export type DailyQuizFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * Filter, which DailyQuiz to fetch. + */ + where: DailyQuizWhereUniqueInput + } + + /** + * DailyQuiz findFirst + */ + export type DailyQuizFindFirstArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * Filter, which DailyQuiz to fetch. + */ + where?: DailyQuizWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of DailyQuizs to fetch. + */ + orderBy?: DailyQuizOrderByWithRelationInput | DailyQuizOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for DailyQuizs. + */ + cursor?: DailyQuizWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` DailyQuizs from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` DailyQuizs. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of DailyQuizs. + */ + distinct?: DailyQuizScalarFieldEnum | DailyQuizScalarFieldEnum[] + } + + /** + * DailyQuiz findFirstOrThrow + */ + export type DailyQuizFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * Filter, which DailyQuiz to fetch. + */ + where?: DailyQuizWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of DailyQuizs to fetch. + */ + orderBy?: DailyQuizOrderByWithRelationInput | DailyQuizOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for DailyQuizs. + */ + cursor?: DailyQuizWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` DailyQuizs from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` DailyQuizs. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of DailyQuizs. + */ + distinct?: DailyQuizScalarFieldEnum | DailyQuizScalarFieldEnum[] + } + + /** + * DailyQuiz findMany + */ + export type DailyQuizFindManyArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * Filter, which DailyQuizs to fetch. + */ + where?: DailyQuizWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of DailyQuizs to fetch. + */ + orderBy?: DailyQuizOrderByWithRelationInput | DailyQuizOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing DailyQuizs. + */ + cursor?: DailyQuizWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` DailyQuizs from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` DailyQuizs. + */ + skip?: number + distinct?: DailyQuizScalarFieldEnum | DailyQuizScalarFieldEnum[] + } + + /** + * DailyQuiz create + */ + export type DailyQuizCreateArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * The data needed to create a DailyQuiz. + */ + data: XOR + } + + /** + * DailyQuiz createMany + */ + export type DailyQuizCreateManyArgs = { + /** + * The data used to create many DailyQuizs. + */ + data: DailyQuizCreateManyInput | DailyQuizCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * DailyQuiz createManyAndReturn + */ + export type DailyQuizCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelectCreateManyAndReturn | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * The data used to create many DailyQuizs. + */ + data: DailyQuizCreateManyInput | DailyQuizCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * DailyQuiz update + */ + export type DailyQuizUpdateArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * The data needed to update a DailyQuiz. + */ + data: XOR + /** + * Choose, which DailyQuiz to update. + */ + where: DailyQuizWhereUniqueInput + } + + /** + * DailyQuiz updateMany + */ + export type DailyQuizUpdateManyArgs = { + /** + * The data used to update DailyQuizs. + */ + data: XOR + /** + * Filter which DailyQuizs to update + */ + where?: DailyQuizWhereInput + /** + * Limit how many DailyQuizs to update. + */ + limit?: number + } + + /** + * DailyQuiz updateManyAndReturn + */ + export type DailyQuizUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * The data used to update DailyQuizs. + */ + data: XOR + /** + * Filter which DailyQuizs to update + */ + where?: DailyQuizWhereInput + /** + * Limit how many DailyQuizs to update. + */ + limit?: number + } + + /** + * DailyQuiz upsert + */ + export type DailyQuizUpsertArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * The filter to search for the DailyQuiz to update in case it exists. + */ + where: DailyQuizWhereUniqueInput + /** + * In case the DailyQuiz found by the `where` argument doesn't exist, create a new DailyQuiz with this data. + */ + create: XOR + /** + * In case the DailyQuiz was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * DailyQuiz delete + */ + export type DailyQuizDeleteArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + /** + * Filter which DailyQuiz to delete. + */ + where: DailyQuizWhereUniqueInput + } + + /** + * DailyQuiz deleteMany + */ + export type DailyQuizDeleteManyArgs = { + /** + * Filter which DailyQuizs to delete + */ + where?: DailyQuizWhereInput + /** + * Limit how many DailyQuizs to delete. + */ + limit?: number + } + + /** + * DailyQuiz.questions + */ + export type DailyQuiz$questionsArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + where?: QuizQuestionWhereInput + orderBy?: QuizQuestionOrderByWithRelationInput | QuizQuestionOrderByWithRelationInput[] + cursor?: QuizQuestionWhereUniqueInput + take?: number + skip?: number + distinct?: QuizQuestionScalarFieldEnum | QuizQuestionScalarFieldEnum[] + } + + /** + * DailyQuiz.submissions + */ + export type DailyQuiz$submissionsArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + where?: QuizSubmissionWhereInput + orderBy?: QuizSubmissionOrderByWithRelationInput | QuizSubmissionOrderByWithRelationInput[] + cursor?: QuizSubmissionWhereUniqueInput + take?: number + skip?: number + distinct?: QuizSubmissionScalarFieldEnum | QuizSubmissionScalarFieldEnum[] + } + + /** + * DailyQuiz.awardedCards + */ + export type DailyQuiz$awardedCardsArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + where?: GoldenCardWhereInput + orderBy?: GoldenCardOrderByWithRelationInput | GoldenCardOrderByWithRelationInput[] + cursor?: GoldenCardWhereUniqueInput + take?: number + skip?: number + distinct?: GoldenCardScalarFieldEnum | GoldenCardScalarFieldEnum[] + } + + /** + * DailyQuiz without action + */ + export type DailyQuizDefaultArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + } + + + /** + * Model QuizQuestion + */ + + export type AggregateQuizQuestion = { + _count: QuizQuestionCountAggregateOutputType | null + _avg: QuizQuestionAvgAggregateOutputType | null + _sum: QuizQuestionSumAggregateOutputType | null + _min: QuizQuestionMinAggregateOutputType | null + _max: QuizQuestionMaxAggregateOutputType | null + } + + export type QuizQuestionAvgAggregateOutputType = { + correctAnswer: number | null + order: number | null + } + + export type QuizQuestionSumAggregateOutputType = { + correctAnswer: number | null + order: number | null + } + + export type QuizQuestionMinAggregateOutputType = { + id: string | null + quizId: string | null + questionText: string | null + correctAnswer: number | null + order: number | null + } + + export type QuizQuestionMaxAggregateOutputType = { + id: string | null + quizId: string | null + questionText: string | null + correctAnswer: number | null + order: number | null + } + + export type QuizQuestionCountAggregateOutputType = { + id: number + quizId: number + questionText: number + options: number + correctAnswer: number + order: number + _all: number + } + + + export type QuizQuestionAvgAggregateInputType = { + correctAnswer?: true + order?: true + } + + export type QuizQuestionSumAggregateInputType = { + correctAnswer?: true + order?: true + } + + export type QuizQuestionMinAggregateInputType = { + id?: true + quizId?: true + questionText?: true + correctAnswer?: true + order?: true + } + + export type QuizQuestionMaxAggregateInputType = { + id?: true + quizId?: true + questionText?: true + correctAnswer?: true + order?: true + } + + export type QuizQuestionCountAggregateInputType = { + id?: true + quizId?: true + questionText?: true + options?: true + correctAnswer?: true + order?: true + _all?: true + } + + export type QuizQuestionAggregateArgs = { + /** + * Filter which QuizQuestion to aggregate. + */ + where?: QuizQuestionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of QuizQuestions to fetch. + */ + orderBy?: QuizQuestionOrderByWithRelationInput | QuizQuestionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: QuizQuestionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` QuizQuestions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` QuizQuestions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned QuizQuestions + **/ + _count?: true | QuizQuestionCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: QuizQuestionAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: QuizQuestionSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: QuizQuestionMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: QuizQuestionMaxAggregateInputType + } + + export type GetQuizQuestionAggregateType = { + [P in keyof T & keyof AggregateQuizQuestion]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type QuizQuestionGroupByArgs = { + where?: QuizQuestionWhereInput + orderBy?: QuizQuestionOrderByWithAggregationInput | QuizQuestionOrderByWithAggregationInput[] + by: QuizQuestionScalarFieldEnum[] | QuizQuestionScalarFieldEnum + having?: QuizQuestionScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: QuizQuestionCountAggregateInputType | true + _avg?: QuizQuestionAvgAggregateInputType + _sum?: QuizQuestionSumAggregateInputType + _min?: QuizQuestionMinAggregateInputType + _max?: QuizQuestionMaxAggregateInputType + } + + export type QuizQuestionGroupByOutputType = { + id: string + quizId: string + questionText: string + options: string[] + correctAnswer: number + order: number + _count: QuizQuestionCountAggregateOutputType | null + _avg: QuizQuestionAvgAggregateOutputType | null + _sum: QuizQuestionSumAggregateOutputType | null + _min: QuizQuestionMinAggregateOutputType | null + _max: QuizQuestionMaxAggregateOutputType | null + } + + type GetQuizQuestionGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof QuizQuestionGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type QuizQuestionSelect = $Extensions.GetSelect<{ + id?: boolean + quizId?: boolean + questionText?: boolean + options?: boolean + correctAnswer?: boolean + order?: boolean + quiz?: boolean | DailyQuizDefaultArgs + }, ExtArgs["result"]["quizQuestion"]> + + export type QuizQuestionSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + quizId?: boolean + questionText?: boolean + options?: boolean + correctAnswer?: boolean + order?: boolean + quiz?: boolean | DailyQuizDefaultArgs + }, ExtArgs["result"]["quizQuestion"]> + + export type QuizQuestionSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + quizId?: boolean + questionText?: boolean + options?: boolean + correctAnswer?: boolean + order?: boolean + quiz?: boolean | DailyQuizDefaultArgs + }, ExtArgs["result"]["quizQuestion"]> + + export type QuizQuestionSelectScalar = { + id?: boolean + quizId?: boolean + questionText?: boolean + options?: boolean + correctAnswer?: boolean + order?: boolean + } + + export type QuizQuestionOmit = $Extensions.GetOmit<"id" | "quizId" | "questionText" | "options" | "correctAnswer" | "order", ExtArgs["result"]["quizQuestion"]> + export type QuizQuestionInclude = { + quiz?: boolean | DailyQuizDefaultArgs + } + export type QuizQuestionIncludeCreateManyAndReturn = { + quiz?: boolean | DailyQuizDefaultArgs + } + export type QuizQuestionIncludeUpdateManyAndReturn = { + quiz?: boolean | DailyQuizDefaultArgs + } + + export type $QuizQuestionPayload = { + name: "QuizQuestion" + objects: { + quiz: Prisma.$DailyQuizPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + quizId: string + questionText: string + options: string[] + correctAnswer: number + order: number + }, ExtArgs["result"]["quizQuestion"]> + composites: {} + } + + type QuizQuestionGetPayload = $Result.GetResult + + type QuizQuestionCountArgs = + Omit & { + select?: QuizQuestionCountAggregateInputType | true + } + + export interface QuizQuestionDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['QuizQuestion'], meta: { name: 'QuizQuestion' } } + /** + * Find zero or one QuizQuestion that matches the filter. + * @param {QuizQuestionFindUniqueArgs} args - Arguments to find a QuizQuestion + * @example + * // Get one QuizQuestion + * const quizQuestion = await prisma.quizQuestion.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__QuizQuestionClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one QuizQuestion that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {QuizQuestionFindUniqueOrThrowArgs} args - Arguments to find a QuizQuestion + * @example + * // Get one QuizQuestion + * const quizQuestion = await prisma.quizQuestion.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__QuizQuestionClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first QuizQuestion that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizQuestionFindFirstArgs} args - Arguments to find a QuizQuestion + * @example + * // Get one QuizQuestion + * const quizQuestion = await prisma.quizQuestion.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__QuizQuestionClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first QuizQuestion that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizQuestionFindFirstOrThrowArgs} args - Arguments to find a QuizQuestion + * @example + * // Get one QuizQuestion + * const quizQuestion = await prisma.quizQuestion.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__QuizQuestionClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more QuizQuestions that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizQuestionFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all QuizQuestions + * const quizQuestions = await prisma.quizQuestion.findMany() + * + * // Get first 10 QuizQuestions + * const quizQuestions = await prisma.quizQuestion.findMany({ take: 10 }) + * + * // Only select the `id` + * const quizQuestionWithIdOnly = await prisma.quizQuestion.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a QuizQuestion. + * @param {QuizQuestionCreateArgs} args - Arguments to create a QuizQuestion. + * @example + * // Create one QuizQuestion + * const QuizQuestion = await prisma.quizQuestion.create({ + * data: { + * // ... data to create a QuizQuestion + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__QuizQuestionClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many QuizQuestions. + * @param {QuizQuestionCreateManyArgs} args - Arguments to create many QuizQuestions. + * @example + * // Create many QuizQuestions + * const quizQuestion = await prisma.quizQuestion.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many QuizQuestions and returns the data saved in the database. + * @param {QuizQuestionCreateManyAndReturnArgs} args - Arguments to create many QuizQuestions. + * @example + * // Create many QuizQuestions + * const quizQuestion = await prisma.quizQuestion.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many QuizQuestions and only return the `id` + * const quizQuestionWithIdOnly = await prisma.quizQuestion.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a QuizQuestion. + * @param {QuizQuestionDeleteArgs} args - Arguments to delete one QuizQuestion. + * @example + * // Delete one QuizQuestion + * const QuizQuestion = await prisma.quizQuestion.delete({ + * where: { + * // ... filter to delete one QuizQuestion + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__QuizQuestionClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one QuizQuestion. + * @param {QuizQuestionUpdateArgs} args - Arguments to update one QuizQuestion. + * @example + * // Update one QuizQuestion + * const quizQuestion = await prisma.quizQuestion.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__QuizQuestionClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more QuizQuestions. + * @param {QuizQuestionDeleteManyArgs} args - Arguments to filter QuizQuestions to delete. + * @example + * // Delete a few QuizQuestions + * const { count } = await prisma.quizQuestion.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more QuizQuestions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizQuestionUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many QuizQuestions + * const quizQuestion = await prisma.quizQuestion.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more QuizQuestions and returns the data updated in the database. + * @param {QuizQuestionUpdateManyAndReturnArgs} args - Arguments to update many QuizQuestions. + * @example + * // Update many QuizQuestions + * const quizQuestion = await prisma.quizQuestion.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more QuizQuestions and only return the `id` + * const quizQuestionWithIdOnly = await prisma.quizQuestion.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one QuizQuestion. + * @param {QuizQuestionUpsertArgs} args - Arguments to update or create a QuizQuestion. + * @example + * // Update or create a QuizQuestion + * const quizQuestion = await prisma.quizQuestion.upsert({ + * create: { + * // ... data to create a QuizQuestion + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the QuizQuestion we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__QuizQuestionClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of QuizQuestions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizQuestionCountArgs} args - Arguments to filter QuizQuestions to count. + * @example + * // Count the number of QuizQuestions + * const count = await prisma.quizQuestion.count({ + * where: { + * // ... the filter for the QuizQuestions we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a QuizQuestion. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizQuestionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by QuizQuestion. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizQuestionGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends QuizQuestionGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: QuizQuestionGroupByArgs['orderBy'] } + : { orderBy?: QuizQuestionGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetQuizQuestionGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the QuizQuestion model + */ + readonly fields: QuizQuestionFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for QuizQuestion. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__QuizQuestionClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + quiz = {}>(args?: Subset>): Prisma__DailyQuizClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the QuizQuestion model + */ + interface QuizQuestionFieldRefs { + readonly id: FieldRef<"QuizQuestion", 'String'> + readonly quizId: FieldRef<"QuizQuestion", 'String'> + readonly questionText: FieldRef<"QuizQuestion", 'String'> + readonly options: FieldRef<"QuizQuestion", 'String[]'> + readonly correctAnswer: FieldRef<"QuizQuestion", 'Int'> + readonly order: FieldRef<"QuizQuestion", 'Int'> + } + + + // Custom InputTypes + /** + * QuizQuestion findUnique + */ + export type QuizQuestionFindUniqueArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * Filter, which QuizQuestion to fetch. + */ + where: QuizQuestionWhereUniqueInput + } + + /** + * QuizQuestion findUniqueOrThrow + */ + export type QuizQuestionFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * Filter, which QuizQuestion to fetch. + */ + where: QuizQuestionWhereUniqueInput + } + + /** + * QuizQuestion findFirst + */ + export type QuizQuestionFindFirstArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * Filter, which QuizQuestion to fetch. + */ + where?: QuizQuestionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of QuizQuestions to fetch. + */ + orderBy?: QuizQuestionOrderByWithRelationInput | QuizQuestionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for QuizQuestions. + */ + cursor?: QuizQuestionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` QuizQuestions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` QuizQuestions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of QuizQuestions. + */ + distinct?: QuizQuestionScalarFieldEnum | QuizQuestionScalarFieldEnum[] + } + + /** + * QuizQuestion findFirstOrThrow + */ + export type QuizQuestionFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * Filter, which QuizQuestion to fetch. + */ + where?: QuizQuestionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of QuizQuestions to fetch. + */ + orderBy?: QuizQuestionOrderByWithRelationInput | QuizQuestionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for QuizQuestions. + */ + cursor?: QuizQuestionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` QuizQuestions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` QuizQuestions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of QuizQuestions. + */ + distinct?: QuizQuestionScalarFieldEnum | QuizQuestionScalarFieldEnum[] + } + + /** + * QuizQuestion findMany + */ + export type QuizQuestionFindManyArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * Filter, which QuizQuestions to fetch. + */ + where?: QuizQuestionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of QuizQuestions to fetch. + */ + orderBy?: QuizQuestionOrderByWithRelationInput | QuizQuestionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing QuizQuestions. + */ + cursor?: QuizQuestionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` QuizQuestions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` QuizQuestions. + */ + skip?: number + distinct?: QuizQuestionScalarFieldEnum | QuizQuestionScalarFieldEnum[] + } + + /** + * QuizQuestion create + */ + export type QuizQuestionCreateArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * The data needed to create a QuizQuestion. + */ + data: XOR + } + + /** + * QuizQuestion createMany + */ + export type QuizQuestionCreateManyArgs = { + /** + * The data used to create many QuizQuestions. + */ + data: QuizQuestionCreateManyInput | QuizQuestionCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * QuizQuestion createManyAndReturn + */ + export type QuizQuestionCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelectCreateManyAndReturn | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * The data used to create many QuizQuestions. + */ + data: QuizQuestionCreateManyInput | QuizQuestionCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionIncludeCreateManyAndReturn | null + } + + /** + * QuizQuestion update + */ + export type QuizQuestionUpdateArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * The data needed to update a QuizQuestion. + */ + data: XOR + /** + * Choose, which QuizQuestion to update. + */ + where: QuizQuestionWhereUniqueInput + } + + /** + * QuizQuestion updateMany + */ + export type QuizQuestionUpdateManyArgs = { + /** + * The data used to update QuizQuestions. + */ + data: XOR + /** + * Filter which QuizQuestions to update + */ + where?: QuizQuestionWhereInput + /** + * Limit how many QuizQuestions to update. + */ + limit?: number + } + + /** + * QuizQuestion updateManyAndReturn + */ + export type QuizQuestionUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * The data used to update QuizQuestions. + */ + data: XOR + /** + * Filter which QuizQuestions to update + */ + where?: QuizQuestionWhereInput + /** + * Limit how many QuizQuestions to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionIncludeUpdateManyAndReturn | null + } + + /** + * QuizQuestion upsert + */ + export type QuizQuestionUpsertArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * The filter to search for the QuizQuestion to update in case it exists. + */ + where: QuizQuestionWhereUniqueInput + /** + * In case the QuizQuestion found by the `where` argument doesn't exist, create a new QuizQuestion with this data. + */ + create: XOR + /** + * In case the QuizQuestion was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * QuizQuestion delete + */ + export type QuizQuestionDeleteArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + /** + * Filter which QuizQuestion to delete. + */ + where: QuizQuestionWhereUniqueInput + } + + /** + * QuizQuestion deleteMany + */ + export type QuizQuestionDeleteManyArgs = { + /** + * Filter which QuizQuestions to delete + */ + where?: QuizQuestionWhereInput + /** + * Limit how many QuizQuestions to delete. + */ + limit?: number + } + + /** + * QuizQuestion without action + */ + export type QuizQuestionDefaultArgs = { + /** + * Select specific fields to fetch from the QuizQuestion + */ + select?: QuizQuestionSelect | null + /** + * Omit specific fields from the QuizQuestion + */ + omit?: QuizQuestionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizQuestionInclude | null + } + + + /** + * Model QuizSubmission + */ + + export type AggregateQuizSubmission = { + _count: QuizSubmissionCountAggregateOutputType | null + _avg: QuizSubmissionAvgAggregateOutputType | null + _sum: QuizSubmissionSumAggregateOutputType | null + _min: QuizSubmissionMinAggregateOutputType | null + _max: QuizSubmissionMaxAggregateOutputType | null + } + + export type QuizSubmissionAvgAggregateOutputType = { + answers: number | null + correctAnswers: number | null + score: number | null + } + + export type QuizSubmissionSumAggregateOutputType = { + answers: number[] + correctAnswers: number | null + score: number | null + } + + export type QuizSubmissionMinAggregateOutputType = { + id: string | null + userId: string | null + quizId: string | null + correctAnswers: number | null + score: number | null + submittedAt: Date | null + } + + export type QuizSubmissionMaxAggregateOutputType = { + id: string | null + userId: string | null + quizId: string | null + correctAnswers: number | null + score: number | null + submittedAt: Date | null + } + + export type QuizSubmissionCountAggregateOutputType = { + id: number + userId: number + quizId: number + answers: number + correctAnswers: number + score: number + submittedAt: number + _all: number + } + + + export type QuizSubmissionAvgAggregateInputType = { + answers?: true + correctAnswers?: true + score?: true + } + + export type QuizSubmissionSumAggregateInputType = { + answers?: true + correctAnswers?: true + score?: true + } + + export type QuizSubmissionMinAggregateInputType = { + id?: true + userId?: true + quizId?: true + correctAnswers?: true + score?: true + submittedAt?: true + } + + export type QuizSubmissionMaxAggregateInputType = { + id?: true + userId?: true + quizId?: true + correctAnswers?: true + score?: true + submittedAt?: true + } + + export type QuizSubmissionCountAggregateInputType = { + id?: true + userId?: true + quizId?: true + answers?: true + correctAnswers?: true + score?: true + submittedAt?: true + _all?: true + } + + export type QuizSubmissionAggregateArgs = { + /** + * Filter which QuizSubmission to aggregate. + */ + where?: QuizSubmissionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of QuizSubmissions to fetch. + */ + orderBy?: QuizSubmissionOrderByWithRelationInput | QuizSubmissionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: QuizSubmissionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` QuizSubmissions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` QuizSubmissions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned QuizSubmissions + **/ + _count?: true | QuizSubmissionCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: QuizSubmissionAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: QuizSubmissionSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: QuizSubmissionMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: QuizSubmissionMaxAggregateInputType + } + + export type GetQuizSubmissionAggregateType = { + [P in keyof T & keyof AggregateQuizSubmission]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type QuizSubmissionGroupByArgs = { + where?: QuizSubmissionWhereInput + orderBy?: QuizSubmissionOrderByWithAggregationInput | QuizSubmissionOrderByWithAggregationInput[] + by: QuizSubmissionScalarFieldEnum[] | QuizSubmissionScalarFieldEnum + having?: QuizSubmissionScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: QuizSubmissionCountAggregateInputType | true + _avg?: QuizSubmissionAvgAggregateInputType + _sum?: QuizSubmissionSumAggregateInputType + _min?: QuizSubmissionMinAggregateInputType + _max?: QuizSubmissionMaxAggregateInputType + } + + export type QuizSubmissionGroupByOutputType = { + id: string + userId: string + quizId: string + answers: number[] + correctAnswers: number + score: number + submittedAt: Date + _count: QuizSubmissionCountAggregateOutputType | null + _avg: QuizSubmissionAvgAggregateOutputType | null + _sum: QuizSubmissionSumAggregateOutputType | null + _min: QuizSubmissionMinAggregateOutputType | null + _max: QuizSubmissionMaxAggregateOutputType | null + } + + type GetQuizSubmissionGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof QuizSubmissionGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type QuizSubmissionSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + quizId?: boolean + answers?: boolean + correctAnswers?: boolean + score?: boolean + submittedAt?: boolean + user?: boolean | UserDefaultArgs + quiz?: boolean | DailyQuizDefaultArgs + }, ExtArgs["result"]["quizSubmission"]> + + export type QuizSubmissionSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + quizId?: boolean + answers?: boolean + correctAnswers?: boolean + score?: boolean + submittedAt?: boolean + user?: boolean | UserDefaultArgs + quiz?: boolean | DailyQuizDefaultArgs + }, ExtArgs["result"]["quizSubmission"]> + + export type QuizSubmissionSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + quizId?: boolean + answers?: boolean + correctAnswers?: boolean + score?: boolean + submittedAt?: boolean + user?: boolean | UserDefaultArgs + quiz?: boolean | DailyQuizDefaultArgs + }, ExtArgs["result"]["quizSubmission"]> + + export type QuizSubmissionSelectScalar = { + id?: boolean + userId?: boolean + quizId?: boolean + answers?: boolean + correctAnswers?: boolean + score?: boolean + submittedAt?: boolean + } + + export type QuizSubmissionOmit = $Extensions.GetOmit<"id" | "userId" | "quizId" | "answers" | "correctAnswers" | "score" | "submittedAt", ExtArgs["result"]["quizSubmission"]> + export type QuizSubmissionInclude = { + user?: boolean | UserDefaultArgs + quiz?: boolean | DailyQuizDefaultArgs + } + export type QuizSubmissionIncludeCreateManyAndReturn = { + user?: boolean | UserDefaultArgs + quiz?: boolean | DailyQuizDefaultArgs + } + export type QuizSubmissionIncludeUpdateManyAndReturn = { + user?: boolean | UserDefaultArgs + quiz?: boolean | DailyQuizDefaultArgs + } + + export type $QuizSubmissionPayload = { + name: "QuizSubmission" + objects: { + user: Prisma.$UserPayload + quiz: Prisma.$DailyQuizPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + userId: string + quizId: string + answers: number[] + correctAnswers: number + score: number + submittedAt: Date + }, ExtArgs["result"]["quizSubmission"]> + composites: {} + } + + type QuizSubmissionGetPayload = $Result.GetResult + + type QuizSubmissionCountArgs = + Omit & { + select?: QuizSubmissionCountAggregateInputType | true + } + + export interface QuizSubmissionDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['QuizSubmission'], meta: { name: 'QuizSubmission' } } + /** + * Find zero or one QuizSubmission that matches the filter. + * @param {QuizSubmissionFindUniqueArgs} args - Arguments to find a QuizSubmission + * @example + * // Get one QuizSubmission + * const quizSubmission = await prisma.quizSubmission.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__QuizSubmissionClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one QuizSubmission that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {QuizSubmissionFindUniqueOrThrowArgs} args - Arguments to find a QuizSubmission + * @example + * // Get one QuizSubmission + * const quizSubmission = await prisma.quizSubmission.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__QuizSubmissionClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first QuizSubmission that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizSubmissionFindFirstArgs} args - Arguments to find a QuizSubmission + * @example + * // Get one QuizSubmission + * const quizSubmission = await prisma.quizSubmission.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__QuizSubmissionClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first QuizSubmission that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizSubmissionFindFirstOrThrowArgs} args - Arguments to find a QuizSubmission + * @example + * // Get one QuizSubmission + * const quizSubmission = await prisma.quizSubmission.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__QuizSubmissionClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more QuizSubmissions that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizSubmissionFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all QuizSubmissions + * const quizSubmissions = await prisma.quizSubmission.findMany() + * + * // Get first 10 QuizSubmissions + * const quizSubmissions = await prisma.quizSubmission.findMany({ take: 10 }) + * + * // Only select the `id` + * const quizSubmissionWithIdOnly = await prisma.quizSubmission.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a QuizSubmission. + * @param {QuizSubmissionCreateArgs} args - Arguments to create a QuizSubmission. + * @example + * // Create one QuizSubmission + * const QuizSubmission = await prisma.quizSubmission.create({ + * data: { + * // ... data to create a QuizSubmission + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__QuizSubmissionClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many QuizSubmissions. + * @param {QuizSubmissionCreateManyArgs} args - Arguments to create many QuizSubmissions. + * @example + * // Create many QuizSubmissions + * const quizSubmission = await prisma.quizSubmission.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many QuizSubmissions and returns the data saved in the database. + * @param {QuizSubmissionCreateManyAndReturnArgs} args - Arguments to create many QuizSubmissions. + * @example + * // Create many QuizSubmissions + * const quizSubmission = await prisma.quizSubmission.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many QuizSubmissions and only return the `id` + * const quizSubmissionWithIdOnly = await prisma.quizSubmission.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a QuizSubmission. + * @param {QuizSubmissionDeleteArgs} args - Arguments to delete one QuizSubmission. + * @example + * // Delete one QuizSubmission + * const QuizSubmission = await prisma.quizSubmission.delete({ + * where: { + * // ... filter to delete one QuizSubmission + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__QuizSubmissionClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one QuizSubmission. + * @param {QuizSubmissionUpdateArgs} args - Arguments to update one QuizSubmission. + * @example + * // Update one QuizSubmission + * const quizSubmission = await prisma.quizSubmission.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__QuizSubmissionClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more QuizSubmissions. + * @param {QuizSubmissionDeleteManyArgs} args - Arguments to filter QuizSubmissions to delete. + * @example + * // Delete a few QuizSubmissions + * const { count } = await prisma.quizSubmission.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more QuizSubmissions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizSubmissionUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many QuizSubmissions + * const quizSubmission = await prisma.quizSubmission.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more QuizSubmissions and returns the data updated in the database. + * @param {QuizSubmissionUpdateManyAndReturnArgs} args - Arguments to update many QuizSubmissions. + * @example + * // Update many QuizSubmissions + * const quizSubmission = await prisma.quizSubmission.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more QuizSubmissions and only return the `id` + * const quizSubmissionWithIdOnly = await prisma.quizSubmission.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one QuizSubmission. + * @param {QuizSubmissionUpsertArgs} args - Arguments to update or create a QuizSubmission. + * @example + * // Update or create a QuizSubmission + * const quizSubmission = await prisma.quizSubmission.upsert({ + * create: { + * // ... data to create a QuizSubmission + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the QuizSubmission we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__QuizSubmissionClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of QuizSubmissions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizSubmissionCountArgs} args - Arguments to filter QuizSubmissions to count. + * @example + * // Count the number of QuizSubmissions + * const count = await prisma.quizSubmission.count({ + * where: { + * // ... the filter for the QuizSubmissions we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a QuizSubmission. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizSubmissionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by QuizSubmission. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {QuizSubmissionGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends QuizSubmissionGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: QuizSubmissionGroupByArgs['orderBy'] } + : { orderBy?: QuizSubmissionGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetQuizSubmissionGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the QuizSubmission model + */ + readonly fields: QuizSubmissionFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for QuizSubmission. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__QuizSubmissionClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + quiz = {}>(args?: Subset>): Prisma__DailyQuizClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the QuizSubmission model + */ + interface QuizSubmissionFieldRefs { + readonly id: FieldRef<"QuizSubmission", 'String'> + readonly userId: FieldRef<"QuizSubmission", 'String'> + readonly quizId: FieldRef<"QuizSubmission", 'String'> + readonly answers: FieldRef<"QuizSubmission", 'Int[]'> + readonly correctAnswers: FieldRef<"QuizSubmission", 'Int'> + readonly score: FieldRef<"QuizSubmission", 'Int'> + readonly submittedAt: FieldRef<"QuizSubmission", 'DateTime'> + } + + + // Custom InputTypes + /** + * QuizSubmission findUnique + */ + export type QuizSubmissionFindUniqueArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * Filter, which QuizSubmission to fetch. + */ + where: QuizSubmissionWhereUniqueInput + } + + /** + * QuizSubmission findUniqueOrThrow + */ + export type QuizSubmissionFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * Filter, which QuizSubmission to fetch. + */ + where: QuizSubmissionWhereUniqueInput + } + + /** + * QuizSubmission findFirst + */ + export type QuizSubmissionFindFirstArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * Filter, which QuizSubmission to fetch. + */ + where?: QuizSubmissionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of QuizSubmissions to fetch. + */ + orderBy?: QuizSubmissionOrderByWithRelationInput | QuizSubmissionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for QuizSubmissions. + */ + cursor?: QuizSubmissionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` QuizSubmissions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` QuizSubmissions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of QuizSubmissions. + */ + distinct?: QuizSubmissionScalarFieldEnum | QuizSubmissionScalarFieldEnum[] + } + + /** + * QuizSubmission findFirstOrThrow + */ + export type QuizSubmissionFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * Filter, which QuizSubmission to fetch. + */ + where?: QuizSubmissionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of QuizSubmissions to fetch. + */ + orderBy?: QuizSubmissionOrderByWithRelationInput | QuizSubmissionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for QuizSubmissions. + */ + cursor?: QuizSubmissionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` QuizSubmissions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` QuizSubmissions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of QuizSubmissions. + */ + distinct?: QuizSubmissionScalarFieldEnum | QuizSubmissionScalarFieldEnum[] + } + + /** + * QuizSubmission findMany + */ + export type QuizSubmissionFindManyArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * Filter, which QuizSubmissions to fetch. + */ + where?: QuizSubmissionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of QuizSubmissions to fetch. + */ + orderBy?: QuizSubmissionOrderByWithRelationInput | QuizSubmissionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing QuizSubmissions. + */ + cursor?: QuizSubmissionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` QuizSubmissions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` QuizSubmissions. + */ + skip?: number + distinct?: QuizSubmissionScalarFieldEnum | QuizSubmissionScalarFieldEnum[] + } + + /** + * QuizSubmission create + */ + export type QuizSubmissionCreateArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * The data needed to create a QuizSubmission. + */ + data: XOR + } + + /** + * QuizSubmission createMany + */ + export type QuizSubmissionCreateManyArgs = { + /** + * The data used to create many QuizSubmissions. + */ + data: QuizSubmissionCreateManyInput | QuizSubmissionCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * QuizSubmission createManyAndReturn + */ + export type QuizSubmissionCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelectCreateManyAndReturn | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * The data used to create many QuizSubmissions. + */ + data: QuizSubmissionCreateManyInput | QuizSubmissionCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionIncludeCreateManyAndReturn | null + } + + /** + * QuizSubmission update + */ + export type QuizSubmissionUpdateArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * The data needed to update a QuizSubmission. + */ + data: XOR + /** + * Choose, which QuizSubmission to update. + */ + where: QuizSubmissionWhereUniqueInput + } + + /** + * QuizSubmission updateMany + */ + export type QuizSubmissionUpdateManyArgs = { + /** + * The data used to update QuizSubmissions. + */ + data: XOR + /** + * Filter which QuizSubmissions to update + */ + where?: QuizSubmissionWhereInput + /** + * Limit how many QuizSubmissions to update. + */ + limit?: number + } + + /** + * QuizSubmission updateManyAndReturn + */ + export type QuizSubmissionUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * The data used to update QuizSubmissions. + */ + data: XOR + /** + * Filter which QuizSubmissions to update + */ + where?: QuizSubmissionWhereInput + /** + * Limit how many QuizSubmissions to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionIncludeUpdateManyAndReturn | null + } + + /** + * QuizSubmission upsert + */ + export type QuizSubmissionUpsertArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * The filter to search for the QuizSubmission to update in case it exists. + */ + where: QuizSubmissionWhereUniqueInput + /** + * In case the QuizSubmission found by the `where` argument doesn't exist, create a new QuizSubmission with this data. + */ + create: XOR + /** + * In case the QuizSubmission was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * QuizSubmission delete + */ + export type QuizSubmissionDeleteArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + /** + * Filter which QuizSubmission to delete. + */ + where: QuizSubmissionWhereUniqueInput + } + + /** + * QuizSubmission deleteMany + */ + export type QuizSubmissionDeleteManyArgs = { + /** + * Filter which QuizSubmissions to delete + */ + where?: QuizSubmissionWhereInput + /** + * Limit how many QuizSubmissions to delete. + */ + limit?: number + } + + /** + * QuizSubmission without action + */ + export type QuizSubmissionDefaultArgs = { + /** + * Select specific fields to fetch from the QuizSubmission + */ + select?: QuizSubmissionSelect | null + /** + * Omit specific fields from the QuizSubmission + */ + omit?: QuizSubmissionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: QuizSubmissionInclude | null + } + + + /** + * Model GoldenCard + */ + + export type AggregateGoldenCard = { + _count: GoldenCardCountAggregateOutputType | null + _min: GoldenCardMinAggregateOutputType | null + _max: GoldenCardMaxAggregateOutputType | null + } + + export type GoldenCardMinAggregateOutputType = { + id: string | null + userId: string | null + quizId: string | null + playerId: string | null + cardTier: $Enums.CardTier | null + status: $Enums.GoldenCardStatus | null + state: $Enums.SpecialCardState | null + acquiredDate: Date | null + openedAt: Date | null + } + + export type GoldenCardMaxAggregateOutputType = { + id: string | null + userId: string | null + quizId: string | null + playerId: string | null + cardTier: $Enums.CardTier | null + status: $Enums.GoldenCardStatus | null + state: $Enums.SpecialCardState | null + acquiredDate: Date | null + openedAt: Date | null + } + + export type GoldenCardCountAggregateOutputType = { + id: number + userId: number + quizId: number + playerId: number + cardTier: number + status: number + state: number + acquiredDate: number + openedAt: number + _all: number + } + + + export type GoldenCardMinAggregateInputType = { + id?: true + userId?: true + quizId?: true + playerId?: true + cardTier?: true + status?: true + state?: true + acquiredDate?: true + openedAt?: true + } + + export type GoldenCardMaxAggregateInputType = { + id?: true + userId?: true + quizId?: true + playerId?: true + cardTier?: true + status?: true + state?: true + acquiredDate?: true + openedAt?: true + } + + export type GoldenCardCountAggregateInputType = { + id?: true + userId?: true + quizId?: true + playerId?: true + cardTier?: true + status?: true + state?: true + acquiredDate?: true + openedAt?: true + _all?: true + } + + export type GoldenCardAggregateArgs = { + /** + * Filter which GoldenCard to aggregate. + */ + where?: GoldenCardWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of GoldenCards to fetch. + */ + orderBy?: GoldenCardOrderByWithRelationInput | GoldenCardOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: GoldenCardWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` GoldenCards from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` GoldenCards. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned GoldenCards + **/ + _count?: true | GoldenCardCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: GoldenCardMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: GoldenCardMaxAggregateInputType + } + + export type GetGoldenCardAggregateType = { + [P in keyof T & keyof AggregateGoldenCard]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type GoldenCardGroupByArgs = { + where?: GoldenCardWhereInput + orderBy?: GoldenCardOrderByWithAggregationInput | GoldenCardOrderByWithAggregationInput[] + by: GoldenCardScalarFieldEnum[] | GoldenCardScalarFieldEnum + having?: GoldenCardScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: GoldenCardCountAggregateInputType | true + _min?: GoldenCardMinAggregateInputType + _max?: GoldenCardMaxAggregateInputType + } + + export type GoldenCardGroupByOutputType = { + id: string + userId: string + quizId: string | null + playerId: string + cardTier: $Enums.CardTier + status: $Enums.GoldenCardStatus + state: $Enums.SpecialCardState + acquiredDate: Date + openedAt: Date | null + _count: GoldenCardCountAggregateOutputType | null + _min: GoldenCardMinAggregateOutputType | null + _max: GoldenCardMaxAggregateOutputType | null + } + + type GetGoldenCardGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof GoldenCardGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type GoldenCardSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + quizId?: boolean + playerId?: boolean + cardTier?: boolean + status?: boolean + state?: boolean + acquiredDate?: boolean + openedAt?: boolean + user?: boolean | UserDefaultArgs + quiz?: boolean | GoldenCard$quizArgs + player?: boolean | PlayerDefaultArgs + teamPlayer?: boolean | GoldenCard$teamPlayerArgs + }, ExtArgs["result"]["goldenCard"]> + + export type GoldenCardSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + quizId?: boolean + playerId?: boolean + cardTier?: boolean + status?: boolean + state?: boolean + acquiredDate?: boolean + openedAt?: boolean + user?: boolean | UserDefaultArgs + quiz?: boolean | GoldenCard$quizArgs + player?: boolean | PlayerDefaultArgs + }, ExtArgs["result"]["goldenCard"]> + + export type GoldenCardSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + quizId?: boolean + playerId?: boolean + cardTier?: boolean + status?: boolean + state?: boolean + acquiredDate?: boolean + openedAt?: boolean + user?: boolean | UserDefaultArgs + quiz?: boolean | GoldenCard$quizArgs + player?: boolean | PlayerDefaultArgs + }, ExtArgs["result"]["goldenCard"]> + + export type GoldenCardSelectScalar = { + id?: boolean + userId?: boolean + quizId?: boolean + playerId?: boolean + cardTier?: boolean + status?: boolean + state?: boolean + acquiredDate?: boolean + openedAt?: boolean + } + + export type GoldenCardOmit = $Extensions.GetOmit<"id" | "userId" | "quizId" | "playerId" | "cardTier" | "status" | "state" | "acquiredDate" | "openedAt", ExtArgs["result"]["goldenCard"]> + export type GoldenCardInclude = { + user?: boolean | UserDefaultArgs + quiz?: boolean | GoldenCard$quizArgs + player?: boolean | PlayerDefaultArgs + teamPlayer?: boolean | GoldenCard$teamPlayerArgs + } + export type GoldenCardIncludeCreateManyAndReturn = { + user?: boolean | UserDefaultArgs + quiz?: boolean | GoldenCard$quizArgs + player?: boolean | PlayerDefaultArgs + } + export type GoldenCardIncludeUpdateManyAndReturn = { + user?: boolean | UserDefaultArgs + quiz?: boolean | GoldenCard$quizArgs + player?: boolean | PlayerDefaultArgs + } + + export type $GoldenCardPayload = { + name: "GoldenCard" + objects: { + user: Prisma.$UserPayload + quiz: Prisma.$DailyQuizPayload | null + player: Prisma.$PlayerPayload + teamPlayer: Prisma.$TeamPlayerPayload | null + } + scalars: $Extensions.GetPayloadResult<{ + id: string + userId: string + quizId: string | null + playerId: string + cardTier: $Enums.CardTier + status: $Enums.GoldenCardStatus + state: $Enums.SpecialCardState + acquiredDate: Date + openedAt: Date | null + }, ExtArgs["result"]["goldenCard"]> + composites: {} + } + + type GoldenCardGetPayload = $Result.GetResult + + type GoldenCardCountArgs = + Omit & { + select?: GoldenCardCountAggregateInputType | true + } + + export interface GoldenCardDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['GoldenCard'], meta: { name: 'GoldenCard' } } + /** + * Find zero or one GoldenCard that matches the filter. + * @param {GoldenCardFindUniqueArgs} args - Arguments to find a GoldenCard + * @example + * // Get one GoldenCard + * const goldenCard = await prisma.goldenCard.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__GoldenCardClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one GoldenCard that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {GoldenCardFindUniqueOrThrowArgs} args - Arguments to find a GoldenCard + * @example + * // Get one GoldenCard + * const goldenCard = await prisma.goldenCard.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__GoldenCardClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first GoldenCard that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GoldenCardFindFirstArgs} args - Arguments to find a GoldenCard + * @example + * // Get one GoldenCard + * const goldenCard = await prisma.goldenCard.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__GoldenCardClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first GoldenCard that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GoldenCardFindFirstOrThrowArgs} args - Arguments to find a GoldenCard + * @example + * // Get one GoldenCard + * const goldenCard = await prisma.goldenCard.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__GoldenCardClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more GoldenCards that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GoldenCardFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all GoldenCards + * const goldenCards = await prisma.goldenCard.findMany() + * + * // Get first 10 GoldenCards + * const goldenCards = await prisma.goldenCard.findMany({ take: 10 }) + * + * // Only select the `id` + * const goldenCardWithIdOnly = await prisma.goldenCard.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a GoldenCard. + * @param {GoldenCardCreateArgs} args - Arguments to create a GoldenCard. + * @example + * // Create one GoldenCard + * const GoldenCard = await prisma.goldenCard.create({ + * data: { + * // ... data to create a GoldenCard + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__GoldenCardClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many GoldenCards. + * @param {GoldenCardCreateManyArgs} args - Arguments to create many GoldenCards. + * @example + * // Create many GoldenCards + * const goldenCard = await prisma.goldenCard.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many GoldenCards and returns the data saved in the database. + * @param {GoldenCardCreateManyAndReturnArgs} args - Arguments to create many GoldenCards. + * @example + * // Create many GoldenCards + * const goldenCard = await prisma.goldenCard.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many GoldenCards and only return the `id` + * const goldenCardWithIdOnly = await prisma.goldenCard.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a GoldenCard. + * @param {GoldenCardDeleteArgs} args - Arguments to delete one GoldenCard. + * @example + * // Delete one GoldenCard + * const GoldenCard = await prisma.goldenCard.delete({ + * where: { + * // ... filter to delete one GoldenCard + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__GoldenCardClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one GoldenCard. + * @param {GoldenCardUpdateArgs} args - Arguments to update one GoldenCard. + * @example + * // Update one GoldenCard + * const goldenCard = await prisma.goldenCard.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__GoldenCardClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more GoldenCards. + * @param {GoldenCardDeleteManyArgs} args - Arguments to filter GoldenCards to delete. + * @example + * // Delete a few GoldenCards + * const { count } = await prisma.goldenCard.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more GoldenCards. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GoldenCardUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many GoldenCards + * const goldenCard = await prisma.goldenCard.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more GoldenCards and returns the data updated in the database. + * @param {GoldenCardUpdateManyAndReturnArgs} args - Arguments to update many GoldenCards. + * @example + * // Update many GoldenCards + * const goldenCard = await prisma.goldenCard.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more GoldenCards and only return the `id` + * const goldenCardWithIdOnly = await prisma.goldenCard.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one GoldenCard. + * @param {GoldenCardUpsertArgs} args - Arguments to update or create a GoldenCard. + * @example + * // Update or create a GoldenCard + * const goldenCard = await prisma.goldenCard.upsert({ + * create: { + * // ... data to create a GoldenCard + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the GoldenCard we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__GoldenCardClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of GoldenCards. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GoldenCardCountArgs} args - Arguments to filter GoldenCards to count. + * @example + * // Count the number of GoldenCards + * const count = await prisma.goldenCard.count({ + * where: { + * // ... the filter for the GoldenCards we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a GoldenCard. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GoldenCardAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by GoldenCard. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {GoldenCardGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends GoldenCardGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: GoldenCardGroupByArgs['orderBy'] } + : { orderBy?: GoldenCardGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetGoldenCardGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the GoldenCard model + */ + readonly fields: GoldenCardFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for GoldenCard. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__GoldenCardClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + quiz = {}>(args?: Subset>): Prisma__DailyQuizClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + player = {}>(args?: Subset>): Prisma__PlayerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + teamPlayer = {}>(args?: Subset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the GoldenCard model + */ + interface GoldenCardFieldRefs { + readonly id: FieldRef<"GoldenCard", 'String'> + readonly userId: FieldRef<"GoldenCard", 'String'> + readonly quizId: FieldRef<"GoldenCard", 'String'> + readonly playerId: FieldRef<"GoldenCard", 'String'> + readonly cardTier: FieldRef<"GoldenCard", 'CardTier'> + readonly status: FieldRef<"GoldenCard", 'GoldenCardStatus'> + readonly state: FieldRef<"GoldenCard", 'SpecialCardState'> + readonly acquiredDate: FieldRef<"GoldenCard", 'DateTime'> + readonly openedAt: FieldRef<"GoldenCard", 'DateTime'> + } + + + // Custom InputTypes + /** + * GoldenCard findUnique + */ + export type GoldenCardFindUniqueArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * Filter, which GoldenCard to fetch. + */ + where: GoldenCardWhereUniqueInput + } + + /** + * GoldenCard findUniqueOrThrow + */ + export type GoldenCardFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * Filter, which GoldenCard to fetch. + */ + where: GoldenCardWhereUniqueInput + } + + /** + * GoldenCard findFirst + */ + export type GoldenCardFindFirstArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * Filter, which GoldenCard to fetch. + */ + where?: GoldenCardWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of GoldenCards to fetch. + */ + orderBy?: GoldenCardOrderByWithRelationInput | GoldenCardOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for GoldenCards. + */ + cursor?: GoldenCardWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` GoldenCards from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` GoldenCards. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of GoldenCards. + */ + distinct?: GoldenCardScalarFieldEnum | GoldenCardScalarFieldEnum[] + } + + /** + * GoldenCard findFirstOrThrow + */ + export type GoldenCardFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * Filter, which GoldenCard to fetch. + */ + where?: GoldenCardWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of GoldenCards to fetch. + */ + orderBy?: GoldenCardOrderByWithRelationInput | GoldenCardOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for GoldenCards. + */ + cursor?: GoldenCardWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` GoldenCards from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` GoldenCards. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of GoldenCards. + */ + distinct?: GoldenCardScalarFieldEnum | GoldenCardScalarFieldEnum[] + } + + /** + * GoldenCard findMany + */ + export type GoldenCardFindManyArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * Filter, which GoldenCards to fetch. + */ + where?: GoldenCardWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of GoldenCards to fetch. + */ + orderBy?: GoldenCardOrderByWithRelationInput | GoldenCardOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing GoldenCards. + */ + cursor?: GoldenCardWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` GoldenCards from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` GoldenCards. + */ + skip?: number + distinct?: GoldenCardScalarFieldEnum | GoldenCardScalarFieldEnum[] + } + + /** + * GoldenCard create + */ + export type GoldenCardCreateArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * The data needed to create a GoldenCard. + */ + data: XOR + } + + /** + * GoldenCard createMany + */ + export type GoldenCardCreateManyArgs = { + /** + * The data used to create many GoldenCards. + */ + data: GoldenCardCreateManyInput | GoldenCardCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * GoldenCard createManyAndReturn + */ + export type GoldenCardCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelectCreateManyAndReturn | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * The data used to create many GoldenCards. + */ + data: GoldenCardCreateManyInput | GoldenCardCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardIncludeCreateManyAndReturn | null + } + + /** + * GoldenCard update + */ + export type GoldenCardUpdateArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * The data needed to update a GoldenCard. + */ + data: XOR + /** + * Choose, which GoldenCard to update. + */ + where: GoldenCardWhereUniqueInput + } + + /** + * GoldenCard updateMany + */ + export type GoldenCardUpdateManyArgs = { + /** + * The data used to update GoldenCards. + */ + data: XOR + /** + * Filter which GoldenCards to update + */ + where?: GoldenCardWhereInput + /** + * Limit how many GoldenCards to update. + */ + limit?: number + } + + /** + * GoldenCard updateManyAndReturn + */ + export type GoldenCardUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * The data used to update GoldenCards. + */ + data: XOR + /** + * Filter which GoldenCards to update + */ + where?: GoldenCardWhereInput + /** + * Limit how many GoldenCards to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardIncludeUpdateManyAndReturn | null + } + + /** + * GoldenCard upsert + */ + export type GoldenCardUpsertArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * The filter to search for the GoldenCard to update in case it exists. + */ + where: GoldenCardWhereUniqueInput + /** + * In case the GoldenCard found by the `where` argument doesn't exist, create a new GoldenCard with this data. + */ + create: XOR + /** + * In case the GoldenCard was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * GoldenCard delete + */ + export type GoldenCardDeleteArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + /** + * Filter which GoldenCard to delete. + */ + where: GoldenCardWhereUniqueInput + } + + /** + * GoldenCard deleteMany + */ + export type GoldenCardDeleteManyArgs = { + /** + * Filter which GoldenCards to delete + */ + where?: GoldenCardWhereInput + /** + * Limit how many GoldenCards to delete. + */ + limit?: number + } + + /** + * GoldenCard.quiz + */ + export type GoldenCard$quizArgs = { + /** + * Select specific fields to fetch from the DailyQuiz + */ + select?: DailyQuizSelect | null + /** + * Omit specific fields from the DailyQuiz + */ + omit?: DailyQuizOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: DailyQuizInclude | null + where?: DailyQuizWhereInput + } + + /** + * GoldenCard.teamPlayer + */ + export type GoldenCard$teamPlayerArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + where?: TeamPlayerWhereInput + } + + /** + * GoldenCard without action + */ + export type GoldenCardDefaultArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + } + + + /** + * Model Session + */ + + export type AggregateSession = { + _count: SessionCountAggregateOutputType | null + _min: SessionMinAggregateOutputType | null + _max: SessionMaxAggregateOutputType | null + } + + export type SessionMinAggregateOutputType = { + id: string | null + sessionToken: string | null + userId: string | null + expires: Date | null + } + + export type SessionMaxAggregateOutputType = { + id: string | null + sessionToken: string | null + userId: string | null + expires: Date | null + } + + export type SessionCountAggregateOutputType = { + id: number + sessionToken: number + userId: number + expires: number + _all: number + } + + + export type SessionMinAggregateInputType = { + id?: true + sessionToken?: true + userId?: true + expires?: true + } + + export type SessionMaxAggregateInputType = { + id?: true + sessionToken?: true + userId?: true + expires?: true + } + + export type SessionCountAggregateInputType = { + id?: true + sessionToken?: true + userId?: true + expires?: true + _all?: true + } + + export type SessionAggregateArgs = { + /** + * Filter which Session to aggregate. + */ + where?: SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Sessions + **/ + _count?: true | SessionCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: SessionMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: SessionMaxAggregateInputType + } + + export type GetSessionAggregateType = { + [P in keyof T & keyof AggregateSession]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type SessionGroupByArgs = { + where?: SessionWhereInput + orderBy?: SessionOrderByWithAggregationInput | SessionOrderByWithAggregationInput[] + by: SessionScalarFieldEnum[] | SessionScalarFieldEnum + having?: SessionScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: SessionCountAggregateInputType | true + _min?: SessionMinAggregateInputType + _max?: SessionMaxAggregateInputType + } + + export type SessionGroupByOutputType = { + id: string + sessionToken: string + userId: string + expires: Date + _count: SessionCountAggregateOutputType | null + _min: SessionMinAggregateOutputType | null + _max: SessionMaxAggregateOutputType | null + } + + type GetSessionGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof SessionGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type SessionSelect = $Extensions.GetSelect<{ + id?: boolean + sessionToken?: boolean + userId?: boolean + expires?: boolean + user?: boolean | UserDefaultArgs + }, ExtArgs["result"]["session"]> + + export type SessionSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + sessionToken?: boolean + userId?: boolean + expires?: boolean + user?: boolean | UserDefaultArgs + }, ExtArgs["result"]["session"]> + + export type SessionSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + sessionToken?: boolean + userId?: boolean + expires?: boolean + user?: boolean | UserDefaultArgs + }, ExtArgs["result"]["session"]> + + export type SessionSelectScalar = { + id?: boolean + sessionToken?: boolean + userId?: boolean + expires?: boolean + } + + export type SessionOmit = $Extensions.GetOmit<"id" | "sessionToken" | "userId" | "expires", ExtArgs["result"]["session"]> + export type SessionInclude = { + user?: boolean | UserDefaultArgs + } + export type SessionIncludeCreateManyAndReturn = { + user?: boolean | UserDefaultArgs + } + export type SessionIncludeUpdateManyAndReturn = { + user?: boolean | UserDefaultArgs + } + + export type $SessionPayload = { + name: "Session" + objects: { + user: Prisma.$UserPayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + sessionToken: string + userId: string + expires: Date + }, ExtArgs["result"]["session"]> + composites: {} + } + + type SessionGetPayload = $Result.GetResult + + type SessionCountArgs = + Omit & { + select?: SessionCountAggregateInputType | true + } + + export interface SessionDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Session'], meta: { name: 'Session' } } + /** + * Find zero or one Session that matches the filter. + * @param {SessionFindUniqueArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Session that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {SessionFindUniqueOrThrowArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Session that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionFindFirstArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Session that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionFindFirstOrThrowArgs} args - Arguments to find a Session + * @example + * // Get one Session + * const session = await prisma.session.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Sessions that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Sessions + * const sessions = await prisma.session.findMany() + * + * // Get first 10 Sessions + * const sessions = await prisma.session.findMany({ take: 10 }) + * + * // Only select the `id` + * const sessionWithIdOnly = await prisma.session.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Session. + * @param {SessionCreateArgs} args - Arguments to create a Session. + * @example + * // Create one Session + * const Session = await prisma.session.create({ + * data: { + * // ... data to create a Session + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Sessions. + * @param {SessionCreateManyArgs} args - Arguments to create many Sessions. + * @example + * // Create many Sessions + * const session = await prisma.session.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Sessions and returns the data saved in the database. + * @param {SessionCreateManyAndReturnArgs} args - Arguments to create many Sessions. + * @example + * // Create many Sessions + * const session = await prisma.session.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Sessions and only return the `id` + * const sessionWithIdOnly = await prisma.session.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Session. + * @param {SessionDeleteArgs} args - Arguments to delete one Session. + * @example + * // Delete one Session + * const Session = await prisma.session.delete({ + * where: { + * // ... filter to delete one Session + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Session. + * @param {SessionUpdateArgs} args - Arguments to update one Session. + * @example + * // Update one Session + * const session = await prisma.session.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Sessions. + * @param {SessionDeleteManyArgs} args - Arguments to filter Sessions to delete. + * @example + * // Delete a few Sessions + * const { count } = await prisma.session.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Sessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Sessions + * const session = await prisma.session.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Sessions and returns the data updated in the database. + * @param {SessionUpdateManyAndReturnArgs} args - Arguments to update many Sessions. + * @example + * // Update many Sessions + * const session = await prisma.session.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Sessions and only return the `id` + * const sessionWithIdOnly = await prisma.session.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Session. + * @param {SessionUpsertArgs} args - Arguments to update or create a Session. + * @example + * // Update or create a Session + * const session = await prisma.session.upsert({ + * create: { + * // ... data to create a Session + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Session we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__SessionClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Sessions. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionCountArgs} args - Arguments to filter Sessions to count. + * @example + * // Count the number of Sessions + * const count = await prisma.session.count({ + * where: { + * // ... the filter for the Sessions we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Session. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Session. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {SessionGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends SessionGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: SessionGroupByArgs['orderBy'] } + : { orderBy?: SessionGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetSessionGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Session model + */ + readonly fields: SessionFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Session. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__SessionClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Session model + */ + interface SessionFieldRefs { + readonly id: FieldRef<"Session", 'String'> + readonly sessionToken: FieldRef<"Session", 'String'> + readonly userId: FieldRef<"Session", 'String'> + readonly expires: FieldRef<"Session", 'DateTime'> + } + + + // Custom InputTypes + /** + * Session findUnique + */ + export type SessionFindUniqueArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where: SessionWhereUniqueInput + } + + /** + * Session findUniqueOrThrow + */ + export type SessionFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where: SessionWhereUniqueInput + } + + /** + * Session findFirst + */ + export type SessionFindFirstArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where?: SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Sessions. + */ + cursor?: SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Sessions. + */ + distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] + } + + /** + * Session findFirstOrThrow + */ + export type SessionFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * Filter, which Session to fetch. + */ + where?: SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Sessions. + */ + cursor?: SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Sessions. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Sessions. + */ + distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] + } + + /** + * Session findMany + */ + export type SessionFindManyArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * Filter, which Sessions to fetch. + */ + where?: SessionWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Sessions to fetch. + */ + orderBy?: SessionOrderByWithRelationInput | SessionOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Sessions. + */ + cursor?: SessionWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Sessions from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Sessions. + */ + skip?: number + distinct?: SessionScalarFieldEnum | SessionScalarFieldEnum[] + } + + /** + * Session create + */ + export type SessionCreateArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * The data needed to create a Session. + */ + data: XOR + } + + /** + * Session createMany + */ + export type SessionCreateManyArgs = { + /** + * The data used to create many Sessions. + */ + data: SessionCreateManyInput | SessionCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Session createManyAndReturn + */ + export type SessionCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * The data used to create many Sessions. + */ + data: SessionCreateManyInput | SessionCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionIncludeCreateManyAndReturn | null + } + + /** + * Session update + */ + export type SessionUpdateArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * The data needed to update a Session. + */ + data: XOR + /** + * Choose, which Session to update. + */ + where: SessionWhereUniqueInput + } + + /** + * Session updateMany + */ + export type SessionUpdateManyArgs = { + /** + * The data used to update Sessions. + */ + data: XOR + /** + * Filter which Sessions to update + */ + where?: SessionWhereInput + /** + * Limit how many Sessions to update. + */ + limit?: number + } + + /** + * Session updateManyAndReturn + */ + export type SessionUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * The data used to update Sessions. + */ + data: XOR + /** + * Filter which Sessions to update + */ + where?: SessionWhereInput + /** + * Limit how many Sessions to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionIncludeUpdateManyAndReturn | null + } + + /** + * Session upsert + */ + export type SessionUpsertArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * The filter to search for the Session to update in case it exists. + */ + where: SessionWhereUniqueInput + /** + * In case the Session found by the `where` argument doesn't exist, create a new Session with this data. + */ + create: XOR + /** + * In case the Session was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Session delete + */ + export type SessionDeleteArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + /** + * Filter which Session to delete. + */ + where: SessionWhereUniqueInput + } + + /** + * Session deleteMany + */ + export type SessionDeleteManyArgs = { + /** + * Filter which Sessions to delete + */ + where?: SessionWhereInput + /** + * Limit how many Sessions to delete. + */ + limit?: number + } + + /** + * Session without action + */ + export type SessionDefaultArgs = { + /** + * Select specific fields to fetch from the Session + */ + select?: SessionSelect | null + /** + * Omit specific fields from the Session + */ + omit?: SessionOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: SessionInclude | null + } + + + /** + * Model Team + */ + + export type AggregateTeam = { + _count: TeamCountAggregateOutputType | null + _avg: TeamAvgAggregateOutputType | null + _sum: TeamSumAggregateOutputType | null + _min: TeamMinAggregateOutputType | null + _max: TeamMaxAggregateOutputType | null + } + + export type TeamAvgAggregateOutputType = { + budget: number | null + totalPoints: number | null + } + + export type TeamSumAggregateOutputType = { + budget: number | null + totalPoints: number | null + } + + export type TeamMinAggregateOutputType = { + id: string | null + name: string | null + userId: string | null + budget: number | null + totalPoints: number | null + formation: string | null + status: $Enums.TeamStatus | null + createdAt: Date | null + } + + export type TeamMaxAggregateOutputType = { + id: string | null + name: string | null + userId: string | null + budget: number | null + totalPoints: number | null + formation: string | null + status: $Enums.TeamStatus | null + createdAt: Date | null + } + + export type TeamCountAggregateOutputType = { + id: number + name: number + userId: number + budget: number + totalPoints: number + formation: number + status: number + createdAt: number + _all: number + } + + + export type TeamAvgAggregateInputType = { + budget?: true + totalPoints?: true + } + + export type TeamSumAggregateInputType = { + budget?: true + totalPoints?: true + } + + export type TeamMinAggregateInputType = { + id?: true + name?: true + userId?: true + budget?: true + totalPoints?: true + formation?: true + status?: true + createdAt?: true + } + + export type TeamMaxAggregateInputType = { + id?: true + name?: true + userId?: true + budget?: true + totalPoints?: true + formation?: true + status?: true + createdAt?: true + } + + export type TeamCountAggregateInputType = { + id?: true + name?: true + userId?: true + budget?: true + totalPoints?: true + formation?: true + status?: true + createdAt?: true + _all?: true + } + + export type TeamAggregateArgs = { + /** + * Filter which Team to aggregate. + */ + where?: TeamWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Teams to fetch. + */ + orderBy?: TeamOrderByWithRelationInput | TeamOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: TeamWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Teams from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Teams. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Teams + **/ + _count?: true | TeamCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: TeamAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: TeamSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TeamMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TeamMaxAggregateInputType + } + + export type GetTeamAggregateType = { + [P in keyof T & keyof AggregateTeam]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type TeamGroupByArgs = { + where?: TeamWhereInput + orderBy?: TeamOrderByWithAggregationInput | TeamOrderByWithAggregationInput[] + by: TeamScalarFieldEnum[] | TeamScalarFieldEnum + having?: TeamScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TeamCountAggregateInputType | true + _avg?: TeamAvgAggregateInputType + _sum?: TeamSumAggregateInputType + _min?: TeamMinAggregateInputType + _max?: TeamMaxAggregateInputType + } + + export type TeamGroupByOutputType = { + id: string + name: string + userId: string + budget: number + totalPoints: number + formation: string + status: $Enums.TeamStatus + createdAt: Date + _count: TeamCountAggregateOutputType | null + _avg: TeamAvgAggregateOutputType | null + _sum: TeamSumAggregateOutputType | null + _min: TeamMinAggregateOutputType | null + _max: TeamMaxAggregateOutputType | null + } + + type GetTeamGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof TeamGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type TeamSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + userId?: boolean + budget?: boolean + totalPoints?: boolean + formation?: boolean + status?: boolean + createdAt?: boolean + user?: boolean | UserDefaultArgs + players?: boolean | Team$playersArgs + _count?: boolean | TeamCountOutputTypeDefaultArgs + }, ExtArgs["result"]["team"]> + + export type TeamSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + userId?: boolean + budget?: boolean + totalPoints?: boolean + formation?: boolean + status?: boolean + createdAt?: boolean + user?: boolean | UserDefaultArgs + }, ExtArgs["result"]["team"]> + + export type TeamSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + userId?: boolean + budget?: boolean + totalPoints?: boolean + formation?: boolean + status?: boolean + createdAt?: boolean + user?: boolean | UserDefaultArgs + }, ExtArgs["result"]["team"]> + + export type TeamSelectScalar = { + id?: boolean + name?: boolean + userId?: boolean + budget?: boolean + totalPoints?: boolean + formation?: boolean + status?: boolean + createdAt?: boolean + } + + export type TeamOmit = $Extensions.GetOmit<"id" | "name" | "userId" | "budget" | "totalPoints" | "formation" | "status" | "createdAt", ExtArgs["result"]["team"]> + export type TeamInclude = { + user?: boolean | UserDefaultArgs + players?: boolean | Team$playersArgs + _count?: boolean | TeamCountOutputTypeDefaultArgs + } + export type TeamIncludeCreateManyAndReturn = { + user?: boolean | UserDefaultArgs + } + export type TeamIncludeUpdateManyAndReturn = { + user?: boolean | UserDefaultArgs + } + + export type $TeamPayload = { + name: "Team" + objects: { + user: Prisma.$UserPayload + players: Prisma.$TeamPlayerPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + userId: string + budget: number + totalPoints: number + formation: string + status: $Enums.TeamStatus + createdAt: Date + }, ExtArgs["result"]["team"]> + composites: {} + } + + type TeamGetPayload = $Result.GetResult + + type TeamCountArgs = + Omit & { + select?: TeamCountAggregateInputType | true + } + + export interface TeamDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Team'], meta: { name: 'Team' } } + /** + * Find zero or one Team that matches the filter. + * @param {TeamFindUniqueArgs} args - Arguments to find a Team + * @example + * // Get one Team + * const team = await prisma.team.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__TeamClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Team that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TeamFindUniqueOrThrowArgs} args - Arguments to find a Team + * @example + * // Get one Team + * const team = await prisma.team.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__TeamClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Team that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamFindFirstArgs} args - Arguments to find a Team + * @example + * // Get one Team + * const team = await prisma.team.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__TeamClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Team that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamFindFirstOrThrowArgs} args - Arguments to find a Team + * @example + * // Get one Team + * const team = await prisma.team.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__TeamClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Teams that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Teams + * const teams = await prisma.team.findMany() + * + * // Get first 10 Teams + * const teams = await prisma.team.findMany({ take: 10 }) + * + * // Only select the `id` + * const teamWithIdOnly = await prisma.team.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Team. + * @param {TeamCreateArgs} args - Arguments to create a Team. + * @example + * // Create one Team + * const Team = await prisma.team.create({ + * data: { + * // ... data to create a Team + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__TeamClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Teams. + * @param {TeamCreateManyArgs} args - Arguments to create many Teams. + * @example + * // Create many Teams + * const team = await prisma.team.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Teams and returns the data saved in the database. + * @param {TeamCreateManyAndReturnArgs} args - Arguments to create many Teams. + * @example + * // Create many Teams + * const team = await prisma.team.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Teams and only return the `id` + * const teamWithIdOnly = await prisma.team.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Team. + * @param {TeamDeleteArgs} args - Arguments to delete one Team. + * @example + * // Delete one Team + * const Team = await prisma.team.delete({ + * where: { + * // ... filter to delete one Team + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__TeamClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Team. + * @param {TeamUpdateArgs} args - Arguments to update one Team. + * @example + * // Update one Team + * const team = await prisma.team.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__TeamClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Teams. + * @param {TeamDeleteManyArgs} args - Arguments to filter Teams to delete. + * @example + * // Delete a few Teams + * const { count } = await prisma.team.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Teams. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Teams + * const team = await prisma.team.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Teams and returns the data updated in the database. + * @param {TeamUpdateManyAndReturnArgs} args - Arguments to update many Teams. + * @example + * // Update many Teams + * const team = await prisma.team.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Teams and only return the `id` + * const teamWithIdOnly = await prisma.team.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Team. + * @param {TeamUpsertArgs} args - Arguments to update or create a Team. + * @example + * // Update or create a Team + * const team = await prisma.team.upsert({ + * create: { + * // ... data to create a Team + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Team we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__TeamClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Teams. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamCountArgs} args - Arguments to filter Teams to count. + * @example + * // Count the number of Teams + * const count = await prisma.team.count({ + * where: { + * // ... the filter for the Teams we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Team. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Team. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends TeamGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: TeamGroupByArgs['orderBy'] } + : { orderBy?: TeamGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetTeamGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Team model + */ + readonly fields: TeamFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Team. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__TeamClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + players = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Team model + */ + interface TeamFieldRefs { + readonly id: FieldRef<"Team", 'String'> + readonly name: FieldRef<"Team", 'String'> + readonly userId: FieldRef<"Team", 'String'> + readonly budget: FieldRef<"Team", 'Float'> + readonly totalPoints: FieldRef<"Team", 'Int'> + readonly formation: FieldRef<"Team", 'String'> + readonly status: FieldRef<"Team", 'TeamStatus'> + readonly createdAt: FieldRef<"Team", 'DateTime'> + } + + + // Custom InputTypes + /** + * Team findUnique + */ + export type TeamFindUniqueArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * Filter, which Team to fetch. + */ + where: TeamWhereUniqueInput + } + + /** + * Team findUniqueOrThrow + */ + export type TeamFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * Filter, which Team to fetch. + */ + where: TeamWhereUniqueInput + } + + /** + * Team findFirst + */ + export type TeamFindFirstArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * Filter, which Team to fetch. + */ + where?: TeamWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Teams to fetch. + */ + orderBy?: TeamOrderByWithRelationInput | TeamOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Teams. + */ + cursor?: TeamWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Teams from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Teams. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Teams. + */ + distinct?: TeamScalarFieldEnum | TeamScalarFieldEnum[] + } + + /** + * Team findFirstOrThrow + */ + export type TeamFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * Filter, which Team to fetch. + */ + where?: TeamWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Teams to fetch. + */ + orderBy?: TeamOrderByWithRelationInput | TeamOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Teams. + */ + cursor?: TeamWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Teams from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Teams. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Teams. + */ + distinct?: TeamScalarFieldEnum | TeamScalarFieldEnum[] + } + + /** + * Team findMany + */ + export type TeamFindManyArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * Filter, which Teams to fetch. + */ + where?: TeamWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Teams to fetch. + */ + orderBy?: TeamOrderByWithRelationInput | TeamOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Teams. + */ + cursor?: TeamWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Teams from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Teams. + */ + skip?: number + distinct?: TeamScalarFieldEnum | TeamScalarFieldEnum[] + } + + /** + * Team create + */ + export type TeamCreateArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * The data needed to create a Team. + */ + data: XOR + } + + /** + * Team createMany + */ + export type TeamCreateManyArgs = { + /** + * The data used to create many Teams. + */ + data: TeamCreateManyInput | TeamCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Team createManyAndReturn + */ + export type TeamCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * The data used to create many Teams. + */ + data: TeamCreateManyInput | TeamCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamIncludeCreateManyAndReturn | null + } + + /** + * Team update + */ + export type TeamUpdateArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * The data needed to update a Team. + */ + data: XOR + /** + * Choose, which Team to update. + */ + where: TeamWhereUniqueInput + } + + /** + * Team updateMany + */ + export type TeamUpdateManyArgs = { + /** + * The data used to update Teams. + */ + data: XOR + /** + * Filter which Teams to update + */ + where?: TeamWhereInput + /** + * Limit how many Teams to update. + */ + limit?: number + } + + /** + * Team updateManyAndReturn + */ + export type TeamUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * The data used to update Teams. + */ + data: XOR + /** + * Filter which Teams to update + */ + where?: TeamWhereInput + /** + * Limit how many Teams to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamIncludeUpdateManyAndReturn | null + } + + /** + * Team upsert + */ + export type TeamUpsertArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * The filter to search for the Team to update in case it exists. + */ + where: TeamWhereUniqueInput + /** + * In case the Team found by the `where` argument doesn't exist, create a new Team with this data. + */ + create: XOR + /** + * In case the Team was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Team delete + */ + export type TeamDeleteArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + /** + * Filter which Team to delete. + */ + where: TeamWhereUniqueInput + } + + /** + * Team deleteMany + */ + export type TeamDeleteManyArgs = { + /** + * Filter which Teams to delete + */ + where?: TeamWhereInput + /** + * Limit how many Teams to delete. + */ + limit?: number + } + + /** + * Team.players + */ + export type Team$playersArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + where?: TeamPlayerWhereInput + orderBy?: TeamPlayerOrderByWithRelationInput | TeamPlayerOrderByWithRelationInput[] + cursor?: TeamPlayerWhereUniqueInput + take?: number + skip?: number + distinct?: TeamPlayerScalarFieldEnum | TeamPlayerScalarFieldEnum[] + } + + /** + * Team without action + */ + export type TeamDefaultArgs = { + /** + * Select specific fields to fetch from the Team + */ + select?: TeamSelect | null + /** + * Omit specific fields from the Team + */ + omit?: TeamOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamInclude | null + } + + + /** + * Model TeamPlayer + */ + + export type AggregateTeamPlayer = { + _count: TeamPlayerCountAggregateOutputType | null + _avg: TeamPlayerAvgAggregateOutputType | null + _sum: TeamPlayerSumAggregateOutputType | null + _min: TeamPlayerMinAggregateOutputType | null + _max: TeamPlayerMaxAggregateOutputType | null + } + + export type TeamPlayerAvgAggregateOutputType = { + positionIndex: number | null + } + + export type TeamPlayerSumAggregateOutputType = { + positionIndex: number | null + } + + export type TeamPlayerMinAggregateOutputType = { + teamId: string | null + playerId: string | null + goldenCardId: string | null + isCaptain: boolean | null + isViceCaptain: boolean | null + isBench: boolean | null + positionIndex: number | null + } + + export type TeamPlayerMaxAggregateOutputType = { + teamId: string | null + playerId: string | null + goldenCardId: string | null + isCaptain: boolean | null + isViceCaptain: boolean | null + isBench: boolean | null + positionIndex: number | null + } + + export type TeamPlayerCountAggregateOutputType = { + teamId: number + playerId: number + goldenCardId: number + isCaptain: number + isViceCaptain: number + isBench: number + positionIndex: number + _all: number + } + + + export type TeamPlayerAvgAggregateInputType = { + positionIndex?: true + } + + export type TeamPlayerSumAggregateInputType = { + positionIndex?: true + } + + export type TeamPlayerMinAggregateInputType = { + teamId?: true + playerId?: true + goldenCardId?: true + isCaptain?: true + isViceCaptain?: true + isBench?: true + positionIndex?: true + } + + export type TeamPlayerMaxAggregateInputType = { + teamId?: true + playerId?: true + goldenCardId?: true + isCaptain?: true + isViceCaptain?: true + isBench?: true + positionIndex?: true + } + + export type TeamPlayerCountAggregateInputType = { + teamId?: true + playerId?: true + goldenCardId?: true + isCaptain?: true + isViceCaptain?: true + isBench?: true + positionIndex?: true + _all?: true + } + + export type TeamPlayerAggregateArgs = { + /** + * Filter which TeamPlayer to aggregate. + */ + where?: TeamPlayerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TeamPlayers to fetch. + */ + orderBy?: TeamPlayerOrderByWithRelationInput | TeamPlayerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: TeamPlayerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TeamPlayers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TeamPlayers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned TeamPlayers + **/ + _count?: true | TeamPlayerCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: TeamPlayerAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: TeamPlayerSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: TeamPlayerMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: TeamPlayerMaxAggregateInputType + } + + export type GetTeamPlayerAggregateType = { + [P in keyof T & keyof AggregateTeamPlayer]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type TeamPlayerGroupByArgs = { + where?: TeamPlayerWhereInput + orderBy?: TeamPlayerOrderByWithAggregationInput | TeamPlayerOrderByWithAggregationInput[] + by: TeamPlayerScalarFieldEnum[] | TeamPlayerScalarFieldEnum + having?: TeamPlayerScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: TeamPlayerCountAggregateInputType | true + _avg?: TeamPlayerAvgAggregateInputType + _sum?: TeamPlayerSumAggregateInputType + _min?: TeamPlayerMinAggregateInputType + _max?: TeamPlayerMaxAggregateInputType + } + + export type TeamPlayerGroupByOutputType = { + teamId: string + playerId: string + goldenCardId: string | null + isCaptain: boolean + isViceCaptain: boolean + isBench: boolean + positionIndex: number + _count: TeamPlayerCountAggregateOutputType | null + _avg: TeamPlayerAvgAggregateOutputType | null + _sum: TeamPlayerSumAggregateOutputType | null + _min: TeamPlayerMinAggregateOutputType | null + _max: TeamPlayerMaxAggregateOutputType | null + } + + type GetTeamPlayerGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof TeamPlayerGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type TeamPlayerSelect = $Extensions.GetSelect<{ + teamId?: boolean + playerId?: boolean + goldenCardId?: boolean + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: boolean + team?: boolean | TeamDefaultArgs + player?: boolean | PlayerDefaultArgs + goldenCard?: boolean | TeamPlayer$goldenCardArgs + }, ExtArgs["result"]["teamPlayer"]> + + export type TeamPlayerSelectCreateManyAndReturn = $Extensions.GetSelect<{ + teamId?: boolean + playerId?: boolean + goldenCardId?: boolean + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: boolean + team?: boolean | TeamDefaultArgs + player?: boolean | PlayerDefaultArgs + goldenCard?: boolean | TeamPlayer$goldenCardArgs + }, ExtArgs["result"]["teamPlayer"]> + + export type TeamPlayerSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + teamId?: boolean + playerId?: boolean + goldenCardId?: boolean + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: boolean + team?: boolean | TeamDefaultArgs + player?: boolean | PlayerDefaultArgs + goldenCard?: boolean | TeamPlayer$goldenCardArgs + }, ExtArgs["result"]["teamPlayer"]> + + export type TeamPlayerSelectScalar = { + teamId?: boolean + playerId?: boolean + goldenCardId?: boolean + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: boolean + } + + export type TeamPlayerOmit = $Extensions.GetOmit<"teamId" | "playerId" | "goldenCardId" | "isCaptain" | "isViceCaptain" | "isBench" | "positionIndex", ExtArgs["result"]["teamPlayer"]> + export type TeamPlayerInclude = { + team?: boolean | TeamDefaultArgs + player?: boolean | PlayerDefaultArgs + goldenCard?: boolean | TeamPlayer$goldenCardArgs + } + export type TeamPlayerIncludeCreateManyAndReturn = { + team?: boolean | TeamDefaultArgs + player?: boolean | PlayerDefaultArgs + goldenCard?: boolean | TeamPlayer$goldenCardArgs + } + export type TeamPlayerIncludeUpdateManyAndReturn = { + team?: boolean | TeamDefaultArgs + player?: boolean | PlayerDefaultArgs + goldenCard?: boolean | TeamPlayer$goldenCardArgs + } + + export type $TeamPlayerPayload = { + name: "TeamPlayer" + objects: { + team: Prisma.$TeamPayload + player: Prisma.$PlayerPayload + goldenCard: Prisma.$GoldenCardPayload | null + } + scalars: $Extensions.GetPayloadResult<{ + teamId: string + playerId: string + goldenCardId: string | null + isCaptain: boolean + isViceCaptain: boolean + isBench: boolean + positionIndex: number + }, ExtArgs["result"]["teamPlayer"]> + composites: {} + } + + type TeamPlayerGetPayload = $Result.GetResult + + type TeamPlayerCountArgs = + Omit & { + select?: TeamPlayerCountAggregateInputType | true + } + + export interface TeamPlayerDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['TeamPlayer'], meta: { name: 'TeamPlayer' } } + /** + * Find zero or one TeamPlayer that matches the filter. + * @param {TeamPlayerFindUniqueArgs} args - Arguments to find a TeamPlayer + * @example + * // Get one TeamPlayer + * const teamPlayer = await prisma.teamPlayer.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one TeamPlayer that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {TeamPlayerFindUniqueOrThrowArgs} args - Arguments to find a TeamPlayer + * @example + * // Get one TeamPlayer + * const teamPlayer = await prisma.teamPlayer.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TeamPlayer that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamPlayerFindFirstArgs} args - Arguments to find a TeamPlayer + * @example + * // Get one TeamPlayer + * const teamPlayer = await prisma.teamPlayer.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first TeamPlayer that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamPlayerFindFirstOrThrowArgs} args - Arguments to find a TeamPlayer + * @example + * // Get one TeamPlayer + * const teamPlayer = await prisma.teamPlayer.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more TeamPlayers that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamPlayerFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all TeamPlayers + * const teamPlayers = await prisma.teamPlayer.findMany() + * + * // Get first 10 TeamPlayers + * const teamPlayers = await prisma.teamPlayer.findMany({ take: 10 }) + * + * // Only select the `teamId` + * const teamPlayerWithTeamIdOnly = await prisma.teamPlayer.findMany({ select: { teamId: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a TeamPlayer. + * @param {TeamPlayerCreateArgs} args - Arguments to create a TeamPlayer. + * @example + * // Create one TeamPlayer + * const TeamPlayer = await prisma.teamPlayer.create({ + * data: { + * // ... data to create a TeamPlayer + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many TeamPlayers. + * @param {TeamPlayerCreateManyArgs} args - Arguments to create many TeamPlayers. + * @example + * // Create many TeamPlayers + * const teamPlayer = await prisma.teamPlayer.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many TeamPlayers and returns the data saved in the database. + * @param {TeamPlayerCreateManyAndReturnArgs} args - Arguments to create many TeamPlayers. + * @example + * // Create many TeamPlayers + * const teamPlayer = await prisma.teamPlayer.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many TeamPlayers and only return the `teamId` + * const teamPlayerWithTeamIdOnly = await prisma.teamPlayer.createManyAndReturn({ + * select: { teamId: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a TeamPlayer. + * @param {TeamPlayerDeleteArgs} args - Arguments to delete one TeamPlayer. + * @example + * // Delete one TeamPlayer + * const TeamPlayer = await prisma.teamPlayer.delete({ + * where: { + * // ... filter to delete one TeamPlayer + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one TeamPlayer. + * @param {TeamPlayerUpdateArgs} args - Arguments to update one TeamPlayer. + * @example + * // Update one TeamPlayer + * const teamPlayer = await prisma.teamPlayer.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more TeamPlayers. + * @param {TeamPlayerDeleteManyArgs} args - Arguments to filter TeamPlayers to delete. + * @example + * // Delete a few TeamPlayers + * const { count } = await prisma.teamPlayer.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TeamPlayers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamPlayerUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many TeamPlayers + * const teamPlayer = await prisma.teamPlayer.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more TeamPlayers and returns the data updated in the database. + * @param {TeamPlayerUpdateManyAndReturnArgs} args - Arguments to update many TeamPlayers. + * @example + * // Update many TeamPlayers + * const teamPlayer = await prisma.teamPlayer.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more TeamPlayers and only return the `teamId` + * const teamPlayerWithTeamIdOnly = await prisma.teamPlayer.updateManyAndReturn({ + * select: { teamId: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one TeamPlayer. + * @param {TeamPlayerUpsertArgs} args - Arguments to update or create a TeamPlayer. + * @example + * // Update or create a TeamPlayer + * const teamPlayer = await prisma.teamPlayer.upsert({ + * create: { + * // ... data to create a TeamPlayer + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the TeamPlayer we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__TeamPlayerClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of TeamPlayers. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamPlayerCountArgs} args - Arguments to filter TeamPlayers to count. + * @example + * // Count the number of TeamPlayers + * const count = await prisma.teamPlayer.count({ + * where: { + * // ... the filter for the TeamPlayers we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a TeamPlayer. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamPlayerAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by TeamPlayer. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {TeamPlayerGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends TeamPlayerGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: TeamPlayerGroupByArgs['orderBy'] } + : { orderBy?: TeamPlayerGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetTeamPlayerGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the TeamPlayer model + */ + readonly fields: TeamPlayerFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for TeamPlayer. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__TeamPlayerClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + team = {}>(args?: Subset>): Prisma__TeamClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + player = {}>(args?: Subset>): Prisma__PlayerClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + goldenCard = {}>(args?: Subset>): Prisma__GoldenCardClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the TeamPlayer model + */ + interface TeamPlayerFieldRefs { + readonly teamId: FieldRef<"TeamPlayer", 'String'> + readonly playerId: FieldRef<"TeamPlayer", 'String'> + readonly goldenCardId: FieldRef<"TeamPlayer", 'String'> + readonly isCaptain: FieldRef<"TeamPlayer", 'Boolean'> + readonly isViceCaptain: FieldRef<"TeamPlayer", 'Boolean'> + readonly isBench: FieldRef<"TeamPlayer", 'Boolean'> + readonly positionIndex: FieldRef<"TeamPlayer", 'Int'> + } + + + // Custom InputTypes + /** + * TeamPlayer findUnique + */ + export type TeamPlayerFindUniqueArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * Filter, which TeamPlayer to fetch. + */ + where: TeamPlayerWhereUniqueInput + } + + /** + * TeamPlayer findUniqueOrThrow + */ + export type TeamPlayerFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * Filter, which TeamPlayer to fetch. + */ + where: TeamPlayerWhereUniqueInput + } + + /** + * TeamPlayer findFirst + */ + export type TeamPlayerFindFirstArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * Filter, which TeamPlayer to fetch. + */ + where?: TeamPlayerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TeamPlayers to fetch. + */ + orderBy?: TeamPlayerOrderByWithRelationInput | TeamPlayerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TeamPlayers. + */ + cursor?: TeamPlayerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TeamPlayers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TeamPlayers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TeamPlayers. + */ + distinct?: TeamPlayerScalarFieldEnum | TeamPlayerScalarFieldEnum[] + } + + /** + * TeamPlayer findFirstOrThrow + */ + export type TeamPlayerFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * Filter, which TeamPlayer to fetch. + */ + where?: TeamPlayerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TeamPlayers to fetch. + */ + orderBy?: TeamPlayerOrderByWithRelationInput | TeamPlayerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for TeamPlayers. + */ + cursor?: TeamPlayerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TeamPlayers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TeamPlayers. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of TeamPlayers. + */ + distinct?: TeamPlayerScalarFieldEnum | TeamPlayerScalarFieldEnum[] + } + + /** + * TeamPlayer findMany + */ + export type TeamPlayerFindManyArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * Filter, which TeamPlayers to fetch. + */ + where?: TeamPlayerWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of TeamPlayers to fetch. + */ + orderBy?: TeamPlayerOrderByWithRelationInput | TeamPlayerOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing TeamPlayers. + */ + cursor?: TeamPlayerWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` TeamPlayers from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` TeamPlayers. + */ + skip?: number + distinct?: TeamPlayerScalarFieldEnum | TeamPlayerScalarFieldEnum[] + } + + /** + * TeamPlayer create + */ + export type TeamPlayerCreateArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * The data needed to create a TeamPlayer. + */ + data: XOR + } + + /** + * TeamPlayer createMany + */ + export type TeamPlayerCreateManyArgs = { + /** + * The data used to create many TeamPlayers. + */ + data: TeamPlayerCreateManyInput | TeamPlayerCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * TeamPlayer createManyAndReturn + */ + export type TeamPlayerCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelectCreateManyAndReturn | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * The data used to create many TeamPlayers. + */ + data: TeamPlayerCreateManyInput | TeamPlayerCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerIncludeCreateManyAndReturn | null + } + + /** + * TeamPlayer update + */ + export type TeamPlayerUpdateArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * The data needed to update a TeamPlayer. + */ + data: XOR + /** + * Choose, which TeamPlayer to update. + */ + where: TeamPlayerWhereUniqueInput + } + + /** + * TeamPlayer updateMany + */ + export type TeamPlayerUpdateManyArgs = { + /** + * The data used to update TeamPlayers. + */ + data: XOR + /** + * Filter which TeamPlayers to update + */ + where?: TeamPlayerWhereInput + /** + * Limit how many TeamPlayers to update. + */ + limit?: number + } + + /** + * TeamPlayer updateManyAndReturn + */ + export type TeamPlayerUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * The data used to update TeamPlayers. + */ + data: XOR + /** + * Filter which TeamPlayers to update + */ + where?: TeamPlayerWhereInput + /** + * Limit how many TeamPlayers to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerIncludeUpdateManyAndReturn | null + } + + /** + * TeamPlayer upsert + */ + export type TeamPlayerUpsertArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * The filter to search for the TeamPlayer to update in case it exists. + */ + where: TeamPlayerWhereUniqueInput + /** + * In case the TeamPlayer found by the `where` argument doesn't exist, create a new TeamPlayer with this data. + */ + create: XOR + /** + * In case the TeamPlayer was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * TeamPlayer delete + */ + export type TeamPlayerDeleteArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + /** + * Filter which TeamPlayer to delete. + */ + where: TeamPlayerWhereUniqueInput + } + + /** + * TeamPlayer deleteMany + */ + export type TeamPlayerDeleteManyArgs = { + /** + * Filter which TeamPlayers to delete + */ + where?: TeamPlayerWhereInput + /** + * Limit how many TeamPlayers to delete. + */ + limit?: number + } + + /** + * TeamPlayer.goldenCard + */ + export type TeamPlayer$goldenCardArgs = { + /** + * Select specific fields to fetch from the GoldenCard + */ + select?: GoldenCardSelect | null + /** + * Omit specific fields from the GoldenCard + */ + omit?: GoldenCardOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: GoldenCardInclude | null + where?: GoldenCardWhereInput + } + + /** + * TeamPlayer without action + */ + export type TeamPlayerDefaultArgs = { + /** + * Select specific fields to fetch from the TeamPlayer + */ + select?: TeamPlayerSelect | null + /** + * Omit specific fields from the TeamPlayer + */ + omit?: TeamPlayerOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: TeamPlayerInclude | null + } + + + /** + * Model Package + */ + + export type AggregatePackage = { + _count: PackageCountAggregateOutputType | null + _avg: PackageAvgAggregateOutputType | null + _sum: PackageSumAggregateOutputType | null + _min: PackageMinAggregateOutputType | null + _max: PackageMaxAggregateOutputType | null + } + + export type PackageAvgAggregateOutputType = { + budgetBonus: number | null + price: number | null + } + + export type PackageSumAggregateOutputType = { + budgetBonus: number | null + price: number | null + } + + export type PackageMinAggregateOutputType = { + id: string | null + name: string | null + budgetBonus: number | null + price: number | null + description: string | null + isActive: boolean | null + } + + export type PackageMaxAggregateOutputType = { + id: string | null + name: string | null + budgetBonus: number | null + price: number | null + description: string | null + isActive: boolean | null + } + + export type PackageCountAggregateOutputType = { + id: number + name: number + budgetBonus: number + price: number + description: number + isActive: number + _all: number + } + + + export type PackageAvgAggregateInputType = { + budgetBonus?: true + price?: true + } + + export type PackageSumAggregateInputType = { + budgetBonus?: true + price?: true + } + + export type PackageMinAggregateInputType = { + id?: true + name?: true + budgetBonus?: true + price?: true + description?: true + isActive?: true + } + + export type PackageMaxAggregateInputType = { + id?: true + name?: true + budgetBonus?: true + price?: true + description?: true + isActive?: true + } + + export type PackageCountAggregateInputType = { + id?: true + name?: true + budgetBonus?: true + price?: true + description?: true + isActive?: true + _all?: true + } + + export type PackageAggregateArgs = { + /** + * Filter which Package to aggregate. + */ + where?: PackageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Packages to fetch. + */ + orderBy?: PackageOrderByWithRelationInput | PackageOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: PackageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Packages from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Packages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Packages + **/ + _count?: true | PackageCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: PackageAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: PackageSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PackageMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PackageMaxAggregateInputType + } + + export type GetPackageAggregateType = { + [P in keyof T & keyof AggregatePackage]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type PackageGroupByArgs = { + where?: PackageWhereInput + orderBy?: PackageOrderByWithAggregationInput | PackageOrderByWithAggregationInput[] + by: PackageScalarFieldEnum[] | PackageScalarFieldEnum + having?: PackageScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PackageCountAggregateInputType | true + _avg?: PackageAvgAggregateInputType + _sum?: PackageSumAggregateInputType + _min?: PackageMinAggregateInputType + _max?: PackageMaxAggregateInputType + } + + export type PackageGroupByOutputType = { + id: string + name: string + budgetBonus: number + price: number + description: string | null + isActive: boolean + _count: PackageCountAggregateOutputType | null + _avg: PackageAvgAggregateOutputType | null + _sum: PackageSumAggregateOutputType | null + _min: PackageMinAggregateOutputType | null + _max: PackageMaxAggregateOutputType | null + } + + type GetPackageGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof PackageGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type PackageSelect = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + budgetBonus?: boolean + price?: boolean + description?: boolean + isActive?: boolean + payments?: boolean | Package$paymentsArgs + _count?: boolean | PackageCountOutputTypeDefaultArgs + }, ExtArgs["result"]["package"]> + + export type PackageSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + budgetBonus?: boolean + price?: boolean + description?: boolean + isActive?: boolean + }, ExtArgs["result"]["package"]> + + export type PackageSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + name?: boolean + budgetBonus?: boolean + price?: boolean + description?: boolean + isActive?: boolean + }, ExtArgs["result"]["package"]> + + export type PackageSelectScalar = { + id?: boolean + name?: boolean + budgetBonus?: boolean + price?: boolean + description?: boolean + isActive?: boolean + } + + export type PackageOmit = $Extensions.GetOmit<"id" | "name" | "budgetBonus" | "price" | "description" | "isActive", ExtArgs["result"]["package"]> + export type PackageInclude = { + payments?: boolean | Package$paymentsArgs + _count?: boolean | PackageCountOutputTypeDefaultArgs + } + export type PackageIncludeCreateManyAndReturn = {} + export type PackageIncludeUpdateManyAndReturn = {} + + export type $PackagePayload = { + name: "Package" + objects: { + payments: Prisma.$PaymentPayload[] + } + scalars: $Extensions.GetPayloadResult<{ + id: string + name: string + budgetBonus: number + price: number + description: string | null + isActive: boolean + }, ExtArgs["result"]["package"]> + composites: {} + } + + type PackageGetPayload = $Result.GetResult + + type PackageCountArgs = + Omit & { + select?: PackageCountAggregateInputType | true + } + + export interface PackageDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Package'], meta: { name: 'Package' } } + /** + * Find zero or one Package that matches the filter. + * @param {PackageFindUniqueArgs} args - Arguments to find a Package + * @example + * // Get one Package + * const package = await prisma.package.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__PackageClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Package that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {PackageFindUniqueOrThrowArgs} args - Arguments to find a Package + * @example + * // Get one Package + * const package = await prisma.package.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__PackageClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Package that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PackageFindFirstArgs} args - Arguments to find a Package + * @example + * // Get one Package + * const package = await prisma.package.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__PackageClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Package that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PackageFindFirstOrThrowArgs} args - Arguments to find a Package + * @example + * // Get one Package + * const package = await prisma.package.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__PackageClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Packages that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PackageFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Packages + * const packages = await prisma.package.findMany() + * + * // Get first 10 Packages + * const packages = await prisma.package.findMany({ take: 10 }) + * + * // Only select the `id` + * const packageWithIdOnly = await prisma.package.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Package. + * @param {PackageCreateArgs} args - Arguments to create a Package. + * @example + * // Create one Package + * const Package = await prisma.package.create({ + * data: { + * // ... data to create a Package + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__PackageClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Packages. + * @param {PackageCreateManyArgs} args - Arguments to create many Packages. + * @example + * // Create many Packages + * const package = await prisma.package.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Packages and returns the data saved in the database. + * @param {PackageCreateManyAndReturnArgs} args - Arguments to create many Packages. + * @example + * // Create many Packages + * const package = await prisma.package.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Packages and only return the `id` + * const packageWithIdOnly = await prisma.package.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Package. + * @param {PackageDeleteArgs} args - Arguments to delete one Package. + * @example + * // Delete one Package + * const Package = await prisma.package.delete({ + * where: { + * // ... filter to delete one Package + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__PackageClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Package. + * @param {PackageUpdateArgs} args - Arguments to update one Package. + * @example + * // Update one Package + * const package = await prisma.package.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__PackageClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Packages. + * @param {PackageDeleteManyArgs} args - Arguments to filter Packages to delete. + * @example + * // Delete a few Packages + * const { count } = await prisma.package.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Packages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PackageUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Packages + * const package = await prisma.package.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Packages and returns the data updated in the database. + * @param {PackageUpdateManyAndReturnArgs} args - Arguments to update many Packages. + * @example + * // Update many Packages + * const package = await prisma.package.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Packages and only return the `id` + * const packageWithIdOnly = await prisma.package.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Package. + * @param {PackageUpsertArgs} args - Arguments to update or create a Package. + * @example + * // Update or create a Package + * const package = await prisma.package.upsert({ + * create: { + * // ... data to create a Package + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Package we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__PackageClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Packages. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PackageCountArgs} args - Arguments to filter Packages to count. + * @example + * // Count the number of Packages + * const count = await prisma.package.count({ + * where: { + * // ... the filter for the Packages we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Package. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PackageAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Package. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PackageGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends PackageGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: PackageGroupByArgs['orderBy'] } + : { orderBy?: PackageGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPackageGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Package model + */ + readonly fields: PackageFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Package. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__PackageClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + payments = {}>(args?: Subset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions> | Null> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Package model + */ + interface PackageFieldRefs { + readonly id: FieldRef<"Package", 'String'> + readonly name: FieldRef<"Package", 'String'> + readonly budgetBonus: FieldRef<"Package", 'Float'> + readonly price: FieldRef<"Package", 'Int'> + readonly description: FieldRef<"Package", 'String'> + readonly isActive: FieldRef<"Package", 'Boolean'> + } + + + // Custom InputTypes + /** + * Package findUnique + */ + export type PackageFindUniqueArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * Filter, which Package to fetch. + */ + where: PackageWhereUniqueInput + } + + /** + * Package findUniqueOrThrow + */ + export type PackageFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * Filter, which Package to fetch. + */ + where: PackageWhereUniqueInput + } + + /** + * Package findFirst + */ + export type PackageFindFirstArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * Filter, which Package to fetch. + */ + where?: PackageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Packages to fetch. + */ + orderBy?: PackageOrderByWithRelationInput | PackageOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Packages. + */ + cursor?: PackageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Packages from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Packages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Packages. + */ + distinct?: PackageScalarFieldEnum | PackageScalarFieldEnum[] + } + + /** + * Package findFirstOrThrow + */ + export type PackageFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * Filter, which Package to fetch. + */ + where?: PackageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Packages to fetch. + */ + orderBy?: PackageOrderByWithRelationInput | PackageOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Packages. + */ + cursor?: PackageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Packages from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Packages. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Packages. + */ + distinct?: PackageScalarFieldEnum | PackageScalarFieldEnum[] + } + + /** + * Package findMany + */ + export type PackageFindManyArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * Filter, which Packages to fetch. + */ + where?: PackageWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Packages to fetch. + */ + orderBy?: PackageOrderByWithRelationInput | PackageOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Packages. + */ + cursor?: PackageWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Packages from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Packages. + */ + skip?: number + distinct?: PackageScalarFieldEnum | PackageScalarFieldEnum[] + } + + /** + * Package create + */ + export type PackageCreateArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * The data needed to create a Package. + */ + data: XOR + } + + /** + * Package createMany + */ + export type PackageCreateManyArgs = { + /** + * The data used to create many Packages. + */ + data: PackageCreateManyInput | PackageCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Package createManyAndReturn + */ + export type PackageCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * The data used to create many Packages. + */ + data: PackageCreateManyInput | PackageCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Package update + */ + export type PackageUpdateArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * The data needed to update a Package. + */ + data: XOR + /** + * Choose, which Package to update. + */ + where: PackageWhereUniqueInput + } + + /** + * Package updateMany + */ + export type PackageUpdateManyArgs = { + /** + * The data used to update Packages. + */ + data: XOR + /** + * Filter which Packages to update + */ + where?: PackageWhereInput + /** + * Limit how many Packages to update. + */ + limit?: number + } + + /** + * Package updateManyAndReturn + */ + export type PackageUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * The data used to update Packages. + */ + data: XOR + /** + * Filter which Packages to update + */ + where?: PackageWhereInput + /** + * Limit how many Packages to update. + */ + limit?: number + } + + /** + * Package upsert + */ + export type PackageUpsertArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * The filter to search for the Package to update in case it exists. + */ + where: PackageWhereUniqueInput + /** + * In case the Package found by the `where` argument doesn't exist, create a new Package with this data. + */ + create: XOR + /** + * In case the Package was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Package delete + */ + export type PackageDeleteArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + /** + * Filter which Package to delete. + */ + where: PackageWhereUniqueInput + } + + /** + * Package deleteMany + */ + export type PackageDeleteManyArgs = { + /** + * Filter which Packages to delete + */ + where?: PackageWhereInput + /** + * Limit how many Packages to delete. + */ + limit?: number + } + + /** + * Package.payments + */ + export type Package$paymentsArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + where?: PaymentWhereInput + orderBy?: PaymentOrderByWithRelationInput | PaymentOrderByWithRelationInput[] + cursor?: PaymentWhereUniqueInput + take?: number + skip?: number + distinct?: PaymentScalarFieldEnum | PaymentScalarFieldEnum[] + } + + /** + * Package without action + */ + export type PackageDefaultArgs = { + /** + * Select specific fields to fetch from the Package + */ + select?: PackageSelect | null + /** + * Omit specific fields from the Package + */ + omit?: PackageOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PackageInclude | null + } + + + /** + * Model Payment + */ + + export type AggregatePayment = { + _count: PaymentCountAggregateOutputType | null + _avg: PaymentAvgAggregateOutputType | null + _sum: PaymentSumAggregateOutputType | null + _min: PaymentMinAggregateOutputType | null + _max: PaymentMaxAggregateOutputType | null + } + + export type PaymentAvgAggregateOutputType = { + amount: number | null + } + + export type PaymentSumAggregateOutputType = { + amount: number | null + } + + export type PaymentMinAggregateOutputType = { + id: string | null + userId: string | null + packageId: string | null + amount: number | null + authority: string | null + refId: string | null + status: $Enums.PaymentStatus | null + createdAt: Date | null + updatedAt: Date | null + } + + export type PaymentMaxAggregateOutputType = { + id: string | null + userId: string | null + packageId: string | null + amount: number | null + authority: string | null + refId: string | null + status: $Enums.PaymentStatus | null + createdAt: Date | null + updatedAt: Date | null + } + + export type PaymentCountAggregateOutputType = { + id: number + userId: number + packageId: number + amount: number + authority: number + refId: number + status: number + createdAt: number + updatedAt: number + _all: number + } + + + export type PaymentAvgAggregateInputType = { + amount?: true + } + + export type PaymentSumAggregateInputType = { + amount?: true + } + + export type PaymentMinAggregateInputType = { + id?: true + userId?: true + packageId?: true + amount?: true + authority?: true + refId?: true + status?: true + createdAt?: true + updatedAt?: true + } + + export type PaymentMaxAggregateInputType = { + id?: true + userId?: true + packageId?: true + amount?: true + authority?: true + refId?: true + status?: true + createdAt?: true + updatedAt?: true + } + + export type PaymentCountAggregateInputType = { + id?: true + userId?: true + packageId?: true + amount?: true + authority?: true + refId?: true + status?: true + createdAt?: true + updatedAt?: true + _all?: true + } + + export type PaymentAggregateArgs = { + /** + * Filter which Payment to aggregate. + */ + where?: PaymentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Payments to fetch. + */ + orderBy?: PaymentOrderByWithRelationInput | PaymentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the start position + */ + cursor?: PaymentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Payments from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Payments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Count returned Payments + **/ + _count?: true | PaymentCountAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to average + **/ + _avg?: PaymentAvgAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to sum + **/ + _sum?: PaymentSumAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the minimum value + **/ + _min?: PaymentMinAggregateInputType + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs} + * + * Select which fields to find the maximum value + **/ + _max?: PaymentMaxAggregateInputType + } + + export type GetPaymentAggregateType = { + [P in keyof T & keyof AggregatePayment]: P extends '_count' | 'count' + ? T[P] extends true + ? number + : GetScalarType + : GetScalarType + } + + + + + export type PaymentGroupByArgs = { + where?: PaymentWhereInput + orderBy?: PaymentOrderByWithAggregationInput | PaymentOrderByWithAggregationInput[] + by: PaymentScalarFieldEnum[] | PaymentScalarFieldEnum + having?: PaymentScalarWhereWithAggregatesInput + take?: number + skip?: number + _count?: PaymentCountAggregateInputType | true + _avg?: PaymentAvgAggregateInputType + _sum?: PaymentSumAggregateInputType + _min?: PaymentMinAggregateInputType + _max?: PaymentMaxAggregateInputType + } + + export type PaymentGroupByOutputType = { + id: string + userId: string + packageId: string + amount: number + authority: string | null + refId: string | null + status: $Enums.PaymentStatus + createdAt: Date + updatedAt: Date + _count: PaymentCountAggregateOutputType | null + _avg: PaymentAvgAggregateOutputType | null + _sum: PaymentSumAggregateOutputType | null + _min: PaymentMinAggregateOutputType | null + _max: PaymentMaxAggregateOutputType | null + } + + type GetPaymentGroupByPayload = Prisma.PrismaPromise< + Array< + PickEnumerable & + { + [P in ((keyof T) & (keyof PaymentGroupByOutputType))]: P extends '_count' + ? T[P] extends boolean + ? number + : GetScalarType + : GetScalarType + } + > + > + + + export type PaymentSelect = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + packageId?: boolean + amount?: boolean + authority?: boolean + refId?: boolean + status?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | UserDefaultArgs + package?: boolean | PackageDefaultArgs + }, ExtArgs["result"]["payment"]> + + export type PaymentSelectCreateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + packageId?: boolean + amount?: boolean + authority?: boolean + refId?: boolean + status?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | UserDefaultArgs + package?: boolean | PackageDefaultArgs + }, ExtArgs["result"]["payment"]> + + export type PaymentSelectUpdateManyAndReturn = $Extensions.GetSelect<{ + id?: boolean + userId?: boolean + packageId?: boolean + amount?: boolean + authority?: boolean + refId?: boolean + status?: boolean + createdAt?: boolean + updatedAt?: boolean + user?: boolean | UserDefaultArgs + package?: boolean | PackageDefaultArgs + }, ExtArgs["result"]["payment"]> + + export type PaymentSelectScalar = { + id?: boolean + userId?: boolean + packageId?: boolean + amount?: boolean + authority?: boolean + refId?: boolean + status?: boolean + createdAt?: boolean + updatedAt?: boolean + } + + export type PaymentOmit = $Extensions.GetOmit<"id" | "userId" | "packageId" | "amount" | "authority" | "refId" | "status" | "createdAt" | "updatedAt", ExtArgs["result"]["payment"]> + export type PaymentInclude = { + user?: boolean | UserDefaultArgs + package?: boolean | PackageDefaultArgs + } + export type PaymentIncludeCreateManyAndReturn = { + user?: boolean | UserDefaultArgs + package?: boolean | PackageDefaultArgs + } + export type PaymentIncludeUpdateManyAndReturn = { + user?: boolean | UserDefaultArgs + package?: boolean | PackageDefaultArgs + } + + export type $PaymentPayload = { + name: "Payment" + objects: { + user: Prisma.$UserPayload + package: Prisma.$PackagePayload + } + scalars: $Extensions.GetPayloadResult<{ + id: string + userId: string + packageId: string + amount: number + authority: string | null + refId: string | null + status: $Enums.PaymentStatus + createdAt: Date + updatedAt: Date + }, ExtArgs["result"]["payment"]> + composites: {} + } + + type PaymentGetPayload = $Result.GetResult + + type PaymentCountArgs = + Omit & { + select?: PaymentCountAggregateInputType | true + } + + export interface PaymentDelegate { + [K: symbol]: { types: Prisma.TypeMap['model']['Payment'], meta: { name: 'Payment' } } + /** + * Find zero or one Payment that matches the filter. + * @param {PaymentFindUniqueArgs} args - Arguments to find a Payment + * @example + * // Get one Payment + * const payment = await prisma.payment.findUnique({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUnique(args: SelectSubset>): Prisma__PaymentClient<$Result.GetResult, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find one Payment that matches the filter or throw an error with `error.code='P2025'` + * if no matches were found. + * @param {PaymentFindUniqueOrThrowArgs} args - Arguments to find a Payment + * @example + * // Get one Payment + * const payment = await prisma.payment.findUniqueOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findUniqueOrThrow(args: SelectSubset>): Prisma__PaymentClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Payment that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaymentFindFirstArgs} args - Arguments to find a Payment + * @example + * // Get one Payment + * const payment = await prisma.payment.findFirst({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirst(args?: SelectSubset>): Prisma__PaymentClient<$Result.GetResult, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions> + + /** + * Find the first Payment that matches the filter or + * throw `PrismaKnownClientError` with `P2025` code if no matches were found. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaymentFindFirstOrThrowArgs} args - Arguments to find a Payment + * @example + * // Get one Payment + * const payment = await prisma.payment.findFirstOrThrow({ + * where: { + * // ... provide filter here + * } + * }) + */ + findFirstOrThrow(args?: SelectSubset>): Prisma__PaymentClient<$Result.GetResult, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Find zero or more Payments that matches the filter. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaymentFindManyArgs} args - Arguments to filter and select certain fields only. + * @example + * // Get all Payments + * const payments = await prisma.payment.findMany() + * + * // Get first 10 Payments + * const payments = await prisma.payment.findMany({ take: 10 }) + * + * // Only select the `id` + * const paymentWithIdOnly = await prisma.payment.findMany({ select: { id: true } }) + * + */ + findMany(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "findMany", GlobalOmitOptions>> + + /** + * Create a Payment. + * @param {PaymentCreateArgs} args - Arguments to create a Payment. + * @example + * // Create one Payment + * const Payment = await prisma.payment.create({ + * data: { + * // ... data to create a Payment + * } + * }) + * + */ + create(args: SelectSubset>): Prisma__PaymentClient<$Result.GetResult, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Create many Payments. + * @param {PaymentCreateManyArgs} args - Arguments to create many Payments. + * @example + * // Create many Payments + * const payment = await prisma.payment.createMany({ + * data: [ + * // ... provide data here + * ] + * }) + * + */ + createMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Create many Payments and returns the data saved in the database. + * @param {PaymentCreateManyAndReturnArgs} args - Arguments to create many Payments. + * @example + * // Create many Payments + * const payment = await prisma.payment.createManyAndReturn({ + * data: [ + * // ... provide data here + * ] + * }) + * + * // Create many Payments and only return the `id` + * const paymentWithIdOnly = await prisma.payment.createManyAndReturn({ + * select: { id: true }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + createManyAndReturn(args?: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "createManyAndReturn", GlobalOmitOptions>> + + /** + * Delete a Payment. + * @param {PaymentDeleteArgs} args - Arguments to delete one Payment. + * @example + * // Delete one Payment + * const Payment = await prisma.payment.delete({ + * where: { + * // ... filter to delete one Payment + * } + * }) + * + */ + delete(args: SelectSubset>): Prisma__PaymentClient<$Result.GetResult, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Update one Payment. + * @param {PaymentUpdateArgs} args - Arguments to update one Payment. + * @example + * // Update one Payment + * const payment = await prisma.payment.update({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + update(args: SelectSubset>): Prisma__PaymentClient<$Result.GetResult, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + /** + * Delete zero or more Payments. + * @param {PaymentDeleteManyArgs} args - Arguments to filter Payments to delete. + * @example + * // Delete a few Payments + * const { count } = await prisma.payment.deleteMany({ + * where: { + * // ... provide filter here + * } + * }) + * + */ + deleteMany(args?: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Payments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaymentUpdateManyArgs} args - Arguments to update one or more rows. + * @example + * // Update many Payments + * const payment = await prisma.payment.updateMany({ + * where: { + * // ... provide filter here + * }, + * data: { + * // ... provide data here + * } + * }) + * + */ + updateMany(args: SelectSubset>): Prisma.PrismaPromise + + /** + * Update zero or more Payments and returns the data updated in the database. + * @param {PaymentUpdateManyAndReturnArgs} args - Arguments to update many Payments. + * @example + * // Update many Payments + * const payment = await prisma.payment.updateManyAndReturn({ + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * + * // Update zero or more Payments and only return the `id` + * const paymentWithIdOnly = await prisma.payment.updateManyAndReturn({ + * select: { id: true }, + * where: { + * // ... provide filter here + * }, + * data: [ + * // ... provide data here + * ] + * }) + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * + */ + updateManyAndReturn(args: SelectSubset>): Prisma.PrismaPromise<$Result.GetResult, T, "updateManyAndReturn", GlobalOmitOptions>> + + /** + * Create or update one Payment. + * @param {PaymentUpsertArgs} args - Arguments to update or create a Payment. + * @example + * // Update or create a Payment + * const payment = await prisma.payment.upsert({ + * create: { + * // ... data to create a Payment + * }, + * update: { + * // ... in case it already exists, update + * }, + * where: { + * // ... the filter for the Payment we want to update + * } + * }) + */ + upsert(args: SelectSubset>): Prisma__PaymentClient<$Result.GetResult, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions> + + + /** + * Count the number of Payments. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaymentCountArgs} args - Arguments to filter Payments to count. + * @example + * // Count the number of Payments + * const count = await prisma.payment.count({ + * where: { + * // ... the filter for the Payments we want to count + * } + * }) + **/ + count( + args?: Subset, + ): Prisma.PrismaPromise< + T extends $Utils.Record<'select', any> + ? T['select'] extends true + ? number + : GetScalarType + : number + > + + /** + * Allows you to perform aggregations operations on a Payment. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaymentAggregateArgs} args - Select which aggregations you would like to apply and on what fields. + * @example + * // Ordered by age ascending + * // Where email contains prisma.io + * // Limited to the 10 users + * const aggregations = await prisma.user.aggregate({ + * _avg: { + * age: true, + * }, + * where: { + * email: { + * contains: "prisma.io", + * }, + * }, + * orderBy: { + * age: "asc", + * }, + * take: 10, + * }) + **/ + aggregate(args: Subset): Prisma.PrismaPromise> + + /** + * Group by Payment. + * Note, that providing `undefined` is treated as the value not being there. + * Read more here: https://pris.ly/d/null-undefined + * @param {PaymentGroupByArgs} args - Group by arguments. + * @example + * // Group by city, order by createdAt, get count + * const result = await prisma.user.groupBy({ + * by: ['city', 'createdAt'], + * orderBy: { + * createdAt: true + * }, + * _count: { + * _all: true + * }, + * }) + * + **/ + groupBy< + T extends PaymentGroupByArgs, + HasSelectOrTake extends Or< + Extends<'skip', Keys>, + Extends<'take', Keys> + >, + OrderByArg extends True extends HasSelectOrTake + ? { orderBy: PaymentGroupByArgs['orderBy'] } + : { orderBy?: PaymentGroupByArgs['orderBy'] }, + OrderFields extends ExcludeUnderscoreKeys>>, + ByFields extends MaybeTupleToUnion, + ByValid extends Has, + HavingFields extends GetHavingFields, + HavingValid extends Has, + ByEmpty extends T['by'] extends never[] ? True : False, + InputErrors extends ByEmpty extends True + ? `Error: "by" must not be empty.` + : HavingValid extends False + ? { + [P in HavingFields]: P extends ByFields + ? never + : P extends string + ? `Error: Field "${P}" used in "having" needs to be provided in "by".` + : [ + Error, + 'Field ', + P, + ` in "having" needs to be provided in "by"`, + ] + }[HavingFields] + : 'take' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "take", you also need to provide "orderBy"' + : 'skip' extends Keys + ? 'orderBy' extends Keys + ? ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + : 'Error: If you provide "skip", you also need to provide "orderBy"' + : ByValid extends True + ? {} + : { + [P in OrderFields]: P extends ByFields + ? never + : `Error: Field "${P}" in "orderBy" needs to be provided in "by"` + }[OrderFields] + >(args: SubsetIntersection & InputErrors): {} extends InputErrors ? GetPaymentGroupByPayload : Prisma.PrismaPromise + /** + * Fields of the Payment model + */ + readonly fields: PaymentFieldRefs; + } + + /** + * The delegate class that acts as a "Promise-like" for Payment. + * Why is this prefixed with `Prisma__`? + * Because we want to prevent naming conflicts as mentioned in + * https://github.com/prisma/prisma-client-js/issues/707 + */ + export interface Prisma__PaymentClient extends Prisma.PrismaPromise { + readonly [Symbol.toStringTag]: "PrismaPromise" + user = {}>(args?: Subset>): Prisma__UserClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + package = {}>(args?: Subset>): Prisma__PackageClient<$Result.GetResult, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions> + /** + * Attaches callbacks for the resolution and/or rejection of the Promise. + * @param onfulfilled The callback to execute when the Promise is resolved. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of which ever callback is executed. + */ + then(onfulfilled?: ((value: T) => TResult1 | PromiseLike) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback for only the rejection of the Promise. + * @param onrejected The callback to execute when the Promise is rejected. + * @returns A Promise for the completion of the callback. + */ + catch(onrejected?: ((reason: any) => TResult | PromiseLike) | undefined | null): $Utils.JsPromise + /** + * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The + * resolved value cannot be modified from the callback. + * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected). + * @returns A Promise for the completion of the callback. + */ + finally(onfinally?: (() => void) | undefined | null): $Utils.JsPromise + } + + + + + /** + * Fields of the Payment model + */ + interface PaymentFieldRefs { + readonly id: FieldRef<"Payment", 'String'> + readonly userId: FieldRef<"Payment", 'String'> + readonly packageId: FieldRef<"Payment", 'String'> + readonly amount: FieldRef<"Payment", 'Int'> + readonly authority: FieldRef<"Payment", 'String'> + readonly refId: FieldRef<"Payment", 'String'> + readonly status: FieldRef<"Payment", 'PaymentStatus'> + readonly createdAt: FieldRef<"Payment", 'DateTime'> + readonly updatedAt: FieldRef<"Payment", 'DateTime'> + } + + + // Custom InputTypes + /** + * Payment findUnique + */ + export type PaymentFindUniqueArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * Filter, which Payment to fetch. + */ + where: PaymentWhereUniqueInput + } + + /** + * Payment findUniqueOrThrow + */ + export type PaymentFindUniqueOrThrowArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * Filter, which Payment to fetch. + */ + where: PaymentWhereUniqueInput + } + + /** + * Payment findFirst + */ + export type PaymentFindFirstArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * Filter, which Payment to fetch. + */ + where?: PaymentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Payments to fetch. + */ + orderBy?: PaymentOrderByWithRelationInput | PaymentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Payments. + */ + cursor?: PaymentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Payments from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Payments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Payments. + */ + distinct?: PaymentScalarFieldEnum | PaymentScalarFieldEnum[] + } + + /** + * Payment findFirstOrThrow + */ + export type PaymentFindFirstOrThrowArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * Filter, which Payment to fetch. + */ + where?: PaymentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Payments to fetch. + */ + orderBy?: PaymentOrderByWithRelationInput | PaymentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for searching for Payments. + */ + cursor?: PaymentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Payments from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Payments. + */ + skip?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs} + * + * Filter by unique combinations of Payments. + */ + distinct?: PaymentScalarFieldEnum | PaymentScalarFieldEnum[] + } + + /** + * Payment findMany + */ + export type PaymentFindManyArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * Filter, which Payments to fetch. + */ + where?: PaymentWhereInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs} + * + * Determine the order of Payments to fetch. + */ + orderBy?: PaymentOrderByWithRelationInput | PaymentOrderByWithRelationInput[] + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs} + * + * Sets the position for listing Payments. + */ + cursor?: PaymentWhereUniqueInput + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Take `±n` Payments from the position of the cursor. + */ + take?: number + /** + * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs} + * + * Skip the first `n` Payments. + */ + skip?: number + distinct?: PaymentScalarFieldEnum | PaymentScalarFieldEnum[] + } + + /** + * Payment create + */ + export type PaymentCreateArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * The data needed to create a Payment. + */ + data: XOR + } + + /** + * Payment createMany + */ + export type PaymentCreateManyArgs = { + /** + * The data used to create many Payments. + */ + data: PaymentCreateManyInput | PaymentCreateManyInput[] + skipDuplicates?: boolean + } + + /** + * Payment createManyAndReturn + */ + export type PaymentCreateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelectCreateManyAndReturn | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * The data used to create many Payments. + */ + data: PaymentCreateManyInput | PaymentCreateManyInput[] + skipDuplicates?: boolean + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentIncludeCreateManyAndReturn | null + } + + /** + * Payment update + */ + export type PaymentUpdateArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * The data needed to update a Payment. + */ + data: XOR + /** + * Choose, which Payment to update. + */ + where: PaymentWhereUniqueInput + } + + /** + * Payment updateMany + */ + export type PaymentUpdateManyArgs = { + /** + * The data used to update Payments. + */ + data: XOR + /** + * Filter which Payments to update + */ + where?: PaymentWhereInput + /** + * Limit how many Payments to update. + */ + limit?: number + } + + /** + * Payment updateManyAndReturn + */ + export type PaymentUpdateManyAndReturnArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelectUpdateManyAndReturn | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * The data used to update Payments. + */ + data: XOR + /** + * Filter which Payments to update + */ + where?: PaymentWhereInput + /** + * Limit how many Payments to update. + */ + limit?: number + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentIncludeUpdateManyAndReturn | null + } + + /** + * Payment upsert + */ + export type PaymentUpsertArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * The filter to search for the Payment to update in case it exists. + */ + where: PaymentWhereUniqueInput + /** + * In case the Payment found by the `where` argument doesn't exist, create a new Payment with this data. + */ + create: XOR + /** + * In case the Payment was found with the provided `where` argument, update it with this data. + */ + update: XOR + } + + /** + * Payment delete + */ + export type PaymentDeleteArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + /** + * Filter which Payment to delete. + */ + where: PaymentWhereUniqueInput + } + + /** + * Payment deleteMany + */ + export type PaymentDeleteManyArgs = { + /** + * Filter which Payments to delete + */ + where?: PaymentWhereInput + /** + * Limit how many Payments to delete. + */ + limit?: number + } + + /** + * Payment without action + */ + export type PaymentDefaultArgs = { + /** + * Select specific fields to fetch from the Payment + */ + select?: PaymentSelect | null + /** + * Omit specific fields from the Payment + */ + omit?: PaymentOmit | null + /** + * Choose, which related nodes to fetch as well + */ + include?: PaymentInclude | null + } + + + /** + * Enums + */ + + export const TransactionIsolationLevel: { + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' + }; + + export type TransactionIsolationLevel = (typeof TransactionIsolationLevel)[keyof typeof TransactionIsolationLevel] + + + export const CountryScalarFieldEnum: { + id: 'id', + name: 'name', + code: 'code', + flagUrl: 'flagUrl', + flagImage: 'flagImage', + confederation: 'confederation', + qualificationMethod: 'qualificationMethod', + qualificationDate: 'qualificationDate', + participationHistory: 'participationHistory', + bestResult: 'bestResult', + description: 'description', + defaultFormation: 'defaultFormation', + defaultLineupPlayerIds: 'defaultLineupPlayerIds', + defaultCaptainId: 'defaultCaptainId', + groupId: 'groupId', + isEliminated: 'isEliminated' + }; + + export type CountryScalarFieldEnum = (typeof CountryScalarFieldEnum)[keyof typeof CountryScalarFieldEnum] + + + export const GroupScalarFieldEnum: { + id: 'id', + name: 'name' + }; + + export type GroupScalarFieldEnum = (typeof GroupScalarFieldEnum)[keyof typeof GroupScalarFieldEnum] + + + export const PlayerScalarFieldEnum: { + id: 'id', + name: 'name', + image: 'image', + position: 'position', + countryId: 'countryId', + price: 'price', + totalPoints: 'totalPoints', + isActive: 'isActive', + isGoldenCardEligible: 'isGoldenCardEligible', + cardTier: 'cardTier', + createdAt: 'createdAt', + updatedAt: 'updatedAt' + }; + + export type PlayerScalarFieldEnum = (typeof PlayerScalarFieldEnum)[keyof typeof PlayerScalarFieldEnum] + + + export const MatchScalarFieldEnum: { + id: 'id', + homeTeamId: 'homeTeamId', + awayTeamId: 'awayTeamId', + homeScore: 'homeScore', + awayScore: 'awayScore', + stage: 'stage', + status: 'status', + matchDate: 'matchDate', + matchDatePersian: 'matchDatePersian', + stadium: 'stadium', + city: 'city', + referee: 'referee', + assistant1: 'assistant1', + assistant2: 'assistant2', + fourthOfficial: 'fourthOfficial', + attendance: 'attendance', + weather: 'weather', + description: 'description', + roundId: 'roundId', + createdAt: 'createdAt' + }; + + export type MatchScalarFieldEnum = (typeof MatchScalarFieldEnum)[keyof typeof MatchScalarFieldEnum] + + + export const RoundScalarFieldEnum: { + id: 'id', + number: 'number', + name: 'name', + isActive: 'isActive', + deadline: 'deadline', + createdAt: 'createdAt' + }; + + export type RoundScalarFieldEnum = (typeof RoundScalarFieldEnum)[keyof typeof RoundScalarFieldEnum] + + + export const GameweekScalarFieldEnum: { + id: 'id', + number: 'number', + name: 'name', + isActive: 'isActive', + deadline: 'deadline', + createdAt: 'createdAt' + }; + + export type GameweekScalarFieldEnum = (typeof GameweekScalarFieldEnum)[keyof typeof GameweekScalarFieldEnum] + + + export const MatchEventScalarFieldEnum: { + id: 'id', + matchId: 'matchId', + playerId: 'playerId', + type: 'type', + minute: 'minute', + extraInfo: 'extraInfo', + createdAt: 'createdAt' + }; + + export type MatchEventScalarFieldEnum = (typeof MatchEventScalarFieldEnum)[keyof typeof MatchEventScalarFieldEnum] + + + export const MatchLineupScalarFieldEnum: { + id: 'id', + matchId: 'matchId', + countryId: 'countryId', + formation: 'formation', + playerIds: 'playerIds' + }; + + export type MatchLineupScalarFieldEnum = (typeof MatchLineupScalarFieldEnum)[keyof typeof MatchLineupScalarFieldEnum] + + + export const PlayerMatchStatScalarFieldEnum: { + id: 'id', + playerId: 'playerId', + matchId: 'matchId', + goals: 'goals', + assists: 'assists', + yellowCards: 'yellowCards', + redCards: 'redCards', + minutesPlayed: 'minutesPlayed', + cleanSheet: 'cleanSheet', + penaltySaved: 'penaltySaved', + penaltyMissed: 'penaltyMissed', + ownGoals: 'ownGoals', + isMotm: 'isMotm', + extraTimeBonus: 'extraTimeBonus', + points: 'points' + }; + + export type PlayerMatchStatScalarFieldEnum = (typeof PlayerMatchStatScalarFieldEnum)[keyof typeof PlayerMatchStatScalarFieldEnum] + + + export const ScoringRuleScalarFieldEnum: { + id: 'id', + position: 'position', + eventType: 'eventType', + points: 'points', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' + }; + + export type ScoringRuleScalarFieldEnum = (typeof ScoringRuleScalarFieldEnum)[keyof typeof ScoringRuleScalarFieldEnum] + + + export const UserScalarFieldEnum: { + id: 'id', + name: 'name', + email: 'email', + phone: 'phone', + password: 'password', + role: 'role', + createdAt: 'createdAt' + }; + + export type UserScalarFieldEnum = (typeof UserScalarFieldEnum)[keyof typeof UserScalarFieldEnum] + + + export const LoginOtpScalarFieldEnum: { + id: 'id', + phone: 'phone', + codeHash: 'codeHash', + attempts: 'attempts', + expiresAt: 'expiresAt', + consumedAt: 'consumedAt', + createdAt: 'createdAt' + }; + + export type LoginOtpScalarFieldEnum = (typeof LoginOtpScalarFieldEnum)[keyof typeof LoginOtpScalarFieldEnum] + + + export const FantasyNewsScalarFieldEnum: { + id: 'id', + icon: 'icon', + title: 'title', + description: 'description', + newsTime: 'newsTime', + createdAt: 'createdAt', + updatedAt: 'updatedAt' + }; + + export type FantasyNewsScalarFieldEnum = (typeof FantasyNewsScalarFieldEnum)[keyof typeof FantasyNewsScalarFieldEnum] + + + export const DailyQuizScalarFieldEnum: { + id: 'id', + date: 'date', + windowStart: 'windowStart', + windowEnd: 'windowEnd', + goldWinnersCount: 'goldWinnersCount', + silverWinnersCount: 'silverWinnersCount', + bronzeWinnersCount: 'bronzeWinnersCount', + goldMinCorrect: 'goldMinCorrect', + silverMinCorrect: 'silverMinCorrect', + bronzeMinCorrect: 'bronzeMinCorrect', + isProcessed: 'isProcessed', + createdAt: 'createdAt' + }; + + export type DailyQuizScalarFieldEnum = (typeof DailyQuizScalarFieldEnum)[keyof typeof DailyQuizScalarFieldEnum] + + + export const QuizQuestionScalarFieldEnum: { + id: 'id', + quizId: 'quizId', + questionText: 'questionText', + options: 'options', + correctAnswer: 'correctAnswer', + order: 'order' + }; + + export type QuizQuestionScalarFieldEnum = (typeof QuizQuestionScalarFieldEnum)[keyof typeof QuizQuestionScalarFieldEnum] + + + export const QuizSubmissionScalarFieldEnum: { + id: 'id', + userId: 'userId', + quizId: 'quizId', + answers: 'answers', + correctAnswers: 'correctAnswers', + score: 'score', + submittedAt: 'submittedAt' + }; + + export type QuizSubmissionScalarFieldEnum = (typeof QuizSubmissionScalarFieldEnum)[keyof typeof QuizSubmissionScalarFieldEnum] + + + export const GoldenCardScalarFieldEnum: { + id: 'id', + userId: 'userId', + quizId: 'quizId', + playerId: 'playerId', + cardTier: 'cardTier', + status: 'status', + state: 'state', + acquiredDate: 'acquiredDate', + openedAt: 'openedAt' + }; + + export type GoldenCardScalarFieldEnum = (typeof GoldenCardScalarFieldEnum)[keyof typeof GoldenCardScalarFieldEnum] + + + export const SessionScalarFieldEnum: { + id: 'id', + sessionToken: 'sessionToken', + userId: 'userId', + expires: 'expires' + }; + + export type SessionScalarFieldEnum = (typeof SessionScalarFieldEnum)[keyof typeof SessionScalarFieldEnum] + + + export const TeamScalarFieldEnum: { + id: 'id', + name: 'name', + userId: 'userId', + budget: 'budget', + totalPoints: 'totalPoints', + formation: 'formation', + status: 'status', + createdAt: 'createdAt' + }; + + export type TeamScalarFieldEnum = (typeof TeamScalarFieldEnum)[keyof typeof TeamScalarFieldEnum] + + + export const TeamPlayerScalarFieldEnum: { + teamId: 'teamId', + playerId: 'playerId', + goldenCardId: 'goldenCardId', + isCaptain: 'isCaptain', + isViceCaptain: 'isViceCaptain', + isBench: 'isBench', + positionIndex: 'positionIndex' + }; + + export type TeamPlayerScalarFieldEnum = (typeof TeamPlayerScalarFieldEnum)[keyof typeof TeamPlayerScalarFieldEnum] + + + export const PackageScalarFieldEnum: { + id: 'id', + name: 'name', + budgetBonus: 'budgetBonus', + price: 'price', + description: 'description', + isActive: 'isActive' + }; + + export type PackageScalarFieldEnum = (typeof PackageScalarFieldEnum)[keyof typeof PackageScalarFieldEnum] + + + export const PaymentScalarFieldEnum: { + id: 'id', + userId: 'userId', + packageId: 'packageId', + amount: 'amount', + authority: 'authority', + refId: 'refId', + status: 'status', + createdAt: 'createdAt', + updatedAt: 'updatedAt' + }; + + export type PaymentScalarFieldEnum = (typeof PaymentScalarFieldEnum)[keyof typeof PaymentScalarFieldEnum] + + + export const SortOrder: { + asc: 'asc', + desc: 'desc' + }; + + export type SortOrder = (typeof SortOrder)[keyof typeof SortOrder] + + + export const QueryMode: { + default: 'default', + insensitive: 'insensitive' + }; + + export type QueryMode = (typeof QueryMode)[keyof typeof QueryMode] + + + export const NullsOrder: { + first: 'first', + last: 'last' + }; + + export type NullsOrder = (typeof NullsOrder)[keyof typeof NullsOrder] + + + /** + * Field references + */ + + + /** + * Reference to a field of type 'String' + */ + export type StringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String'> + + + + /** + * Reference to a field of type 'String[]' + */ + export type ListStringFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'String[]'> + + + + /** + * Reference to a field of type 'Boolean' + */ + export type BooleanFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Boolean'> + + + + /** + * Reference to a field of type 'Position' + */ + export type EnumPositionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Position'> + + + + /** + * Reference to a field of type 'Position[]' + */ + export type ListEnumPositionFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Position[]'> + + + + /** + * Reference to a field of type 'Float' + */ + export type FloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float'> + + + + /** + * Reference to a field of type 'Float[]' + */ + export type ListFloatFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Float[]'> + + + + /** + * Reference to a field of type 'Int' + */ + export type IntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int'> + + + + /** + * Reference to a field of type 'Int[]' + */ + export type ListIntFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Int[]'> + + + + /** + * Reference to a field of type 'CardTier' + */ + export type EnumCardTierFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'CardTier'> + + + + /** + * Reference to a field of type 'CardTier[]' + */ + export type ListEnumCardTierFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'CardTier[]'> + + + + /** + * Reference to a field of type 'DateTime' + */ + export type DateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime'> + + + + /** + * Reference to a field of type 'DateTime[]' + */ + export type ListDateTimeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'DateTime[]'> + + + + /** + * Reference to a field of type 'MatchStage' + */ + export type EnumMatchStageFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MatchStage'> + + + + /** + * Reference to a field of type 'MatchStage[]' + */ + export type ListEnumMatchStageFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MatchStage[]'> + + + + /** + * Reference to a field of type 'MatchStatus' + */ + export type EnumMatchStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MatchStatus'> + + + + /** + * Reference to a field of type 'MatchStatus[]' + */ + export type ListEnumMatchStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'MatchStatus[]'> + + + + /** + * Reference to a field of type 'EventType' + */ + export type EnumEventTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'EventType'> + + + + /** + * Reference to a field of type 'EventType[]' + */ + export type ListEnumEventTypeFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'EventType[]'> + + + + /** + * Reference to a field of type 'Role' + */ + export type EnumRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Role'> + + + + /** + * Reference to a field of type 'Role[]' + */ + export type ListEnumRoleFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'Role[]'> + + + + /** + * Reference to a field of type 'GoldenCardStatus' + */ + export type EnumGoldenCardStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'GoldenCardStatus'> + + + + /** + * Reference to a field of type 'GoldenCardStatus[]' + */ + export type ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'GoldenCardStatus[]'> + + + + /** + * Reference to a field of type 'SpecialCardState' + */ + export type EnumSpecialCardStateFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SpecialCardState'> + + + + /** + * Reference to a field of type 'SpecialCardState[]' + */ + export type ListEnumSpecialCardStateFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'SpecialCardState[]'> + + + + /** + * Reference to a field of type 'TeamStatus' + */ + export type EnumTeamStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'TeamStatus'> + + + + /** + * Reference to a field of type 'TeamStatus[]' + */ + export type ListEnumTeamStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'TeamStatus[]'> + + + + /** + * Reference to a field of type 'PaymentStatus' + */ + export type EnumPaymentStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PaymentStatus'> + + + + /** + * Reference to a field of type 'PaymentStatus[]' + */ + export type ListEnumPaymentStatusFieldRefInput<$PrismaModel> = FieldRefInputType<$PrismaModel, 'PaymentStatus[]'> + + /** + * Deep Input Types + */ + + + export type CountryWhereInput = { + AND?: CountryWhereInput | CountryWhereInput[] + OR?: CountryWhereInput[] + NOT?: CountryWhereInput | CountryWhereInput[] + id?: StringFilter<"Country"> | string + name?: StringFilter<"Country"> | string + code?: StringFilter<"Country"> | string + flagUrl?: StringNullableFilter<"Country"> | string | null + flagImage?: StringNullableFilter<"Country"> | string | null + confederation?: StringNullableFilter<"Country"> | string | null + qualificationMethod?: StringNullableFilter<"Country"> | string | null + qualificationDate?: StringNullableFilter<"Country"> | string | null + participationHistory?: StringNullableFilter<"Country"> | string | null + bestResult?: StringNullableFilter<"Country"> | string | null + description?: StringNullableFilter<"Country"> | string | null + defaultFormation?: StringFilter<"Country"> | string + defaultLineupPlayerIds?: StringNullableListFilter<"Country"> + defaultCaptainId?: StringNullableFilter<"Country"> | string | null + groupId?: StringNullableFilter<"Country"> | string | null + isEliminated?: BoolFilter<"Country"> | boolean + group?: XOR | null + players?: PlayerListRelationFilter + homeMatches?: MatchListRelationFilter + awayMatches?: MatchListRelationFilter + } + + export type CountryOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + code?: SortOrder + flagUrl?: SortOrderInput | SortOrder + flagImage?: SortOrderInput | SortOrder + confederation?: SortOrderInput | SortOrder + qualificationMethod?: SortOrderInput | SortOrder + qualificationDate?: SortOrderInput | SortOrder + participationHistory?: SortOrderInput | SortOrder + bestResult?: SortOrderInput | SortOrder + description?: SortOrderInput | SortOrder + defaultFormation?: SortOrder + defaultLineupPlayerIds?: SortOrder + defaultCaptainId?: SortOrderInput | SortOrder + groupId?: SortOrderInput | SortOrder + isEliminated?: SortOrder + group?: GroupOrderByWithRelationInput + players?: PlayerOrderByRelationAggregateInput + homeMatches?: MatchOrderByRelationAggregateInput + awayMatches?: MatchOrderByRelationAggregateInput + } + + export type CountryWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name?: string + code?: string + AND?: CountryWhereInput | CountryWhereInput[] + OR?: CountryWhereInput[] + NOT?: CountryWhereInput | CountryWhereInput[] + flagUrl?: StringNullableFilter<"Country"> | string | null + flagImage?: StringNullableFilter<"Country"> | string | null + confederation?: StringNullableFilter<"Country"> | string | null + qualificationMethod?: StringNullableFilter<"Country"> | string | null + qualificationDate?: StringNullableFilter<"Country"> | string | null + participationHistory?: StringNullableFilter<"Country"> | string | null + bestResult?: StringNullableFilter<"Country"> | string | null + description?: StringNullableFilter<"Country"> | string | null + defaultFormation?: StringFilter<"Country"> | string + defaultLineupPlayerIds?: StringNullableListFilter<"Country"> + defaultCaptainId?: StringNullableFilter<"Country"> | string | null + groupId?: StringNullableFilter<"Country"> | string | null + isEliminated?: BoolFilter<"Country"> | boolean + group?: XOR | null + players?: PlayerListRelationFilter + homeMatches?: MatchListRelationFilter + awayMatches?: MatchListRelationFilter + }, "id" | "name" | "code"> + + export type CountryOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + code?: SortOrder + flagUrl?: SortOrderInput | SortOrder + flagImage?: SortOrderInput | SortOrder + confederation?: SortOrderInput | SortOrder + qualificationMethod?: SortOrderInput | SortOrder + qualificationDate?: SortOrderInput | SortOrder + participationHistory?: SortOrderInput | SortOrder + bestResult?: SortOrderInput | SortOrder + description?: SortOrderInput | SortOrder + defaultFormation?: SortOrder + defaultLineupPlayerIds?: SortOrder + defaultCaptainId?: SortOrderInput | SortOrder + groupId?: SortOrderInput | SortOrder + isEliminated?: SortOrder + _count?: CountryCountOrderByAggregateInput + _max?: CountryMaxOrderByAggregateInput + _min?: CountryMinOrderByAggregateInput + } + + export type CountryScalarWhereWithAggregatesInput = { + AND?: CountryScalarWhereWithAggregatesInput | CountryScalarWhereWithAggregatesInput[] + OR?: CountryScalarWhereWithAggregatesInput[] + NOT?: CountryScalarWhereWithAggregatesInput | CountryScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Country"> | string + name?: StringWithAggregatesFilter<"Country"> | string + code?: StringWithAggregatesFilter<"Country"> | string + flagUrl?: StringNullableWithAggregatesFilter<"Country"> | string | null + flagImage?: StringNullableWithAggregatesFilter<"Country"> | string | null + confederation?: StringNullableWithAggregatesFilter<"Country"> | string | null + qualificationMethod?: StringNullableWithAggregatesFilter<"Country"> | string | null + qualificationDate?: StringNullableWithAggregatesFilter<"Country"> | string | null + participationHistory?: StringNullableWithAggregatesFilter<"Country"> | string | null + bestResult?: StringNullableWithAggregatesFilter<"Country"> | string | null + description?: StringNullableWithAggregatesFilter<"Country"> | string | null + defaultFormation?: StringWithAggregatesFilter<"Country"> | string + defaultLineupPlayerIds?: StringNullableListFilter<"Country"> + defaultCaptainId?: StringNullableWithAggregatesFilter<"Country"> | string | null + groupId?: StringNullableWithAggregatesFilter<"Country"> | string | null + isEliminated?: BoolWithAggregatesFilter<"Country"> | boolean + } + + export type GroupWhereInput = { + AND?: GroupWhereInput | GroupWhereInput[] + OR?: GroupWhereInput[] + NOT?: GroupWhereInput | GroupWhereInput[] + id?: StringFilter<"Group"> | string + name?: StringFilter<"Group"> | string + countries?: CountryListRelationFilter + } + + export type GroupOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + countries?: CountryOrderByRelationAggregateInput + } + + export type GroupWhereUniqueInput = Prisma.AtLeast<{ + id?: string + name?: string + AND?: GroupWhereInput | GroupWhereInput[] + OR?: GroupWhereInput[] + NOT?: GroupWhereInput | GroupWhereInput[] + countries?: CountryListRelationFilter + }, "id" | "name"> + + export type GroupOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + _count?: GroupCountOrderByAggregateInput + _max?: GroupMaxOrderByAggregateInput + _min?: GroupMinOrderByAggregateInput + } + + export type GroupScalarWhereWithAggregatesInput = { + AND?: GroupScalarWhereWithAggregatesInput | GroupScalarWhereWithAggregatesInput[] + OR?: GroupScalarWhereWithAggregatesInput[] + NOT?: GroupScalarWhereWithAggregatesInput | GroupScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Group"> | string + name?: StringWithAggregatesFilter<"Group"> | string + } + + export type PlayerWhereInput = { + AND?: PlayerWhereInput | PlayerWhereInput[] + OR?: PlayerWhereInput[] + NOT?: PlayerWhereInput | PlayerWhereInput[] + id?: StringFilter<"Player"> | string + name?: StringFilter<"Player"> | string + image?: StringNullableFilter<"Player"> | string | null + position?: EnumPositionFilter<"Player"> | $Enums.Position + countryId?: StringFilter<"Player"> | string + price?: FloatFilter<"Player"> | number + totalPoints?: IntFilter<"Player"> | number + isActive?: BoolFilter<"Player"> | boolean + isGoldenCardEligible?: BoolFilter<"Player"> | boolean + cardTier?: EnumCardTierFilter<"Player"> | $Enums.CardTier + createdAt?: DateTimeFilter<"Player"> | Date | string + updatedAt?: DateTimeFilter<"Player"> | Date | string + country?: XOR + matchStats?: PlayerMatchStatListRelationFilter + teamPlayers?: TeamPlayerListRelationFilter + events?: MatchEventListRelationFilter + goldenCards?: GoldenCardListRelationFilter + } + + export type PlayerOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + image?: SortOrderInput | SortOrder + position?: SortOrder + countryId?: SortOrder + price?: SortOrder + totalPoints?: SortOrder + isActive?: SortOrder + isGoldenCardEligible?: SortOrder + cardTier?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + country?: CountryOrderByWithRelationInput + matchStats?: PlayerMatchStatOrderByRelationAggregateInput + teamPlayers?: TeamPlayerOrderByRelationAggregateInput + events?: MatchEventOrderByRelationAggregateInput + goldenCards?: GoldenCardOrderByRelationAggregateInput + } + + export type PlayerWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: PlayerWhereInput | PlayerWhereInput[] + OR?: PlayerWhereInput[] + NOT?: PlayerWhereInput | PlayerWhereInput[] + name?: StringFilter<"Player"> | string + image?: StringNullableFilter<"Player"> | string | null + position?: EnumPositionFilter<"Player"> | $Enums.Position + countryId?: StringFilter<"Player"> | string + price?: FloatFilter<"Player"> | number + totalPoints?: IntFilter<"Player"> | number + isActive?: BoolFilter<"Player"> | boolean + isGoldenCardEligible?: BoolFilter<"Player"> | boolean + cardTier?: EnumCardTierFilter<"Player"> | $Enums.CardTier + createdAt?: DateTimeFilter<"Player"> | Date | string + updatedAt?: DateTimeFilter<"Player"> | Date | string + country?: XOR + matchStats?: PlayerMatchStatListRelationFilter + teamPlayers?: TeamPlayerListRelationFilter + events?: MatchEventListRelationFilter + goldenCards?: GoldenCardListRelationFilter + }, "id"> + + export type PlayerOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + image?: SortOrderInput | SortOrder + position?: SortOrder + countryId?: SortOrder + price?: SortOrder + totalPoints?: SortOrder + isActive?: SortOrder + isGoldenCardEligible?: SortOrder + cardTier?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + _count?: PlayerCountOrderByAggregateInput + _avg?: PlayerAvgOrderByAggregateInput + _max?: PlayerMaxOrderByAggregateInput + _min?: PlayerMinOrderByAggregateInput + _sum?: PlayerSumOrderByAggregateInput + } + + export type PlayerScalarWhereWithAggregatesInput = { + AND?: PlayerScalarWhereWithAggregatesInput | PlayerScalarWhereWithAggregatesInput[] + OR?: PlayerScalarWhereWithAggregatesInput[] + NOT?: PlayerScalarWhereWithAggregatesInput | PlayerScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Player"> | string + name?: StringWithAggregatesFilter<"Player"> | string + image?: StringNullableWithAggregatesFilter<"Player"> | string | null + position?: EnumPositionWithAggregatesFilter<"Player"> | $Enums.Position + countryId?: StringWithAggregatesFilter<"Player"> | string + price?: FloatWithAggregatesFilter<"Player"> | number + totalPoints?: IntWithAggregatesFilter<"Player"> | number + isActive?: BoolWithAggregatesFilter<"Player"> | boolean + isGoldenCardEligible?: BoolWithAggregatesFilter<"Player"> | boolean + cardTier?: EnumCardTierWithAggregatesFilter<"Player"> | $Enums.CardTier + createdAt?: DateTimeWithAggregatesFilter<"Player"> | Date | string + updatedAt?: DateTimeWithAggregatesFilter<"Player"> | Date | string + } + + export type MatchWhereInput = { + AND?: MatchWhereInput | MatchWhereInput[] + OR?: MatchWhereInput[] + NOT?: MatchWhereInput | MatchWhereInput[] + id?: StringFilter<"Match"> | string + homeTeamId?: StringFilter<"Match"> | string + awayTeamId?: StringFilter<"Match"> | string + homeScore?: IntNullableFilter<"Match"> | number | null + awayScore?: IntNullableFilter<"Match"> | number | null + stage?: EnumMatchStageFilter<"Match"> | $Enums.MatchStage + status?: EnumMatchStatusFilter<"Match"> | $Enums.MatchStatus + matchDate?: DateTimeFilter<"Match"> | Date | string + matchDatePersian?: StringNullableFilter<"Match"> | string | null + stadium?: StringNullableFilter<"Match"> | string | null + city?: StringNullableFilter<"Match"> | string | null + referee?: StringNullableFilter<"Match"> | string | null + assistant1?: StringNullableFilter<"Match"> | string | null + assistant2?: StringNullableFilter<"Match"> | string | null + fourthOfficial?: StringNullableFilter<"Match"> | string | null + attendance?: IntNullableFilter<"Match"> | number | null + weather?: StringNullableFilter<"Match"> | string | null + description?: StringNullableFilter<"Match"> | string | null + roundId?: StringNullableFilter<"Match"> | string | null + createdAt?: DateTimeFilter<"Match"> | Date | string + homeTeam?: XOR + awayTeam?: XOR + round?: XOR | null + playerStats?: PlayerMatchStatListRelationFilter + events?: MatchEventListRelationFilter + lineups?: MatchLineupListRelationFilter + } + + export type MatchOrderByWithRelationInput = { + id?: SortOrder + homeTeamId?: SortOrder + awayTeamId?: SortOrder + homeScore?: SortOrderInput | SortOrder + awayScore?: SortOrderInput | SortOrder + stage?: SortOrder + status?: SortOrder + matchDate?: SortOrder + matchDatePersian?: SortOrderInput | SortOrder + stadium?: SortOrderInput | SortOrder + city?: SortOrderInput | SortOrder + referee?: SortOrderInput | SortOrder + assistant1?: SortOrderInput | SortOrder + assistant2?: SortOrderInput | SortOrder + fourthOfficial?: SortOrderInput | SortOrder + attendance?: SortOrderInput | SortOrder + weather?: SortOrderInput | SortOrder + description?: SortOrderInput | SortOrder + roundId?: SortOrderInput | SortOrder + createdAt?: SortOrder + homeTeam?: CountryOrderByWithRelationInput + awayTeam?: CountryOrderByWithRelationInput + round?: RoundOrderByWithRelationInput + playerStats?: PlayerMatchStatOrderByRelationAggregateInput + events?: MatchEventOrderByRelationAggregateInput + lineups?: MatchLineupOrderByRelationAggregateInput + } + + export type MatchWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: MatchWhereInput | MatchWhereInput[] + OR?: MatchWhereInput[] + NOT?: MatchWhereInput | MatchWhereInput[] + homeTeamId?: StringFilter<"Match"> | string + awayTeamId?: StringFilter<"Match"> | string + homeScore?: IntNullableFilter<"Match"> | number | null + awayScore?: IntNullableFilter<"Match"> | number | null + stage?: EnumMatchStageFilter<"Match"> | $Enums.MatchStage + status?: EnumMatchStatusFilter<"Match"> | $Enums.MatchStatus + matchDate?: DateTimeFilter<"Match"> | Date | string + matchDatePersian?: StringNullableFilter<"Match"> | string | null + stadium?: StringNullableFilter<"Match"> | string | null + city?: StringNullableFilter<"Match"> | string | null + referee?: StringNullableFilter<"Match"> | string | null + assistant1?: StringNullableFilter<"Match"> | string | null + assistant2?: StringNullableFilter<"Match"> | string | null + fourthOfficial?: StringNullableFilter<"Match"> | string | null + attendance?: IntNullableFilter<"Match"> | number | null + weather?: StringNullableFilter<"Match"> | string | null + description?: StringNullableFilter<"Match"> | string | null + roundId?: StringNullableFilter<"Match"> | string | null + createdAt?: DateTimeFilter<"Match"> | Date | string + homeTeam?: XOR + awayTeam?: XOR + round?: XOR | null + playerStats?: PlayerMatchStatListRelationFilter + events?: MatchEventListRelationFilter + lineups?: MatchLineupListRelationFilter + }, "id"> + + export type MatchOrderByWithAggregationInput = { + id?: SortOrder + homeTeamId?: SortOrder + awayTeamId?: SortOrder + homeScore?: SortOrderInput | SortOrder + awayScore?: SortOrderInput | SortOrder + stage?: SortOrder + status?: SortOrder + matchDate?: SortOrder + matchDatePersian?: SortOrderInput | SortOrder + stadium?: SortOrderInput | SortOrder + city?: SortOrderInput | SortOrder + referee?: SortOrderInput | SortOrder + assistant1?: SortOrderInput | SortOrder + assistant2?: SortOrderInput | SortOrder + fourthOfficial?: SortOrderInput | SortOrder + attendance?: SortOrderInput | SortOrder + weather?: SortOrderInput | SortOrder + description?: SortOrderInput | SortOrder + roundId?: SortOrderInput | SortOrder + createdAt?: SortOrder + _count?: MatchCountOrderByAggregateInput + _avg?: MatchAvgOrderByAggregateInput + _max?: MatchMaxOrderByAggregateInput + _min?: MatchMinOrderByAggregateInput + _sum?: MatchSumOrderByAggregateInput + } + + export type MatchScalarWhereWithAggregatesInput = { + AND?: MatchScalarWhereWithAggregatesInput | MatchScalarWhereWithAggregatesInput[] + OR?: MatchScalarWhereWithAggregatesInput[] + NOT?: MatchScalarWhereWithAggregatesInput | MatchScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Match"> | string + homeTeamId?: StringWithAggregatesFilter<"Match"> | string + awayTeamId?: StringWithAggregatesFilter<"Match"> | string + homeScore?: IntNullableWithAggregatesFilter<"Match"> | number | null + awayScore?: IntNullableWithAggregatesFilter<"Match"> | number | null + stage?: EnumMatchStageWithAggregatesFilter<"Match"> | $Enums.MatchStage + status?: EnumMatchStatusWithAggregatesFilter<"Match"> | $Enums.MatchStatus + matchDate?: DateTimeWithAggregatesFilter<"Match"> | Date | string + matchDatePersian?: StringNullableWithAggregatesFilter<"Match"> | string | null + stadium?: StringNullableWithAggregatesFilter<"Match"> | string | null + city?: StringNullableWithAggregatesFilter<"Match"> | string | null + referee?: StringNullableWithAggregatesFilter<"Match"> | string | null + assistant1?: StringNullableWithAggregatesFilter<"Match"> | string | null + assistant2?: StringNullableWithAggregatesFilter<"Match"> | string | null + fourthOfficial?: StringNullableWithAggregatesFilter<"Match"> | string | null + attendance?: IntNullableWithAggregatesFilter<"Match"> | number | null + weather?: StringNullableWithAggregatesFilter<"Match"> | string | null + description?: StringNullableWithAggregatesFilter<"Match"> | string | null + roundId?: StringNullableWithAggregatesFilter<"Match"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"Match"> | Date | string + } + + export type RoundWhereInput = { + AND?: RoundWhereInput | RoundWhereInput[] + OR?: RoundWhereInput[] + NOT?: RoundWhereInput | RoundWhereInput[] + id?: StringFilter<"Round"> | string + number?: IntFilter<"Round"> | number + name?: StringFilter<"Round"> | string + isActive?: BoolFilter<"Round"> | boolean + deadline?: DateTimeFilter<"Round"> | Date | string + createdAt?: DateTimeFilter<"Round"> | Date | string + matches?: MatchListRelationFilter + } + + export type RoundOrderByWithRelationInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + matches?: MatchOrderByRelationAggregateInput + } + + export type RoundWhereUniqueInput = Prisma.AtLeast<{ + id?: string + number?: number + AND?: RoundWhereInput | RoundWhereInput[] + OR?: RoundWhereInput[] + NOT?: RoundWhereInput | RoundWhereInput[] + name?: StringFilter<"Round"> | string + isActive?: BoolFilter<"Round"> | boolean + deadline?: DateTimeFilter<"Round"> | Date | string + createdAt?: DateTimeFilter<"Round"> | Date | string + matches?: MatchListRelationFilter + }, "id" | "number"> + + export type RoundOrderByWithAggregationInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + _count?: RoundCountOrderByAggregateInput + _avg?: RoundAvgOrderByAggregateInput + _max?: RoundMaxOrderByAggregateInput + _min?: RoundMinOrderByAggregateInput + _sum?: RoundSumOrderByAggregateInput + } + + export type RoundScalarWhereWithAggregatesInput = { + AND?: RoundScalarWhereWithAggregatesInput | RoundScalarWhereWithAggregatesInput[] + OR?: RoundScalarWhereWithAggregatesInput[] + NOT?: RoundScalarWhereWithAggregatesInput | RoundScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Round"> | string + number?: IntWithAggregatesFilter<"Round"> | number + name?: StringWithAggregatesFilter<"Round"> | string + isActive?: BoolWithAggregatesFilter<"Round"> | boolean + deadline?: DateTimeWithAggregatesFilter<"Round"> | Date | string + createdAt?: DateTimeWithAggregatesFilter<"Round"> | Date | string + } + + export type GameweekWhereInput = { + AND?: GameweekWhereInput | GameweekWhereInput[] + OR?: GameweekWhereInput[] + NOT?: GameweekWhereInput | GameweekWhereInput[] + id?: StringFilter<"Gameweek"> | string + number?: IntFilter<"Gameweek"> | number + name?: StringFilter<"Gameweek"> | string + isActive?: BoolFilter<"Gameweek"> | boolean + deadline?: DateTimeFilter<"Gameweek"> | Date | string + createdAt?: DateTimeFilter<"Gameweek"> | Date | string + } + + export type GameweekOrderByWithRelationInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + } + + export type GameweekWhereUniqueInput = Prisma.AtLeast<{ + id?: string + number?: number + AND?: GameweekWhereInput | GameweekWhereInput[] + OR?: GameweekWhereInput[] + NOT?: GameweekWhereInput | GameweekWhereInput[] + name?: StringFilter<"Gameweek"> | string + isActive?: BoolFilter<"Gameweek"> | boolean + deadline?: DateTimeFilter<"Gameweek"> | Date | string + createdAt?: DateTimeFilter<"Gameweek"> | Date | string + }, "id" | "number"> + + export type GameweekOrderByWithAggregationInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + _count?: GameweekCountOrderByAggregateInput + _avg?: GameweekAvgOrderByAggregateInput + _max?: GameweekMaxOrderByAggregateInput + _min?: GameweekMinOrderByAggregateInput + _sum?: GameweekSumOrderByAggregateInput + } + + export type GameweekScalarWhereWithAggregatesInput = { + AND?: GameweekScalarWhereWithAggregatesInput | GameweekScalarWhereWithAggregatesInput[] + OR?: GameweekScalarWhereWithAggregatesInput[] + NOT?: GameweekScalarWhereWithAggregatesInput | GameweekScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Gameweek"> | string + number?: IntWithAggregatesFilter<"Gameweek"> | number + name?: StringWithAggregatesFilter<"Gameweek"> | string + isActive?: BoolWithAggregatesFilter<"Gameweek"> | boolean + deadline?: DateTimeWithAggregatesFilter<"Gameweek"> | Date | string + createdAt?: DateTimeWithAggregatesFilter<"Gameweek"> | Date | string + } + + export type MatchEventWhereInput = { + AND?: MatchEventWhereInput | MatchEventWhereInput[] + OR?: MatchEventWhereInput[] + NOT?: MatchEventWhereInput | MatchEventWhereInput[] + id?: StringFilter<"MatchEvent"> | string + matchId?: StringFilter<"MatchEvent"> | string + playerId?: StringFilter<"MatchEvent"> | string + type?: EnumEventTypeFilter<"MatchEvent"> | $Enums.EventType + minute?: IntNullableFilter<"MatchEvent"> | number | null + extraInfo?: StringNullableFilter<"MatchEvent"> | string | null + createdAt?: DateTimeFilter<"MatchEvent"> | Date | string + match?: XOR + player?: XOR + } + + export type MatchEventOrderByWithRelationInput = { + id?: SortOrder + matchId?: SortOrder + playerId?: SortOrder + type?: SortOrder + minute?: SortOrderInput | SortOrder + extraInfo?: SortOrderInput | SortOrder + createdAt?: SortOrder + match?: MatchOrderByWithRelationInput + player?: PlayerOrderByWithRelationInput + } + + export type MatchEventWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: MatchEventWhereInput | MatchEventWhereInput[] + OR?: MatchEventWhereInput[] + NOT?: MatchEventWhereInput | MatchEventWhereInput[] + matchId?: StringFilter<"MatchEvent"> | string + playerId?: StringFilter<"MatchEvent"> | string + type?: EnumEventTypeFilter<"MatchEvent"> | $Enums.EventType + minute?: IntNullableFilter<"MatchEvent"> | number | null + extraInfo?: StringNullableFilter<"MatchEvent"> | string | null + createdAt?: DateTimeFilter<"MatchEvent"> | Date | string + match?: XOR + player?: XOR + }, "id"> + + export type MatchEventOrderByWithAggregationInput = { + id?: SortOrder + matchId?: SortOrder + playerId?: SortOrder + type?: SortOrder + minute?: SortOrderInput | SortOrder + extraInfo?: SortOrderInput | SortOrder + createdAt?: SortOrder + _count?: MatchEventCountOrderByAggregateInput + _avg?: MatchEventAvgOrderByAggregateInput + _max?: MatchEventMaxOrderByAggregateInput + _min?: MatchEventMinOrderByAggregateInput + _sum?: MatchEventSumOrderByAggregateInput + } + + export type MatchEventScalarWhereWithAggregatesInput = { + AND?: MatchEventScalarWhereWithAggregatesInput | MatchEventScalarWhereWithAggregatesInput[] + OR?: MatchEventScalarWhereWithAggregatesInput[] + NOT?: MatchEventScalarWhereWithAggregatesInput | MatchEventScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"MatchEvent"> | string + matchId?: StringWithAggregatesFilter<"MatchEvent"> | string + playerId?: StringWithAggregatesFilter<"MatchEvent"> | string + type?: EnumEventTypeWithAggregatesFilter<"MatchEvent"> | $Enums.EventType + minute?: IntNullableWithAggregatesFilter<"MatchEvent"> | number | null + extraInfo?: StringNullableWithAggregatesFilter<"MatchEvent"> | string | null + createdAt?: DateTimeWithAggregatesFilter<"MatchEvent"> | Date | string + } + + export type MatchLineupWhereInput = { + AND?: MatchLineupWhereInput | MatchLineupWhereInput[] + OR?: MatchLineupWhereInput[] + NOT?: MatchLineupWhereInput | MatchLineupWhereInput[] + id?: StringFilter<"MatchLineup"> | string + matchId?: StringFilter<"MatchLineup"> | string + countryId?: StringFilter<"MatchLineup"> | string + formation?: StringFilter<"MatchLineup"> | string + playerIds?: StringNullableListFilter<"MatchLineup"> + match?: XOR + } + + export type MatchLineupOrderByWithRelationInput = { + id?: SortOrder + matchId?: SortOrder + countryId?: SortOrder + formation?: SortOrder + playerIds?: SortOrder + match?: MatchOrderByWithRelationInput + } + + export type MatchLineupWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: MatchLineupWhereInput | MatchLineupWhereInput[] + OR?: MatchLineupWhereInput[] + NOT?: MatchLineupWhereInput | MatchLineupWhereInput[] + matchId?: StringFilter<"MatchLineup"> | string + countryId?: StringFilter<"MatchLineup"> | string + formation?: StringFilter<"MatchLineup"> | string + playerIds?: StringNullableListFilter<"MatchLineup"> + match?: XOR + }, "id"> + + export type MatchLineupOrderByWithAggregationInput = { + id?: SortOrder + matchId?: SortOrder + countryId?: SortOrder + formation?: SortOrder + playerIds?: SortOrder + _count?: MatchLineupCountOrderByAggregateInput + _max?: MatchLineupMaxOrderByAggregateInput + _min?: MatchLineupMinOrderByAggregateInput + } + + export type MatchLineupScalarWhereWithAggregatesInput = { + AND?: MatchLineupScalarWhereWithAggregatesInput | MatchLineupScalarWhereWithAggregatesInput[] + OR?: MatchLineupScalarWhereWithAggregatesInput[] + NOT?: MatchLineupScalarWhereWithAggregatesInput | MatchLineupScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"MatchLineup"> | string + matchId?: StringWithAggregatesFilter<"MatchLineup"> | string + countryId?: StringWithAggregatesFilter<"MatchLineup"> | string + formation?: StringWithAggregatesFilter<"MatchLineup"> | string + playerIds?: StringNullableListFilter<"MatchLineup"> + } + + export type PlayerMatchStatWhereInput = { + AND?: PlayerMatchStatWhereInput | PlayerMatchStatWhereInput[] + OR?: PlayerMatchStatWhereInput[] + NOT?: PlayerMatchStatWhereInput | PlayerMatchStatWhereInput[] + id?: StringFilter<"PlayerMatchStat"> | string + playerId?: StringFilter<"PlayerMatchStat"> | string + matchId?: StringFilter<"PlayerMatchStat"> | string + goals?: IntFilter<"PlayerMatchStat"> | number + assists?: IntFilter<"PlayerMatchStat"> | number + yellowCards?: IntFilter<"PlayerMatchStat"> | number + redCards?: IntFilter<"PlayerMatchStat"> | number + minutesPlayed?: IntFilter<"PlayerMatchStat"> | number + cleanSheet?: BoolFilter<"PlayerMatchStat"> | boolean + penaltySaved?: IntFilter<"PlayerMatchStat"> | number + penaltyMissed?: IntFilter<"PlayerMatchStat"> | number + ownGoals?: IntFilter<"PlayerMatchStat"> | number + isMotm?: BoolFilter<"PlayerMatchStat"> | boolean + extraTimeBonus?: IntFilter<"PlayerMatchStat"> | number + points?: IntFilter<"PlayerMatchStat"> | number + player?: XOR + match?: XOR + } + + export type PlayerMatchStatOrderByWithRelationInput = { + id?: SortOrder + playerId?: SortOrder + matchId?: SortOrder + goals?: SortOrder + assists?: SortOrder + yellowCards?: SortOrder + redCards?: SortOrder + minutesPlayed?: SortOrder + cleanSheet?: SortOrder + penaltySaved?: SortOrder + penaltyMissed?: SortOrder + ownGoals?: SortOrder + isMotm?: SortOrder + extraTimeBonus?: SortOrder + points?: SortOrder + player?: PlayerOrderByWithRelationInput + match?: MatchOrderByWithRelationInput + } + + export type PlayerMatchStatWhereUniqueInput = Prisma.AtLeast<{ + id?: string + playerId_matchId?: PlayerMatchStatPlayerIdMatchIdCompoundUniqueInput + AND?: PlayerMatchStatWhereInput | PlayerMatchStatWhereInput[] + OR?: PlayerMatchStatWhereInput[] + NOT?: PlayerMatchStatWhereInput | PlayerMatchStatWhereInput[] + playerId?: StringFilter<"PlayerMatchStat"> | string + matchId?: StringFilter<"PlayerMatchStat"> | string + goals?: IntFilter<"PlayerMatchStat"> | number + assists?: IntFilter<"PlayerMatchStat"> | number + yellowCards?: IntFilter<"PlayerMatchStat"> | number + redCards?: IntFilter<"PlayerMatchStat"> | number + minutesPlayed?: IntFilter<"PlayerMatchStat"> | number + cleanSheet?: BoolFilter<"PlayerMatchStat"> | boolean + penaltySaved?: IntFilter<"PlayerMatchStat"> | number + penaltyMissed?: IntFilter<"PlayerMatchStat"> | number + ownGoals?: IntFilter<"PlayerMatchStat"> | number + isMotm?: BoolFilter<"PlayerMatchStat"> | boolean + extraTimeBonus?: IntFilter<"PlayerMatchStat"> | number + points?: IntFilter<"PlayerMatchStat"> | number + player?: XOR + match?: XOR + }, "id" | "playerId_matchId"> + + export type PlayerMatchStatOrderByWithAggregationInput = { + id?: SortOrder + playerId?: SortOrder + matchId?: SortOrder + goals?: SortOrder + assists?: SortOrder + yellowCards?: SortOrder + redCards?: SortOrder + minutesPlayed?: SortOrder + cleanSheet?: SortOrder + penaltySaved?: SortOrder + penaltyMissed?: SortOrder + ownGoals?: SortOrder + isMotm?: SortOrder + extraTimeBonus?: SortOrder + points?: SortOrder + _count?: PlayerMatchStatCountOrderByAggregateInput + _avg?: PlayerMatchStatAvgOrderByAggregateInput + _max?: PlayerMatchStatMaxOrderByAggregateInput + _min?: PlayerMatchStatMinOrderByAggregateInput + _sum?: PlayerMatchStatSumOrderByAggregateInput + } + + export type PlayerMatchStatScalarWhereWithAggregatesInput = { + AND?: PlayerMatchStatScalarWhereWithAggregatesInput | PlayerMatchStatScalarWhereWithAggregatesInput[] + OR?: PlayerMatchStatScalarWhereWithAggregatesInput[] + NOT?: PlayerMatchStatScalarWhereWithAggregatesInput | PlayerMatchStatScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"PlayerMatchStat"> | string + playerId?: StringWithAggregatesFilter<"PlayerMatchStat"> | string + matchId?: StringWithAggregatesFilter<"PlayerMatchStat"> | string + goals?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + assists?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + yellowCards?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + redCards?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + minutesPlayed?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + cleanSheet?: BoolWithAggregatesFilter<"PlayerMatchStat"> | boolean + penaltySaved?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + penaltyMissed?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + ownGoals?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + isMotm?: BoolWithAggregatesFilter<"PlayerMatchStat"> | boolean + extraTimeBonus?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + points?: IntWithAggregatesFilter<"PlayerMatchStat"> | number + } + + export type ScoringRuleWhereInput = { + AND?: ScoringRuleWhereInput | ScoringRuleWhereInput[] + OR?: ScoringRuleWhereInput[] + NOT?: ScoringRuleWhereInput | ScoringRuleWhereInput[] + id?: StringFilter<"ScoringRule"> | string + position?: EnumPositionFilter<"ScoringRule"> | $Enums.Position + eventType?: EnumEventTypeFilter<"ScoringRule"> | $Enums.EventType + points?: IntFilter<"ScoringRule"> | number + updatedAt?: DateTimeFilter<"ScoringRule"> | Date | string + updatedBy?: StringNullableFilter<"ScoringRule"> | string | null + } + + export type ScoringRuleOrderByWithRelationInput = { + id?: SortOrder + position?: SortOrder + eventType?: SortOrder + points?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrderInput | SortOrder + } + + export type ScoringRuleWhereUniqueInput = Prisma.AtLeast<{ + id?: string + position_eventType?: ScoringRulePositionEventTypeCompoundUniqueInput + AND?: ScoringRuleWhereInput | ScoringRuleWhereInput[] + OR?: ScoringRuleWhereInput[] + NOT?: ScoringRuleWhereInput | ScoringRuleWhereInput[] + position?: EnumPositionFilter<"ScoringRule"> | $Enums.Position + eventType?: EnumEventTypeFilter<"ScoringRule"> | $Enums.EventType + points?: IntFilter<"ScoringRule"> | number + updatedAt?: DateTimeFilter<"ScoringRule"> | Date | string + updatedBy?: StringNullableFilter<"ScoringRule"> | string | null + }, "id" | "position_eventType"> + + export type ScoringRuleOrderByWithAggregationInput = { + id?: SortOrder + position?: SortOrder + eventType?: SortOrder + points?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrderInput | SortOrder + _count?: ScoringRuleCountOrderByAggregateInput + _avg?: ScoringRuleAvgOrderByAggregateInput + _max?: ScoringRuleMaxOrderByAggregateInput + _min?: ScoringRuleMinOrderByAggregateInput + _sum?: ScoringRuleSumOrderByAggregateInput + } + + export type ScoringRuleScalarWhereWithAggregatesInput = { + AND?: ScoringRuleScalarWhereWithAggregatesInput | ScoringRuleScalarWhereWithAggregatesInput[] + OR?: ScoringRuleScalarWhereWithAggregatesInput[] + NOT?: ScoringRuleScalarWhereWithAggregatesInput | ScoringRuleScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"ScoringRule"> | string + position?: EnumPositionWithAggregatesFilter<"ScoringRule"> | $Enums.Position + eventType?: EnumEventTypeWithAggregatesFilter<"ScoringRule"> | $Enums.EventType + points?: IntWithAggregatesFilter<"ScoringRule"> | number + updatedAt?: DateTimeWithAggregatesFilter<"ScoringRule"> | Date | string + updatedBy?: StringNullableWithAggregatesFilter<"ScoringRule"> | string | null + } + + export type UserWhereInput = { + AND?: UserWhereInput | UserWhereInput[] + OR?: UserWhereInput[] + NOT?: UserWhereInput | UserWhereInput[] + id?: StringFilter<"User"> | string + name?: StringNullableFilter<"User"> | string | null + email?: StringFilter<"User"> | string + phone?: StringNullableFilter<"User"> | string | null + password?: StringFilter<"User"> | string + role?: EnumRoleFilter<"User"> | $Enums.Role + createdAt?: DateTimeFilter<"User"> | Date | string + team?: XOR | null + sessions?: SessionListRelationFilter + payments?: PaymentListRelationFilter + quizSubmissions?: QuizSubmissionListRelationFilter + goldenCards?: GoldenCardListRelationFilter + } + + export type UserOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrderInput | SortOrder + email?: SortOrder + phone?: SortOrderInput | SortOrder + password?: SortOrder + role?: SortOrder + createdAt?: SortOrder + team?: TeamOrderByWithRelationInput + sessions?: SessionOrderByRelationAggregateInput + payments?: PaymentOrderByRelationAggregateInput + quizSubmissions?: QuizSubmissionOrderByRelationAggregateInput + goldenCards?: GoldenCardOrderByRelationAggregateInput + } + + export type UserWhereUniqueInput = Prisma.AtLeast<{ + id?: string + email?: string + phone?: string + AND?: UserWhereInput | UserWhereInput[] + OR?: UserWhereInput[] + NOT?: UserWhereInput | UserWhereInput[] + name?: StringNullableFilter<"User"> | string | null + password?: StringFilter<"User"> | string + role?: EnumRoleFilter<"User"> | $Enums.Role + createdAt?: DateTimeFilter<"User"> | Date | string + team?: XOR | null + sessions?: SessionListRelationFilter + payments?: PaymentListRelationFilter + quizSubmissions?: QuizSubmissionListRelationFilter + goldenCards?: GoldenCardListRelationFilter + }, "id" | "email" | "phone"> + + export type UserOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrderInput | SortOrder + email?: SortOrder + phone?: SortOrderInput | SortOrder + password?: SortOrder + role?: SortOrder + createdAt?: SortOrder + _count?: UserCountOrderByAggregateInput + _max?: UserMaxOrderByAggregateInput + _min?: UserMinOrderByAggregateInput + } + + export type UserScalarWhereWithAggregatesInput = { + AND?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] + OR?: UserScalarWhereWithAggregatesInput[] + NOT?: UserScalarWhereWithAggregatesInput | UserScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"User"> | string + name?: StringNullableWithAggregatesFilter<"User"> | string | null + email?: StringWithAggregatesFilter<"User"> | string + phone?: StringNullableWithAggregatesFilter<"User"> | string | null + password?: StringWithAggregatesFilter<"User"> | string + role?: EnumRoleWithAggregatesFilter<"User"> | $Enums.Role + createdAt?: DateTimeWithAggregatesFilter<"User"> | Date | string + } + + export type LoginOtpWhereInput = { + AND?: LoginOtpWhereInput | LoginOtpWhereInput[] + OR?: LoginOtpWhereInput[] + NOT?: LoginOtpWhereInput | LoginOtpWhereInput[] + id?: StringFilter<"LoginOtp"> | string + phone?: StringFilter<"LoginOtp"> | string + codeHash?: StringFilter<"LoginOtp"> | string + attempts?: IntFilter<"LoginOtp"> | number + expiresAt?: DateTimeFilter<"LoginOtp"> | Date | string + consumedAt?: DateTimeNullableFilter<"LoginOtp"> | Date | string | null + createdAt?: DateTimeFilter<"LoginOtp"> | Date | string + } + + export type LoginOtpOrderByWithRelationInput = { + id?: SortOrder + phone?: SortOrder + codeHash?: SortOrder + attempts?: SortOrder + expiresAt?: SortOrder + consumedAt?: SortOrderInput | SortOrder + createdAt?: SortOrder + } + + export type LoginOtpWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: LoginOtpWhereInput | LoginOtpWhereInput[] + OR?: LoginOtpWhereInput[] + NOT?: LoginOtpWhereInput | LoginOtpWhereInput[] + phone?: StringFilter<"LoginOtp"> | string + codeHash?: StringFilter<"LoginOtp"> | string + attempts?: IntFilter<"LoginOtp"> | number + expiresAt?: DateTimeFilter<"LoginOtp"> | Date | string + consumedAt?: DateTimeNullableFilter<"LoginOtp"> | Date | string | null + createdAt?: DateTimeFilter<"LoginOtp"> | Date | string + }, "id"> + + export type LoginOtpOrderByWithAggregationInput = { + id?: SortOrder + phone?: SortOrder + codeHash?: SortOrder + attempts?: SortOrder + expiresAt?: SortOrder + consumedAt?: SortOrderInput | SortOrder + createdAt?: SortOrder + _count?: LoginOtpCountOrderByAggregateInput + _avg?: LoginOtpAvgOrderByAggregateInput + _max?: LoginOtpMaxOrderByAggregateInput + _min?: LoginOtpMinOrderByAggregateInput + _sum?: LoginOtpSumOrderByAggregateInput + } + + export type LoginOtpScalarWhereWithAggregatesInput = { + AND?: LoginOtpScalarWhereWithAggregatesInput | LoginOtpScalarWhereWithAggregatesInput[] + OR?: LoginOtpScalarWhereWithAggregatesInput[] + NOT?: LoginOtpScalarWhereWithAggregatesInput | LoginOtpScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"LoginOtp"> | string + phone?: StringWithAggregatesFilter<"LoginOtp"> | string + codeHash?: StringWithAggregatesFilter<"LoginOtp"> | string + attempts?: IntWithAggregatesFilter<"LoginOtp"> | number + expiresAt?: DateTimeWithAggregatesFilter<"LoginOtp"> | Date | string + consumedAt?: DateTimeNullableWithAggregatesFilter<"LoginOtp"> | Date | string | null + createdAt?: DateTimeWithAggregatesFilter<"LoginOtp"> | Date | string + } + + export type FantasyNewsWhereInput = { + AND?: FantasyNewsWhereInput | FantasyNewsWhereInput[] + OR?: FantasyNewsWhereInput[] + NOT?: FantasyNewsWhereInput | FantasyNewsWhereInput[] + id?: StringFilter<"FantasyNews"> | string + icon?: StringFilter<"FantasyNews"> | string + title?: StringFilter<"FantasyNews"> | string + description?: StringFilter<"FantasyNews"> | string + newsTime?: DateTimeFilter<"FantasyNews"> | Date | string + createdAt?: DateTimeFilter<"FantasyNews"> | Date | string + updatedAt?: DateTimeFilter<"FantasyNews"> | Date | string + } + + export type FantasyNewsOrderByWithRelationInput = { + id?: SortOrder + icon?: SortOrder + title?: SortOrder + description?: SortOrder + newsTime?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type FantasyNewsWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: FantasyNewsWhereInput | FantasyNewsWhereInput[] + OR?: FantasyNewsWhereInput[] + NOT?: FantasyNewsWhereInput | FantasyNewsWhereInput[] + icon?: StringFilter<"FantasyNews"> | string + title?: StringFilter<"FantasyNews"> | string + description?: StringFilter<"FantasyNews"> | string + newsTime?: DateTimeFilter<"FantasyNews"> | Date | string + createdAt?: DateTimeFilter<"FantasyNews"> | Date | string + updatedAt?: DateTimeFilter<"FantasyNews"> | Date | string + }, "id"> + + export type FantasyNewsOrderByWithAggregationInput = { + id?: SortOrder + icon?: SortOrder + title?: SortOrder + description?: SortOrder + newsTime?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + _count?: FantasyNewsCountOrderByAggregateInput + _max?: FantasyNewsMaxOrderByAggregateInput + _min?: FantasyNewsMinOrderByAggregateInput + } + + export type FantasyNewsScalarWhereWithAggregatesInput = { + AND?: FantasyNewsScalarWhereWithAggregatesInput | FantasyNewsScalarWhereWithAggregatesInput[] + OR?: FantasyNewsScalarWhereWithAggregatesInput[] + NOT?: FantasyNewsScalarWhereWithAggregatesInput | FantasyNewsScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"FantasyNews"> | string + icon?: StringWithAggregatesFilter<"FantasyNews"> | string + title?: StringWithAggregatesFilter<"FantasyNews"> | string + description?: StringWithAggregatesFilter<"FantasyNews"> | string + newsTime?: DateTimeWithAggregatesFilter<"FantasyNews"> | Date | string + createdAt?: DateTimeWithAggregatesFilter<"FantasyNews"> | Date | string + updatedAt?: DateTimeWithAggregatesFilter<"FantasyNews"> | Date | string + } + + export type DailyQuizWhereInput = { + AND?: DailyQuizWhereInput | DailyQuizWhereInput[] + OR?: DailyQuizWhereInput[] + NOT?: DailyQuizWhereInput | DailyQuizWhereInput[] + id?: StringFilter<"DailyQuiz"> | string + date?: DateTimeFilter<"DailyQuiz"> | Date | string + windowStart?: DateTimeFilter<"DailyQuiz"> | Date | string + windowEnd?: DateTimeFilter<"DailyQuiz"> | Date | string + goldWinnersCount?: IntFilter<"DailyQuiz"> | number + silverWinnersCount?: IntFilter<"DailyQuiz"> | number + bronzeWinnersCount?: IntFilter<"DailyQuiz"> | number + goldMinCorrect?: IntNullableFilter<"DailyQuiz"> | number | null + silverMinCorrect?: IntNullableFilter<"DailyQuiz"> | number | null + bronzeMinCorrect?: IntNullableFilter<"DailyQuiz"> | number | null + isProcessed?: BoolFilter<"DailyQuiz"> | boolean + createdAt?: DateTimeFilter<"DailyQuiz"> | Date | string + questions?: QuizQuestionListRelationFilter + submissions?: QuizSubmissionListRelationFilter + awardedCards?: GoldenCardListRelationFilter + } + + export type DailyQuizOrderByWithRelationInput = { + id?: SortOrder + date?: SortOrder + windowStart?: SortOrder + windowEnd?: SortOrder + goldWinnersCount?: SortOrder + silverWinnersCount?: SortOrder + bronzeWinnersCount?: SortOrder + goldMinCorrect?: SortOrderInput | SortOrder + silverMinCorrect?: SortOrderInput | SortOrder + bronzeMinCorrect?: SortOrderInput | SortOrder + isProcessed?: SortOrder + createdAt?: SortOrder + questions?: QuizQuestionOrderByRelationAggregateInput + submissions?: QuizSubmissionOrderByRelationAggregateInput + awardedCards?: GoldenCardOrderByRelationAggregateInput + } + + export type DailyQuizWhereUniqueInput = Prisma.AtLeast<{ + id?: string + date?: Date | string + AND?: DailyQuizWhereInput | DailyQuizWhereInput[] + OR?: DailyQuizWhereInput[] + NOT?: DailyQuizWhereInput | DailyQuizWhereInput[] + windowStart?: DateTimeFilter<"DailyQuiz"> | Date | string + windowEnd?: DateTimeFilter<"DailyQuiz"> | Date | string + goldWinnersCount?: IntFilter<"DailyQuiz"> | number + silverWinnersCount?: IntFilter<"DailyQuiz"> | number + bronzeWinnersCount?: IntFilter<"DailyQuiz"> | number + goldMinCorrect?: IntNullableFilter<"DailyQuiz"> | number | null + silverMinCorrect?: IntNullableFilter<"DailyQuiz"> | number | null + bronzeMinCorrect?: IntNullableFilter<"DailyQuiz"> | number | null + isProcessed?: BoolFilter<"DailyQuiz"> | boolean + createdAt?: DateTimeFilter<"DailyQuiz"> | Date | string + questions?: QuizQuestionListRelationFilter + submissions?: QuizSubmissionListRelationFilter + awardedCards?: GoldenCardListRelationFilter + }, "id" | "date"> + + export type DailyQuizOrderByWithAggregationInput = { + id?: SortOrder + date?: SortOrder + windowStart?: SortOrder + windowEnd?: SortOrder + goldWinnersCount?: SortOrder + silverWinnersCount?: SortOrder + bronzeWinnersCount?: SortOrder + goldMinCorrect?: SortOrderInput | SortOrder + silverMinCorrect?: SortOrderInput | SortOrder + bronzeMinCorrect?: SortOrderInput | SortOrder + isProcessed?: SortOrder + createdAt?: SortOrder + _count?: DailyQuizCountOrderByAggregateInput + _avg?: DailyQuizAvgOrderByAggregateInput + _max?: DailyQuizMaxOrderByAggregateInput + _min?: DailyQuizMinOrderByAggregateInput + _sum?: DailyQuizSumOrderByAggregateInput + } + + export type DailyQuizScalarWhereWithAggregatesInput = { + AND?: DailyQuizScalarWhereWithAggregatesInput | DailyQuizScalarWhereWithAggregatesInput[] + OR?: DailyQuizScalarWhereWithAggregatesInput[] + NOT?: DailyQuizScalarWhereWithAggregatesInput | DailyQuizScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"DailyQuiz"> | string + date?: DateTimeWithAggregatesFilter<"DailyQuiz"> | Date | string + windowStart?: DateTimeWithAggregatesFilter<"DailyQuiz"> | Date | string + windowEnd?: DateTimeWithAggregatesFilter<"DailyQuiz"> | Date | string + goldWinnersCount?: IntWithAggregatesFilter<"DailyQuiz"> | number + silverWinnersCount?: IntWithAggregatesFilter<"DailyQuiz"> | number + bronzeWinnersCount?: IntWithAggregatesFilter<"DailyQuiz"> | number + goldMinCorrect?: IntNullableWithAggregatesFilter<"DailyQuiz"> | number | null + silverMinCorrect?: IntNullableWithAggregatesFilter<"DailyQuiz"> | number | null + bronzeMinCorrect?: IntNullableWithAggregatesFilter<"DailyQuiz"> | number | null + isProcessed?: BoolWithAggregatesFilter<"DailyQuiz"> | boolean + createdAt?: DateTimeWithAggregatesFilter<"DailyQuiz"> | Date | string + } + + export type QuizQuestionWhereInput = { + AND?: QuizQuestionWhereInput | QuizQuestionWhereInput[] + OR?: QuizQuestionWhereInput[] + NOT?: QuizQuestionWhereInput | QuizQuestionWhereInput[] + id?: StringFilter<"QuizQuestion"> | string + quizId?: StringFilter<"QuizQuestion"> | string + questionText?: StringFilter<"QuizQuestion"> | string + options?: StringNullableListFilter<"QuizQuestion"> + correctAnswer?: IntFilter<"QuizQuestion"> | number + order?: IntFilter<"QuizQuestion"> | number + quiz?: XOR + } + + export type QuizQuestionOrderByWithRelationInput = { + id?: SortOrder + quizId?: SortOrder + questionText?: SortOrder + options?: SortOrder + correctAnswer?: SortOrder + order?: SortOrder + quiz?: DailyQuizOrderByWithRelationInput + } + + export type QuizQuestionWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: QuizQuestionWhereInput | QuizQuestionWhereInput[] + OR?: QuizQuestionWhereInput[] + NOT?: QuizQuestionWhereInput | QuizQuestionWhereInput[] + quizId?: StringFilter<"QuizQuestion"> | string + questionText?: StringFilter<"QuizQuestion"> | string + options?: StringNullableListFilter<"QuizQuestion"> + correctAnswer?: IntFilter<"QuizQuestion"> | number + order?: IntFilter<"QuizQuestion"> | number + quiz?: XOR + }, "id"> + + export type QuizQuestionOrderByWithAggregationInput = { + id?: SortOrder + quizId?: SortOrder + questionText?: SortOrder + options?: SortOrder + correctAnswer?: SortOrder + order?: SortOrder + _count?: QuizQuestionCountOrderByAggregateInput + _avg?: QuizQuestionAvgOrderByAggregateInput + _max?: QuizQuestionMaxOrderByAggregateInput + _min?: QuizQuestionMinOrderByAggregateInput + _sum?: QuizQuestionSumOrderByAggregateInput + } + + export type QuizQuestionScalarWhereWithAggregatesInput = { + AND?: QuizQuestionScalarWhereWithAggregatesInput | QuizQuestionScalarWhereWithAggregatesInput[] + OR?: QuizQuestionScalarWhereWithAggregatesInput[] + NOT?: QuizQuestionScalarWhereWithAggregatesInput | QuizQuestionScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"QuizQuestion"> | string + quizId?: StringWithAggregatesFilter<"QuizQuestion"> | string + questionText?: StringWithAggregatesFilter<"QuizQuestion"> | string + options?: StringNullableListFilter<"QuizQuestion"> + correctAnswer?: IntWithAggregatesFilter<"QuizQuestion"> | number + order?: IntWithAggregatesFilter<"QuizQuestion"> | number + } + + export type QuizSubmissionWhereInput = { + AND?: QuizSubmissionWhereInput | QuizSubmissionWhereInput[] + OR?: QuizSubmissionWhereInput[] + NOT?: QuizSubmissionWhereInput | QuizSubmissionWhereInput[] + id?: StringFilter<"QuizSubmission"> | string + userId?: StringFilter<"QuizSubmission"> | string + quizId?: StringFilter<"QuizSubmission"> | string + answers?: IntNullableListFilter<"QuizSubmission"> + correctAnswers?: IntFilter<"QuizSubmission"> | number + score?: IntFilter<"QuizSubmission"> | number + submittedAt?: DateTimeFilter<"QuizSubmission"> | Date | string + user?: XOR + quiz?: XOR + } + + export type QuizSubmissionOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrder + answers?: SortOrder + correctAnswers?: SortOrder + score?: SortOrder + submittedAt?: SortOrder + user?: UserOrderByWithRelationInput + quiz?: DailyQuizOrderByWithRelationInput + } + + export type QuizSubmissionWhereUniqueInput = Prisma.AtLeast<{ + id?: string + userId_quizId?: QuizSubmissionUserIdQuizIdCompoundUniqueInput + AND?: QuizSubmissionWhereInput | QuizSubmissionWhereInput[] + OR?: QuizSubmissionWhereInput[] + NOT?: QuizSubmissionWhereInput | QuizSubmissionWhereInput[] + userId?: StringFilter<"QuizSubmission"> | string + quizId?: StringFilter<"QuizSubmission"> | string + answers?: IntNullableListFilter<"QuizSubmission"> + correctAnswers?: IntFilter<"QuizSubmission"> | number + score?: IntFilter<"QuizSubmission"> | number + submittedAt?: DateTimeFilter<"QuizSubmission"> | Date | string + user?: XOR + quiz?: XOR + }, "id" | "userId_quizId"> + + export type QuizSubmissionOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrder + answers?: SortOrder + correctAnswers?: SortOrder + score?: SortOrder + submittedAt?: SortOrder + _count?: QuizSubmissionCountOrderByAggregateInput + _avg?: QuizSubmissionAvgOrderByAggregateInput + _max?: QuizSubmissionMaxOrderByAggregateInput + _min?: QuizSubmissionMinOrderByAggregateInput + _sum?: QuizSubmissionSumOrderByAggregateInput + } + + export type QuizSubmissionScalarWhereWithAggregatesInput = { + AND?: QuizSubmissionScalarWhereWithAggregatesInput | QuizSubmissionScalarWhereWithAggregatesInput[] + OR?: QuizSubmissionScalarWhereWithAggregatesInput[] + NOT?: QuizSubmissionScalarWhereWithAggregatesInput | QuizSubmissionScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"QuizSubmission"> | string + userId?: StringWithAggregatesFilter<"QuizSubmission"> | string + quizId?: StringWithAggregatesFilter<"QuizSubmission"> | string + answers?: IntNullableListFilter<"QuizSubmission"> + correctAnswers?: IntWithAggregatesFilter<"QuizSubmission"> | number + score?: IntWithAggregatesFilter<"QuizSubmission"> | number + submittedAt?: DateTimeWithAggregatesFilter<"QuizSubmission"> | Date | string + } + + export type GoldenCardWhereInput = { + AND?: GoldenCardWhereInput | GoldenCardWhereInput[] + OR?: GoldenCardWhereInput[] + NOT?: GoldenCardWhereInput | GoldenCardWhereInput[] + id?: StringFilter<"GoldenCard"> | string + userId?: StringFilter<"GoldenCard"> | string + quizId?: StringNullableFilter<"GoldenCard"> | string | null + playerId?: StringFilter<"GoldenCard"> | string + cardTier?: EnumCardTierFilter<"GoldenCard"> | $Enums.CardTier + status?: EnumGoldenCardStatusFilter<"GoldenCard"> | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFilter<"GoldenCard"> | $Enums.SpecialCardState + acquiredDate?: DateTimeFilter<"GoldenCard"> | Date | string + openedAt?: DateTimeNullableFilter<"GoldenCard"> | Date | string | null + user?: XOR + quiz?: XOR | null + player?: XOR + teamPlayer?: XOR | null + } + + export type GoldenCardOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrderInput | SortOrder + playerId?: SortOrder + cardTier?: SortOrder + status?: SortOrder + state?: SortOrder + acquiredDate?: SortOrder + openedAt?: SortOrderInput | SortOrder + user?: UserOrderByWithRelationInput + quiz?: DailyQuizOrderByWithRelationInput + player?: PlayerOrderByWithRelationInput + teamPlayer?: TeamPlayerOrderByWithRelationInput + } + + export type GoldenCardWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: GoldenCardWhereInput | GoldenCardWhereInput[] + OR?: GoldenCardWhereInput[] + NOT?: GoldenCardWhereInput | GoldenCardWhereInput[] + userId?: StringFilter<"GoldenCard"> | string + quizId?: StringNullableFilter<"GoldenCard"> | string | null + playerId?: StringFilter<"GoldenCard"> | string + cardTier?: EnumCardTierFilter<"GoldenCard"> | $Enums.CardTier + status?: EnumGoldenCardStatusFilter<"GoldenCard"> | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFilter<"GoldenCard"> | $Enums.SpecialCardState + acquiredDate?: DateTimeFilter<"GoldenCard"> | Date | string + openedAt?: DateTimeNullableFilter<"GoldenCard"> | Date | string | null + user?: XOR + quiz?: XOR | null + player?: XOR + teamPlayer?: XOR | null + }, "id"> + + export type GoldenCardOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrderInput | SortOrder + playerId?: SortOrder + cardTier?: SortOrder + status?: SortOrder + state?: SortOrder + acquiredDate?: SortOrder + openedAt?: SortOrderInput | SortOrder + _count?: GoldenCardCountOrderByAggregateInput + _max?: GoldenCardMaxOrderByAggregateInput + _min?: GoldenCardMinOrderByAggregateInput + } + + export type GoldenCardScalarWhereWithAggregatesInput = { + AND?: GoldenCardScalarWhereWithAggregatesInput | GoldenCardScalarWhereWithAggregatesInput[] + OR?: GoldenCardScalarWhereWithAggregatesInput[] + NOT?: GoldenCardScalarWhereWithAggregatesInput | GoldenCardScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"GoldenCard"> | string + userId?: StringWithAggregatesFilter<"GoldenCard"> | string + quizId?: StringNullableWithAggregatesFilter<"GoldenCard"> | string | null + playerId?: StringWithAggregatesFilter<"GoldenCard"> | string + cardTier?: EnumCardTierWithAggregatesFilter<"GoldenCard"> | $Enums.CardTier + status?: EnumGoldenCardStatusWithAggregatesFilter<"GoldenCard"> | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateWithAggregatesFilter<"GoldenCard"> | $Enums.SpecialCardState + acquiredDate?: DateTimeWithAggregatesFilter<"GoldenCard"> | Date | string + openedAt?: DateTimeNullableWithAggregatesFilter<"GoldenCard"> | Date | string | null + } + + export type SessionWhereInput = { + AND?: SessionWhereInput | SessionWhereInput[] + OR?: SessionWhereInput[] + NOT?: SessionWhereInput | SessionWhereInput[] + id?: StringFilter<"Session"> | string + sessionToken?: StringFilter<"Session"> | string + userId?: StringFilter<"Session"> | string + expires?: DateTimeFilter<"Session"> | Date | string + user?: XOR + } + + export type SessionOrderByWithRelationInput = { + id?: SortOrder + sessionToken?: SortOrder + userId?: SortOrder + expires?: SortOrder + user?: UserOrderByWithRelationInput + } + + export type SessionWhereUniqueInput = Prisma.AtLeast<{ + id?: string + sessionToken?: string + AND?: SessionWhereInput | SessionWhereInput[] + OR?: SessionWhereInput[] + NOT?: SessionWhereInput | SessionWhereInput[] + userId?: StringFilter<"Session"> | string + expires?: DateTimeFilter<"Session"> | Date | string + user?: XOR + }, "id" | "sessionToken"> + + export type SessionOrderByWithAggregationInput = { + id?: SortOrder + sessionToken?: SortOrder + userId?: SortOrder + expires?: SortOrder + _count?: SessionCountOrderByAggregateInput + _max?: SessionMaxOrderByAggregateInput + _min?: SessionMinOrderByAggregateInput + } + + export type SessionScalarWhereWithAggregatesInput = { + AND?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] + OR?: SessionScalarWhereWithAggregatesInput[] + NOT?: SessionScalarWhereWithAggregatesInput | SessionScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Session"> | string + sessionToken?: StringWithAggregatesFilter<"Session"> | string + userId?: StringWithAggregatesFilter<"Session"> | string + expires?: DateTimeWithAggregatesFilter<"Session"> | Date | string + } + + export type TeamWhereInput = { + AND?: TeamWhereInput | TeamWhereInput[] + OR?: TeamWhereInput[] + NOT?: TeamWhereInput | TeamWhereInput[] + id?: StringFilter<"Team"> | string + name?: StringFilter<"Team"> | string + userId?: StringFilter<"Team"> | string + budget?: FloatFilter<"Team"> | number + totalPoints?: IntFilter<"Team"> | number + formation?: StringFilter<"Team"> | string + status?: EnumTeamStatusFilter<"Team"> | $Enums.TeamStatus + createdAt?: DateTimeFilter<"Team"> | Date | string + user?: XOR + players?: TeamPlayerListRelationFilter + } + + export type TeamOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + userId?: SortOrder + budget?: SortOrder + totalPoints?: SortOrder + formation?: SortOrder + status?: SortOrder + createdAt?: SortOrder + user?: UserOrderByWithRelationInput + players?: TeamPlayerOrderByRelationAggregateInput + } + + export type TeamWhereUniqueInput = Prisma.AtLeast<{ + id?: string + userId?: string + AND?: TeamWhereInput | TeamWhereInput[] + OR?: TeamWhereInput[] + NOT?: TeamWhereInput | TeamWhereInput[] + name?: StringFilter<"Team"> | string + budget?: FloatFilter<"Team"> | number + totalPoints?: IntFilter<"Team"> | number + formation?: StringFilter<"Team"> | string + status?: EnumTeamStatusFilter<"Team"> | $Enums.TeamStatus + createdAt?: DateTimeFilter<"Team"> | Date | string + user?: XOR + players?: TeamPlayerListRelationFilter + }, "id" | "userId"> + + export type TeamOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + userId?: SortOrder + budget?: SortOrder + totalPoints?: SortOrder + formation?: SortOrder + status?: SortOrder + createdAt?: SortOrder + _count?: TeamCountOrderByAggregateInput + _avg?: TeamAvgOrderByAggregateInput + _max?: TeamMaxOrderByAggregateInput + _min?: TeamMinOrderByAggregateInput + _sum?: TeamSumOrderByAggregateInput + } + + export type TeamScalarWhereWithAggregatesInput = { + AND?: TeamScalarWhereWithAggregatesInput | TeamScalarWhereWithAggregatesInput[] + OR?: TeamScalarWhereWithAggregatesInput[] + NOT?: TeamScalarWhereWithAggregatesInput | TeamScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Team"> | string + name?: StringWithAggregatesFilter<"Team"> | string + userId?: StringWithAggregatesFilter<"Team"> | string + budget?: FloatWithAggregatesFilter<"Team"> | number + totalPoints?: IntWithAggregatesFilter<"Team"> | number + formation?: StringWithAggregatesFilter<"Team"> | string + status?: EnumTeamStatusWithAggregatesFilter<"Team"> | $Enums.TeamStatus + createdAt?: DateTimeWithAggregatesFilter<"Team"> | Date | string + } + + export type TeamPlayerWhereInput = { + AND?: TeamPlayerWhereInput | TeamPlayerWhereInput[] + OR?: TeamPlayerWhereInput[] + NOT?: TeamPlayerWhereInput | TeamPlayerWhereInput[] + teamId?: StringFilter<"TeamPlayer"> | string + playerId?: StringFilter<"TeamPlayer"> | string + goldenCardId?: StringNullableFilter<"TeamPlayer"> | string | null + isCaptain?: BoolFilter<"TeamPlayer"> | boolean + isViceCaptain?: BoolFilter<"TeamPlayer"> | boolean + isBench?: BoolFilter<"TeamPlayer"> | boolean + positionIndex?: IntFilter<"TeamPlayer"> | number + team?: XOR + player?: XOR + goldenCard?: XOR | null + } + + export type TeamPlayerOrderByWithRelationInput = { + teamId?: SortOrder + playerId?: SortOrder + goldenCardId?: SortOrderInput | SortOrder + isCaptain?: SortOrder + isViceCaptain?: SortOrder + isBench?: SortOrder + positionIndex?: SortOrder + team?: TeamOrderByWithRelationInput + player?: PlayerOrderByWithRelationInput + goldenCard?: GoldenCardOrderByWithRelationInput + } + + export type TeamPlayerWhereUniqueInput = Prisma.AtLeast<{ + goldenCardId?: string + teamId_playerId?: TeamPlayerTeamIdPlayerIdCompoundUniqueInput + AND?: TeamPlayerWhereInput | TeamPlayerWhereInput[] + OR?: TeamPlayerWhereInput[] + NOT?: TeamPlayerWhereInput | TeamPlayerWhereInput[] + teamId?: StringFilter<"TeamPlayer"> | string + playerId?: StringFilter<"TeamPlayer"> | string + isCaptain?: BoolFilter<"TeamPlayer"> | boolean + isViceCaptain?: BoolFilter<"TeamPlayer"> | boolean + isBench?: BoolFilter<"TeamPlayer"> | boolean + positionIndex?: IntFilter<"TeamPlayer"> | number + team?: XOR + player?: XOR + goldenCard?: XOR | null + }, "teamId_playerId" | "goldenCardId"> + + export type TeamPlayerOrderByWithAggregationInput = { + teamId?: SortOrder + playerId?: SortOrder + goldenCardId?: SortOrderInput | SortOrder + isCaptain?: SortOrder + isViceCaptain?: SortOrder + isBench?: SortOrder + positionIndex?: SortOrder + _count?: TeamPlayerCountOrderByAggregateInput + _avg?: TeamPlayerAvgOrderByAggregateInput + _max?: TeamPlayerMaxOrderByAggregateInput + _min?: TeamPlayerMinOrderByAggregateInput + _sum?: TeamPlayerSumOrderByAggregateInput + } + + export type TeamPlayerScalarWhereWithAggregatesInput = { + AND?: TeamPlayerScalarWhereWithAggregatesInput | TeamPlayerScalarWhereWithAggregatesInput[] + OR?: TeamPlayerScalarWhereWithAggregatesInput[] + NOT?: TeamPlayerScalarWhereWithAggregatesInput | TeamPlayerScalarWhereWithAggregatesInput[] + teamId?: StringWithAggregatesFilter<"TeamPlayer"> | string + playerId?: StringWithAggregatesFilter<"TeamPlayer"> | string + goldenCardId?: StringNullableWithAggregatesFilter<"TeamPlayer"> | string | null + isCaptain?: BoolWithAggregatesFilter<"TeamPlayer"> | boolean + isViceCaptain?: BoolWithAggregatesFilter<"TeamPlayer"> | boolean + isBench?: BoolWithAggregatesFilter<"TeamPlayer"> | boolean + positionIndex?: IntWithAggregatesFilter<"TeamPlayer"> | number + } + + export type PackageWhereInput = { + AND?: PackageWhereInput | PackageWhereInput[] + OR?: PackageWhereInput[] + NOT?: PackageWhereInput | PackageWhereInput[] + id?: StringFilter<"Package"> | string + name?: StringFilter<"Package"> | string + budgetBonus?: FloatFilter<"Package"> | number + price?: IntFilter<"Package"> | number + description?: StringNullableFilter<"Package"> | string | null + isActive?: BoolFilter<"Package"> | boolean + payments?: PaymentListRelationFilter + } + + export type PackageOrderByWithRelationInput = { + id?: SortOrder + name?: SortOrder + budgetBonus?: SortOrder + price?: SortOrder + description?: SortOrderInput | SortOrder + isActive?: SortOrder + payments?: PaymentOrderByRelationAggregateInput + } + + export type PackageWhereUniqueInput = Prisma.AtLeast<{ + id?: string + AND?: PackageWhereInput | PackageWhereInput[] + OR?: PackageWhereInput[] + NOT?: PackageWhereInput | PackageWhereInput[] + name?: StringFilter<"Package"> | string + budgetBonus?: FloatFilter<"Package"> | number + price?: IntFilter<"Package"> | number + description?: StringNullableFilter<"Package"> | string | null + isActive?: BoolFilter<"Package"> | boolean + payments?: PaymentListRelationFilter + }, "id"> + + export type PackageOrderByWithAggregationInput = { + id?: SortOrder + name?: SortOrder + budgetBonus?: SortOrder + price?: SortOrder + description?: SortOrderInput | SortOrder + isActive?: SortOrder + _count?: PackageCountOrderByAggregateInput + _avg?: PackageAvgOrderByAggregateInput + _max?: PackageMaxOrderByAggregateInput + _min?: PackageMinOrderByAggregateInput + _sum?: PackageSumOrderByAggregateInput + } + + export type PackageScalarWhereWithAggregatesInput = { + AND?: PackageScalarWhereWithAggregatesInput | PackageScalarWhereWithAggregatesInput[] + OR?: PackageScalarWhereWithAggregatesInput[] + NOT?: PackageScalarWhereWithAggregatesInput | PackageScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Package"> | string + name?: StringWithAggregatesFilter<"Package"> | string + budgetBonus?: FloatWithAggregatesFilter<"Package"> | number + price?: IntWithAggregatesFilter<"Package"> | number + description?: StringNullableWithAggregatesFilter<"Package"> | string | null + isActive?: BoolWithAggregatesFilter<"Package"> | boolean + } + + export type PaymentWhereInput = { + AND?: PaymentWhereInput | PaymentWhereInput[] + OR?: PaymentWhereInput[] + NOT?: PaymentWhereInput | PaymentWhereInput[] + id?: StringFilter<"Payment"> | string + userId?: StringFilter<"Payment"> | string + packageId?: StringFilter<"Payment"> | string + amount?: IntFilter<"Payment"> | number + authority?: StringNullableFilter<"Payment"> | string | null + refId?: StringNullableFilter<"Payment"> | string | null + status?: EnumPaymentStatusFilter<"Payment"> | $Enums.PaymentStatus + createdAt?: DateTimeFilter<"Payment"> | Date | string + updatedAt?: DateTimeFilter<"Payment"> | Date | string + user?: XOR + package?: XOR + } + + export type PaymentOrderByWithRelationInput = { + id?: SortOrder + userId?: SortOrder + packageId?: SortOrder + amount?: SortOrder + authority?: SortOrderInput | SortOrder + refId?: SortOrderInput | SortOrder + status?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + user?: UserOrderByWithRelationInput + package?: PackageOrderByWithRelationInput + } + + export type PaymentWhereUniqueInput = Prisma.AtLeast<{ + id?: string + authority?: string + AND?: PaymentWhereInput | PaymentWhereInput[] + OR?: PaymentWhereInput[] + NOT?: PaymentWhereInput | PaymentWhereInput[] + userId?: StringFilter<"Payment"> | string + packageId?: StringFilter<"Payment"> | string + amount?: IntFilter<"Payment"> | number + refId?: StringNullableFilter<"Payment"> | string | null + status?: EnumPaymentStatusFilter<"Payment"> | $Enums.PaymentStatus + createdAt?: DateTimeFilter<"Payment"> | Date | string + updatedAt?: DateTimeFilter<"Payment"> | Date | string + user?: XOR + package?: XOR + }, "id" | "authority"> + + export type PaymentOrderByWithAggregationInput = { + id?: SortOrder + userId?: SortOrder + packageId?: SortOrder + amount?: SortOrder + authority?: SortOrderInput | SortOrder + refId?: SortOrderInput | SortOrder + status?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + _count?: PaymentCountOrderByAggregateInput + _avg?: PaymentAvgOrderByAggregateInput + _max?: PaymentMaxOrderByAggregateInput + _min?: PaymentMinOrderByAggregateInput + _sum?: PaymentSumOrderByAggregateInput + } + + export type PaymentScalarWhereWithAggregatesInput = { + AND?: PaymentScalarWhereWithAggregatesInput | PaymentScalarWhereWithAggregatesInput[] + OR?: PaymentScalarWhereWithAggregatesInput[] + NOT?: PaymentScalarWhereWithAggregatesInput | PaymentScalarWhereWithAggregatesInput[] + id?: StringWithAggregatesFilter<"Payment"> | string + userId?: StringWithAggregatesFilter<"Payment"> | string + packageId?: StringWithAggregatesFilter<"Payment"> | string + amount?: IntWithAggregatesFilter<"Payment"> | number + authority?: StringNullableWithAggregatesFilter<"Payment"> | string | null + refId?: StringNullableWithAggregatesFilter<"Payment"> | string | null + status?: EnumPaymentStatusWithAggregatesFilter<"Payment"> | $Enums.PaymentStatus + createdAt?: DateTimeWithAggregatesFilter<"Payment"> | Date | string + updatedAt?: DateTimeWithAggregatesFilter<"Payment"> | Date | string + } + + export type CountryCreateInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + isEliminated?: boolean + group?: GroupCreateNestedOneWithoutCountriesInput + players?: PlayerCreateNestedManyWithoutCountryInput + homeMatches?: MatchCreateNestedManyWithoutHomeTeamInput + awayMatches?: MatchCreateNestedManyWithoutAwayTeamInput + } + + export type CountryUncheckedCreateInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + groupId?: string | null + isEliminated?: boolean + players?: PlayerUncheckedCreateNestedManyWithoutCountryInput + homeMatches?: MatchUncheckedCreateNestedManyWithoutHomeTeamInput + awayMatches?: MatchUncheckedCreateNestedManyWithoutAwayTeamInput + } + + export type CountryUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + group?: GroupUpdateOneWithoutCountriesNestedInput + players?: PlayerUpdateManyWithoutCountryNestedInput + homeMatches?: MatchUpdateManyWithoutHomeTeamNestedInput + awayMatches?: MatchUpdateManyWithoutAwayTeamNestedInput + } + + export type CountryUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + groupId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + players?: PlayerUncheckedUpdateManyWithoutCountryNestedInput + homeMatches?: MatchUncheckedUpdateManyWithoutHomeTeamNestedInput + awayMatches?: MatchUncheckedUpdateManyWithoutAwayTeamNestedInput + } + + export type CountryCreateManyInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + groupId?: string | null + isEliminated?: boolean + } + + export type CountryUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + } + + export type CountryUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + groupId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + } + + export type GroupCreateInput = { + id?: string + name: string + countries?: CountryCreateNestedManyWithoutGroupInput + } + + export type GroupUncheckedCreateInput = { + id?: string + name: string + countries?: CountryUncheckedCreateNestedManyWithoutGroupInput + } + + export type GroupUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + countries?: CountryUpdateManyWithoutGroupNestedInput + } + + export type GroupUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + countries?: CountryUncheckedUpdateManyWithoutGroupNestedInput + } + + export type GroupCreateManyInput = { + id?: string + name: string + } + + export type GroupUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + } + + export type GroupUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + } + + export type PlayerCreateInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + country: CountryCreateNestedOneWithoutPlayersInput + matchStats?: PlayerMatchStatCreateNestedManyWithoutPlayerInput + teamPlayers?: TeamPlayerCreateNestedManyWithoutPlayerInput + events?: MatchEventCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardCreateNestedManyWithoutPlayerInput + } + + export type PlayerUncheckedCreateInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + countryId: string + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + matchStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutPlayerInput + teamPlayers?: TeamPlayerUncheckedCreateNestedManyWithoutPlayerInput + events?: MatchEventUncheckedCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutPlayerInput + } + + export type PlayerUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + country?: CountryUpdateOneRequiredWithoutPlayersNestedInput + matchStats?: PlayerMatchStatUpdateManyWithoutPlayerNestedInput + teamPlayers?: TeamPlayerUpdateManyWithoutPlayerNestedInput + events?: MatchEventUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUpdateManyWithoutPlayerNestedInput + } + + export type PlayerUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + countryId?: StringFieldUpdateOperationsInput | string + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + matchStats?: PlayerMatchStatUncheckedUpdateManyWithoutPlayerNestedInput + teamPlayers?: TeamPlayerUncheckedUpdateManyWithoutPlayerNestedInput + events?: MatchEventUncheckedUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutPlayerNestedInput + } + + export type PlayerCreateManyInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + countryId: string + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + } + + export type PlayerUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PlayerUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + countryId?: StringFieldUpdateOperationsInput | string + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchCreateInput = { + id?: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + homeTeam: CountryCreateNestedOneWithoutHomeMatchesInput + awayTeam: CountryCreateNestedOneWithoutAwayMatchesInput + round?: RoundCreateNestedOneWithoutMatchesInput + playerStats?: PlayerMatchStatCreateNestedManyWithoutMatchInput + events?: MatchEventCreateNestedManyWithoutMatchInput + lineups?: MatchLineupCreateNestedManyWithoutMatchInput + } + + export type MatchUncheckedCreateInput = { + id?: string + homeTeamId: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + playerStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutMatchInput + events?: MatchEventUncheckedCreateNestedManyWithoutMatchInput + lineups?: MatchLineupUncheckedCreateNestedManyWithoutMatchInput + } + + export type MatchUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + homeTeam?: CountryUpdateOneRequiredWithoutHomeMatchesNestedInput + awayTeam?: CountryUpdateOneRequiredWithoutAwayMatchesNestedInput + round?: RoundUpdateOneWithoutMatchesNestedInput + playerStats?: PlayerMatchStatUpdateManyWithoutMatchNestedInput + events?: MatchEventUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + playerStats?: PlayerMatchStatUncheckedUpdateManyWithoutMatchNestedInput + events?: MatchEventUncheckedUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUncheckedUpdateManyWithoutMatchNestedInput + } + + export type MatchCreateManyInput = { + id?: string + homeTeamId: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + } + + export type MatchUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type RoundCreateInput = { + id?: string + number: number + name: string + isActive?: boolean + deadline: Date | string + createdAt?: Date | string + matches?: MatchCreateNestedManyWithoutRoundInput + } + + export type RoundUncheckedCreateInput = { + id?: string + number: number + name: string + isActive?: boolean + deadline: Date | string + createdAt?: Date | string + matches?: MatchUncheckedCreateNestedManyWithoutRoundInput + } + + export type RoundUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + matches?: MatchUpdateManyWithoutRoundNestedInput + } + + export type RoundUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + matches?: MatchUncheckedUpdateManyWithoutRoundNestedInput + } + + export type RoundCreateManyInput = { + id?: string + number: number + name: string + isActive?: boolean + deadline: Date | string + createdAt?: Date | string + } + + export type RoundUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type RoundUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type GameweekCreateInput = { + id?: string + number: number + name: string + isActive?: boolean + deadline: Date | string + createdAt?: Date | string + } + + export type GameweekUncheckedCreateInput = { + id?: string + number: number + name: string + isActive?: boolean + deadline: Date | string + createdAt?: Date | string + } + + export type GameweekUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type GameweekUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type GameweekCreateManyInput = { + id?: string + number: number + name: string + isActive?: boolean + deadline: Date | string + createdAt?: Date | string + } + + export type GameweekUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type GameweekUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchEventCreateInput = { + id?: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + match: MatchCreateNestedOneWithoutEventsInput + player: PlayerCreateNestedOneWithoutEventsInput + } + + export type MatchEventUncheckedCreateInput = { + id?: string + matchId: string + playerId: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + } + + export type MatchEventUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + match?: MatchUpdateOneRequiredWithoutEventsNestedInput + player?: PlayerUpdateOneRequiredWithoutEventsNestedInput + } + + export type MatchEventUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchEventCreateManyInput = { + id?: string + matchId: string + playerId: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + } + + export type MatchEventUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchEventUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchLineupCreateInput = { + id?: string + countryId: string + formation: string + playerIds?: MatchLineupCreateplayerIdsInput | string[] + match: MatchCreateNestedOneWithoutLineupsInput + } + + export type MatchLineupUncheckedCreateInput = { + id?: string + matchId: string + countryId: string + formation: string + playerIds?: MatchLineupCreateplayerIdsInput | string[] + } + + export type MatchLineupUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + countryId?: StringFieldUpdateOperationsInput | string + formation?: StringFieldUpdateOperationsInput | string + playerIds?: MatchLineupUpdateplayerIdsInput | string[] + match?: MatchUpdateOneRequiredWithoutLineupsNestedInput + } + + export type MatchLineupUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + countryId?: StringFieldUpdateOperationsInput | string + formation?: StringFieldUpdateOperationsInput | string + playerIds?: MatchLineupUpdateplayerIdsInput | string[] + } + + export type MatchLineupCreateManyInput = { + id?: string + matchId: string + countryId: string + formation: string + playerIds?: MatchLineupCreateplayerIdsInput | string[] + } + + export type MatchLineupUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + countryId?: StringFieldUpdateOperationsInput | string + formation?: StringFieldUpdateOperationsInput | string + playerIds?: MatchLineupUpdateplayerIdsInput | string[] + } + + export type MatchLineupUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + countryId?: StringFieldUpdateOperationsInput | string + formation?: StringFieldUpdateOperationsInput | string + playerIds?: MatchLineupUpdateplayerIdsInput | string[] + } + + export type PlayerMatchStatCreateInput = { + id?: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + player: PlayerCreateNestedOneWithoutMatchStatsInput + match: MatchCreateNestedOneWithoutPlayerStatsInput + } + + export type PlayerMatchStatUncheckedCreateInput = { + id?: string + playerId: string + matchId: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + } + + export type PlayerMatchStatUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + player?: PlayerUpdateOneRequiredWithoutMatchStatsNestedInput + match?: MatchUpdateOneRequiredWithoutPlayerStatsNestedInput + } + + export type PlayerMatchStatUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + } + + export type PlayerMatchStatCreateManyInput = { + id?: string + playerId: string + matchId: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + } + + export type PlayerMatchStatUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + } + + export type PlayerMatchStatUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + } + + export type ScoringRuleCreateInput = { + id?: string + position: $Enums.Position + eventType: $Enums.EventType + points: number + updatedAt?: Date | string + updatedBy?: string | null + } + + export type ScoringRuleUncheckedCreateInput = { + id?: string + position: $Enums.Position + eventType: $Enums.EventType + points: number + updatedAt?: Date | string + updatedBy?: string | null + } + + export type ScoringRuleUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + eventType?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + points?: IntFieldUpdateOperationsInput | number + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type ScoringRuleUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + eventType?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + points?: IntFieldUpdateOperationsInput | number + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type ScoringRuleCreateManyInput = { + id?: string + position: $Enums.Position + eventType: $Enums.EventType + points: number + updatedAt?: Date | string + updatedBy?: string | null + } + + export type ScoringRuleUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + eventType?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + points?: IntFieldUpdateOperationsInput | number + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type ScoringRuleUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + eventType?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + points?: IntFieldUpdateOperationsInput | number + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedBy?: NullableStringFieldUpdateOperationsInput | string | null + } + + export type UserCreateInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamCreateNestedOneWithoutUserInput + sessions?: SessionCreateNestedManyWithoutUserInput + payments?: PaymentCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardCreateNestedManyWithoutUserInput + } + + export type UserUncheckedCreateInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamUncheckedCreateNestedOneWithoutUserInput + sessions?: SessionUncheckedCreateNestedManyWithoutUserInput + payments?: PaymentUncheckedCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionUncheckedCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutUserInput + } + + export type UserUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUpdateOneWithoutUserNestedInput + sessions?: SessionUpdateManyWithoutUserNestedInput + payments?: PaymentUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUpdateManyWithoutUserNestedInput + } + + export type UserUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUncheckedUpdateOneWithoutUserNestedInput + sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput + payments?: PaymentUncheckedUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUncheckedUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutUserNestedInput + } + + export type UserCreateManyInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + } + + export type UserUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type UserUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type LoginOtpCreateInput = { + id?: string + phone: string + codeHash: string + attempts?: number + expiresAt: Date | string + consumedAt?: Date | string | null + createdAt?: Date | string + } + + export type LoginOtpUncheckedCreateInput = { + id?: string + phone: string + codeHash: string + attempts?: number + expiresAt: Date | string + consumedAt?: Date | string | null + createdAt?: Date | string + } + + export type LoginOtpUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + codeHash?: StringFieldUpdateOperationsInput | string + attempts?: IntFieldUpdateOperationsInput | number + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type LoginOtpUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + codeHash?: StringFieldUpdateOperationsInput | string + attempts?: IntFieldUpdateOperationsInput | number + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type LoginOtpCreateManyInput = { + id?: string + phone: string + codeHash: string + attempts?: number + expiresAt: Date | string + consumedAt?: Date | string | null + createdAt?: Date | string + } + + export type LoginOtpUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + codeHash?: StringFieldUpdateOperationsInput | string + attempts?: IntFieldUpdateOperationsInput | number + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type LoginOtpUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + phone?: StringFieldUpdateOperationsInput | string + codeHash?: StringFieldUpdateOperationsInput | string + attempts?: IntFieldUpdateOperationsInput | number + expiresAt?: DateTimeFieldUpdateOperationsInput | Date | string + consumedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type FantasyNewsCreateInput = { + id?: string + icon: string + title: string + description: string + newsTime: Date | string + createdAt?: Date | string + updatedAt?: Date | string + } + + export type FantasyNewsUncheckedCreateInput = { + id?: string + icon: string + title: string + description: string + newsTime: Date | string + createdAt?: Date | string + updatedAt?: Date | string + } + + export type FantasyNewsUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + icon?: StringFieldUpdateOperationsInput | string + title?: StringFieldUpdateOperationsInput | string + description?: StringFieldUpdateOperationsInput | string + newsTime?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type FantasyNewsUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + icon?: StringFieldUpdateOperationsInput | string + title?: StringFieldUpdateOperationsInput | string + description?: StringFieldUpdateOperationsInput | string + newsTime?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type FantasyNewsCreateManyInput = { + id?: string + icon: string + title: string + description: string + newsTime: Date | string + createdAt?: Date | string + updatedAt?: Date | string + } + + export type FantasyNewsUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + icon?: StringFieldUpdateOperationsInput | string + title?: StringFieldUpdateOperationsInput | string + description?: StringFieldUpdateOperationsInput | string + newsTime?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type FantasyNewsUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + icon?: StringFieldUpdateOperationsInput | string + title?: StringFieldUpdateOperationsInput | string + description?: StringFieldUpdateOperationsInput | string + newsTime?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type DailyQuizCreateInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + questions?: QuizQuestionCreateNestedManyWithoutQuizInput + submissions?: QuizSubmissionCreateNestedManyWithoutQuizInput + awardedCards?: GoldenCardCreateNestedManyWithoutQuizInput + } + + export type DailyQuizUncheckedCreateInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + questions?: QuizQuestionUncheckedCreateNestedManyWithoutQuizInput + submissions?: QuizSubmissionUncheckedCreateNestedManyWithoutQuizInput + awardedCards?: GoldenCardUncheckedCreateNestedManyWithoutQuizInput + } + + export type DailyQuizUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + questions?: QuizQuestionUpdateManyWithoutQuizNestedInput + submissions?: QuizSubmissionUpdateManyWithoutQuizNestedInput + awardedCards?: GoldenCardUpdateManyWithoutQuizNestedInput + } + + export type DailyQuizUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + questions?: QuizQuestionUncheckedUpdateManyWithoutQuizNestedInput + submissions?: QuizSubmissionUncheckedUpdateManyWithoutQuizNestedInput + awardedCards?: GoldenCardUncheckedUpdateManyWithoutQuizNestedInput + } + + export type DailyQuizCreateManyInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + } + + export type DailyQuizUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type DailyQuizUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type QuizQuestionCreateInput = { + id?: string + questionText: string + options?: QuizQuestionCreateoptionsInput | string[] + correctAnswer: number + order?: number + quiz: DailyQuizCreateNestedOneWithoutQuestionsInput + } + + export type QuizQuestionUncheckedCreateInput = { + id?: string + quizId: string + questionText: string + options?: QuizQuestionCreateoptionsInput | string[] + correctAnswer: number + order?: number + } + + export type QuizQuestionUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + questionText?: StringFieldUpdateOperationsInput | string + options?: QuizQuestionUpdateoptionsInput | string[] + correctAnswer?: IntFieldUpdateOperationsInput | number + order?: IntFieldUpdateOperationsInput | number + quiz?: DailyQuizUpdateOneRequiredWithoutQuestionsNestedInput + } + + export type QuizQuestionUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + quizId?: StringFieldUpdateOperationsInput | string + questionText?: StringFieldUpdateOperationsInput | string + options?: QuizQuestionUpdateoptionsInput | string[] + correctAnswer?: IntFieldUpdateOperationsInput | number + order?: IntFieldUpdateOperationsInput | number + } + + export type QuizQuestionCreateManyInput = { + id?: string + quizId: string + questionText: string + options?: QuizQuestionCreateoptionsInput | string[] + correctAnswer: number + order?: number + } + + export type QuizQuestionUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + questionText?: StringFieldUpdateOperationsInput | string + options?: QuizQuestionUpdateoptionsInput | string[] + correctAnswer?: IntFieldUpdateOperationsInput | number + order?: IntFieldUpdateOperationsInput | number + } + + export type QuizQuestionUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + quizId?: StringFieldUpdateOperationsInput | string + questionText?: StringFieldUpdateOperationsInput | string + options?: QuizQuestionUpdateoptionsInput | string[] + correctAnswer?: IntFieldUpdateOperationsInput | number + order?: IntFieldUpdateOperationsInput | number + } + + export type QuizSubmissionCreateInput = { + id?: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + user: UserCreateNestedOneWithoutQuizSubmissionsInput + quiz: DailyQuizCreateNestedOneWithoutSubmissionsInput + } + + export type QuizSubmissionUncheckedCreateInput = { + id?: string + userId: string + quizId: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + } + + export type QuizSubmissionUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutQuizSubmissionsNestedInput + quiz?: DailyQuizUpdateOneRequiredWithoutSubmissionsNestedInput + } + + export type QuizSubmissionUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + quizId?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type QuizSubmissionCreateManyInput = { + id?: string + userId: string + quizId: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + } + + export type QuizSubmissionUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type QuizSubmissionUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + quizId?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type GoldenCardCreateInput = { + id?: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + user: UserCreateNestedOneWithoutGoldenCardsInput + quiz?: DailyQuizCreateNestedOneWithoutAwardedCardsInput + player: PlayerCreateNestedOneWithoutGoldenCardsInput + teamPlayer?: TeamPlayerCreateNestedOneWithoutGoldenCardInput + } + + export type GoldenCardUncheckedCreateInput = { + id?: string + userId: string + quizId?: string | null + playerId: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + teamPlayer?: TeamPlayerUncheckedCreateNestedOneWithoutGoldenCardInput + } + + export type GoldenCardUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + user?: UserUpdateOneRequiredWithoutGoldenCardsNestedInput + quiz?: DailyQuizUpdateOneWithoutAwardedCardsNestedInput + player?: PlayerUpdateOneRequiredWithoutGoldenCardsNestedInput + teamPlayer?: TeamPlayerUpdateOneWithoutGoldenCardNestedInput + } + + export type GoldenCardUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + quizId?: NullableStringFieldUpdateOperationsInput | string | null + playerId?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + teamPlayer?: TeamPlayerUncheckedUpdateOneWithoutGoldenCardNestedInput + } + + export type GoldenCardCreateManyInput = { + id?: string + userId: string + quizId?: string | null + playerId: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + } + + export type GoldenCardUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type GoldenCardUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + quizId?: NullableStringFieldUpdateOperationsInput | string | null + playerId?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type SessionCreateInput = { + id?: string + sessionToken: string + expires: Date | string + user: UserCreateNestedOneWithoutSessionsInput + } + + export type SessionUncheckedCreateInput = { + id?: string + sessionToken: string + userId: string + expires: Date | string + } + + export type SessionUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + sessionToken?: StringFieldUpdateOperationsInput | string + expires?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutSessionsNestedInput + } + + export type SessionUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + sessionToken?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + expires?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type SessionCreateManyInput = { + id?: string + sessionToken: string + userId: string + expires: Date | string + } + + export type SessionUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + sessionToken?: StringFieldUpdateOperationsInput | string + expires?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type SessionUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + sessionToken?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + expires?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type TeamCreateInput = { + id?: string + name: string + budget?: number + totalPoints?: number + formation?: string + status?: $Enums.TeamStatus + createdAt?: Date | string + user: UserCreateNestedOneWithoutTeamInput + players?: TeamPlayerCreateNestedManyWithoutTeamInput + } + + export type TeamUncheckedCreateInput = { + id?: string + name: string + userId: string + budget?: number + totalPoints?: number + formation?: string + status?: $Enums.TeamStatus + createdAt?: Date | string + players?: TeamPlayerUncheckedCreateNestedManyWithoutTeamInput + } + + export type TeamUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budget?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + formation?: StringFieldUpdateOperationsInput | string + status?: EnumTeamStatusFieldUpdateOperationsInput | $Enums.TeamStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutTeamNestedInput + players?: TeamPlayerUpdateManyWithoutTeamNestedInput + } + + export type TeamUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + budget?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + formation?: StringFieldUpdateOperationsInput | string + status?: EnumTeamStatusFieldUpdateOperationsInput | $Enums.TeamStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + players?: TeamPlayerUncheckedUpdateManyWithoutTeamNestedInput + } + + export type TeamCreateManyInput = { + id?: string + name: string + userId: string + budget?: number + totalPoints?: number + formation?: string + status?: $Enums.TeamStatus + createdAt?: Date | string + } + + export type TeamUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budget?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + formation?: StringFieldUpdateOperationsInput | string + status?: EnumTeamStatusFieldUpdateOperationsInput | $Enums.TeamStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type TeamUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + budget?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + formation?: StringFieldUpdateOperationsInput | string + status?: EnumTeamStatusFieldUpdateOperationsInput | $Enums.TeamStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type TeamPlayerCreateInput = { + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + team: TeamCreateNestedOneWithoutPlayersInput + player: PlayerCreateNestedOneWithoutTeamPlayersInput + goldenCard?: GoldenCardCreateNestedOneWithoutTeamPlayerInput + } + + export type TeamPlayerUncheckedCreateInput = { + teamId: string + playerId: string + goldenCardId?: string | null + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + } + + export type TeamPlayerUpdateInput = { + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + team?: TeamUpdateOneRequiredWithoutPlayersNestedInput + player?: PlayerUpdateOneRequiredWithoutTeamPlayersNestedInput + goldenCard?: GoldenCardUpdateOneWithoutTeamPlayerNestedInput + } + + export type TeamPlayerUncheckedUpdateInput = { + teamId?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + goldenCardId?: NullableStringFieldUpdateOperationsInput | string | null + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + } + + export type TeamPlayerCreateManyInput = { + teamId: string + playerId: string + goldenCardId?: string | null + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + } + + export type TeamPlayerUpdateManyMutationInput = { + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + } + + export type TeamPlayerUncheckedUpdateManyInput = { + teamId?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + goldenCardId?: NullableStringFieldUpdateOperationsInput | string | null + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + } + + export type PackageCreateInput = { + id?: string + name: string + budgetBonus: number + price: number + description?: string | null + isActive?: boolean + payments?: PaymentCreateNestedManyWithoutPackageInput + } + + export type PackageUncheckedCreateInput = { + id?: string + name: string + budgetBonus: number + price: number + description?: string | null + isActive?: boolean + payments?: PaymentUncheckedCreateNestedManyWithoutPackageInput + } + + export type PackageUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budgetBonus?: FloatFieldUpdateOperationsInput | number + price?: IntFieldUpdateOperationsInput | number + description?: NullableStringFieldUpdateOperationsInput | string | null + isActive?: BoolFieldUpdateOperationsInput | boolean + payments?: PaymentUpdateManyWithoutPackageNestedInput + } + + export type PackageUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budgetBonus?: FloatFieldUpdateOperationsInput | number + price?: IntFieldUpdateOperationsInput | number + description?: NullableStringFieldUpdateOperationsInput | string | null + isActive?: BoolFieldUpdateOperationsInput | boolean + payments?: PaymentUncheckedUpdateManyWithoutPackageNestedInput + } + + export type PackageCreateManyInput = { + id?: string + name: string + budgetBonus: number + price: number + description?: string | null + isActive?: boolean + } + + export type PackageUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budgetBonus?: FloatFieldUpdateOperationsInput | number + price?: IntFieldUpdateOperationsInput | number + description?: NullableStringFieldUpdateOperationsInput | string | null + isActive?: BoolFieldUpdateOperationsInput | boolean + } + + export type PackageUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budgetBonus?: FloatFieldUpdateOperationsInput | number + price?: IntFieldUpdateOperationsInput | number + description?: NullableStringFieldUpdateOperationsInput | string | null + isActive?: BoolFieldUpdateOperationsInput | boolean + } + + export type PaymentCreateInput = { + id?: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + user: UserCreateNestedOneWithoutPaymentsInput + package: PackageCreateNestedOneWithoutPaymentsInput + } + + export type PaymentUncheckedCreateInput = { + id?: string + userId: string + packageId: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + } + + export type PaymentUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutPaymentsNestedInput + package?: PackageUpdateOneRequiredWithoutPaymentsNestedInput + } + + export type PaymentUncheckedUpdateInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + packageId?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PaymentCreateManyInput = { + id?: string + userId: string + packageId: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + } + + export type PaymentUpdateManyMutationInput = { + id?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PaymentUncheckedUpdateManyInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + packageId?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type StringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringFilter<$PrismaModel> | string + } + + export type StringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type StringNullableListFilter<$PrismaModel = never> = { + equals?: string[] | ListStringFieldRefInput<$PrismaModel> | null + has?: string | StringFieldRefInput<$PrismaModel> | null + hasEvery?: string[] | ListStringFieldRefInput<$PrismaModel> + hasSome?: string[] | ListStringFieldRefInput<$PrismaModel> + isEmpty?: boolean + } + + export type BoolFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolFilter<$PrismaModel> | boolean + } + + export type GroupNullableScalarRelationFilter = { + is?: GroupWhereInput | null + isNot?: GroupWhereInput | null + } + + export type PlayerListRelationFilter = { + every?: PlayerWhereInput + some?: PlayerWhereInput + none?: PlayerWhereInput + } + + export type MatchListRelationFilter = { + every?: MatchWhereInput + some?: MatchWhereInput + none?: MatchWhereInput + } + + export type SortOrderInput = { + sort: SortOrder + nulls?: NullsOrder + } + + export type PlayerOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type MatchOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type CountryCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + code?: SortOrder + flagUrl?: SortOrder + flagImage?: SortOrder + confederation?: SortOrder + qualificationMethod?: SortOrder + qualificationDate?: SortOrder + participationHistory?: SortOrder + bestResult?: SortOrder + description?: SortOrder + defaultFormation?: SortOrder + defaultLineupPlayerIds?: SortOrder + defaultCaptainId?: SortOrder + groupId?: SortOrder + isEliminated?: SortOrder + } + + export type CountryMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + code?: SortOrder + flagUrl?: SortOrder + flagImage?: SortOrder + confederation?: SortOrder + qualificationMethod?: SortOrder + qualificationDate?: SortOrder + participationHistory?: SortOrder + bestResult?: SortOrder + description?: SortOrder + defaultFormation?: SortOrder + defaultCaptainId?: SortOrder + groupId?: SortOrder + isEliminated?: SortOrder + } + + export type CountryMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + code?: SortOrder + flagUrl?: SortOrder + flagImage?: SortOrder + confederation?: SortOrder + qualificationMethod?: SortOrder + qualificationDate?: SortOrder + participationHistory?: SortOrder + bestResult?: SortOrder + description?: SortOrder + defaultFormation?: SortOrder + defaultCaptainId?: SortOrder + groupId?: SortOrder + isEliminated?: SortOrder + } + + export type StringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + + export type StringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + mode?: QueryMode + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + + export type BoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedBoolFilter<$PrismaModel> + _max?: NestedBoolFilter<$PrismaModel> + } + + export type CountryListRelationFilter = { + every?: CountryWhereInput + some?: CountryWhereInput + none?: CountryWhereInput + } + + export type CountryOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type GroupCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + } + + export type GroupMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + } + + export type GroupMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + } + + export type EnumPositionFilter<$PrismaModel = never> = { + equals?: $Enums.Position | EnumPositionFieldRefInput<$PrismaModel> + in?: $Enums.Position[] | ListEnumPositionFieldRefInput<$PrismaModel> + notIn?: $Enums.Position[] | ListEnumPositionFieldRefInput<$PrismaModel> + not?: NestedEnumPositionFilter<$PrismaModel> | $Enums.Position + } + + export type FloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + + export type IntFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntFilter<$PrismaModel> | number + } + + export type EnumCardTierFilter<$PrismaModel = never> = { + equals?: $Enums.CardTier | EnumCardTierFieldRefInput<$PrismaModel> + in?: $Enums.CardTier[] | ListEnumCardTierFieldRefInput<$PrismaModel> + notIn?: $Enums.CardTier[] | ListEnumCardTierFieldRefInput<$PrismaModel> + not?: NestedEnumCardTierFilter<$PrismaModel> | $Enums.CardTier + } + + export type DateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + + export type CountryScalarRelationFilter = { + is?: CountryWhereInput + isNot?: CountryWhereInput + } + + export type PlayerMatchStatListRelationFilter = { + every?: PlayerMatchStatWhereInput + some?: PlayerMatchStatWhereInput + none?: PlayerMatchStatWhereInput + } + + export type TeamPlayerListRelationFilter = { + every?: TeamPlayerWhereInput + some?: TeamPlayerWhereInput + none?: TeamPlayerWhereInput + } + + export type MatchEventListRelationFilter = { + every?: MatchEventWhereInput + some?: MatchEventWhereInput + none?: MatchEventWhereInput + } + + export type GoldenCardListRelationFilter = { + every?: GoldenCardWhereInput + some?: GoldenCardWhereInput + none?: GoldenCardWhereInput + } + + export type PlayerMatchStatOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type TeamPlayerOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type MatchEventOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type GoldenCardOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type PlayerCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + image?: SortOrder + position?: SortOrder + countryId?: SortOrder + price?: SortOrder + totalPoints?: SortOrder + isActive?: SortOrder + isGoldenCardEligible?: SortOrder + cardTier?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type PlayerAvgOrderByAggregateInput = { + price?: SortOrder + totalPoints?: SortOrder + } + + export type PlayerMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + image?: SortOrder + position?: SortOrder + countryId?: SortOrder + price?: SortOrder + totalPoints?: SortOrder + isActive?: SortOrder + isGoldenCardEligible?: SortOrder + cardTier?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type PlayerMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + image?: SortOrder + position?: SortOrder + countryId?: SortOrder + price?: SortOrder + totalPoints?: SortOrder + isActive?: SortOrder + isGoldenCardEligible?: SortOrder + cardTier?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type PlayerSumOrderByAggregateInput = { + price?: SortOrder + totalPoints?: SortOrder + } + + export type EnumPositionWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Position | EnumPositionFieldRefInput<$PrismaModel> + in?: $Enums.Position[] | ListEnumPositionFieldRefInput<$PrismaModel> + notIn?: $Enums.Position[] | ListEnumPositionFieldRefInput<$PrismaModel> + not?: NestedEnumPositionWithAggregatesFilter<$PrismaModel> | $Enums.Position + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumPositionFilter<$PrismaModel> + _max?: NestedEnumPositionFilter<$PrismaModel> + } + + export type FloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedFloatFilter<$PrismaModel> + _min?: NestedFloatFilter<$PrismaModel> + _max?: NestedFloatFilter<$PrismaModel> + } + + export type IntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedIntFilter<$PrismaModel> + _min?: NestedIntFilter<$PrismaModel> + _max?: NestedIntFilter<$PrismaModel> + } + + export type EnumCardTierWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.CardTier | EnumCardTierFieldRefInput<$PrismaModel> + in?: $Enums.CardTier[] | ListEnumCardTierFieldRefInput<$PrismaModel> + notIn?: $Enums.CardTier[] | ListEnumCardTierFieldRefInput<$PrismaModel> + not?: NestedEnumCardTierWithAggregatesFilter<$PrismaModel> | $Enums.CardTier + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumCardTierFilter<$PrismaModel> + _max?: NestedEnumCardTierFilter<$PrismaModel> + } + + export type DateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + + export type IntNullableFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableFilter<$PrismaModel> | number | null + } + + export type EnumMatchStageFilter<$PrismaModel = never> = { + equals?: $Enums.MatchStage | EnumMatchStageFieldRefInput<$PrismaModel> + in?: $Enums.MatchStage[] | ListEnumMatchStageFieldRefInput<$PrismaModel> + notIn?: $Enums.MatchStage[] | ListEnumMatchStageFieldRefInput<$PrismaModel> + not?: NestedEnumMatchStageFilter<$PrismaModel> | $Enums.MatchStage + } + + export type EnumMatchStatusFilter<$PrismaModel = never> = { + equals?: $Enums.MatchStatus | EnumMatchStatusFieldRefInput<$PrismaModel> + in?: $Enums.MatchStatus[] | ListEnumMatchStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.MatchStatus[] | ListEnumMatchStatusFieldRefInput<$PrismaModel> + not?: NestedEnumMatchStatusFilter<$PrismaModel> | $Enums.MatchStatus + } + + export type RoundNullableScalarRelationFilter = { + is?: RoundWhereInput | null + isNot?: RoundWhereInput | null + } + + export type MatchLineupListRelationFilter = { + every?: MatchLineupWhereInput + some?: MatchLineupWhereInput + none?: MatchLineupWhereInput + } + + export type MatchLineupOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type MatchCountOrderByAggregateInput = { + id?: SortOrder + homeTeamId?: SortOrder + awayTeamId?: SortOrder + homeScore?: SortOrder + awayScore?: SortOrder + stage?: SortOrder + status?: SortOrder + matchDate?: SortOrder + matchDatePersian?: SortOrder + stadium?: SortOrder + city?: SortOrder + referee?: SortOrder + assistant1?: SortOrder + assistant2?: SortOrder + fourthOfficial?: SortOrder + attendance?: SortOrder + weather?: SortOrder + description?: SortOrder + roundId?: SortOrder + createdAt?: SortOrder + } + + export type MatchAvgOrderByAggregateInput = { + homeScore?: SortOrder + awayScore?: SortOrder + attendance?: SortOrder + } + + export type MatchMaxOrderByAggregateInput = { + id?: SortOrder + homeTeamId?: SortOrder + awayTeamId?: SortOrder + homeScore?: SortOrder + awayScore?: SortOrder + stage?: SortOrder + status?: SortOrder + matchDate?: SortOrder + matchDatePersian?: SortOrder + stadium?: SortOrder + city?: SortOrder + referee?: SortOrder + assistant1?: SortOrder + assistant2?: SortOrder + fourthOfficial?: SortOrder + attendance?: SortOrder + weather?: SortOrder + description?: SortOrder + roundId?: SortOrder + createdAt?: SortOrder + } + + export type MatchMinOrderByAggregateInput = { + id?: SortOrder + homeTeamId?: SortOrder + awayTeamId?: SortOrder + homeScore?: SortOrder + awayScore?: SortOrder + stage?: SortOrder + status?: SortOrder + matchDate?: SortOrder + matchDatePersian?: SortOrder + stadium?: SortOrder + city?: SortOrder + referee?: SortOrder + assistant1?: SortOrder + assistant2?: SortOrder + fourthOfficial?: SortOrder + attendance?: SortOrder + weather?: SortOrder + description?: SortOrder + roundId?: SortOrder + createdAt?: SortOrder + } + + export type MatchSumOrderByAggregateInput = { + homeScore?: SortOrder + awayScore?: SortOrder + attendance?: SortOrder + } + + export type IntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedIntNullableFilter<$PrismaModel> + _max?: NestedIntNullableFilter<$PrismaModel> + } + + export type EnumMatchStageWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.MatchStage | EnumMatchStageFieldRefInput<$PrismaModel> + in?: $Enums.MatchStage[] | ListEnumMatchStageFieldRefInput<$PrismaModel> + notIn?: $Enums.MatchStage[] | ListEnumMatchStageFieldRefInput<$PrismaModel> + not?: NestedEnumMatchStageWithAggregatesFilter<$PrismaModel> | $Enums.MatchStage + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumMatchStageFilter<$PrismaModel> + _max?: NestedEnumMatchStageFilter<$PrismaModel> + } + + export type EnumMatchStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.MatchStatus | EnumMatchStatusFieldRefInput<$PrismaModel> + in?: $Enums.MatchStatus[] | ListEnumMatchStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.MatchStatus[] | ListEnumMatchStatusFieldRefInput<$PrismaModel> + not?: NestedEnumMatchStatusWithAggregatesFilter<$PrismaModel> | $Enums.MatchStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumMatchStatusFilter<$PrismaModel> + _max?: NestedEnumMatchStatusFilter<$PrismaModel> + } + + export type RoundCountOrderByAggregateInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + } + + export type RoundAvgOrderByAggregateInput = { + number?: SortOrder + } + + export type RoundMaxOrderByAggregateInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + } + + export type RoundMinOrderByAggregateInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + } + + export type RoundSumOrderByAggregateInput = { + number?: SortOrder + } + + export type GameweekCountOrderByAggregateInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + } + + export type GameweekAvgOrderByAggregateInput = { + number?: SortOrder + } + + export type GameweekMaxOrderByAggregateInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + } + + export type GameweekMinOrderByAggregateInput = { + id?: SortOrder + number?: SortOrder + name?: SortOrder + isActive?: SortOrder + deadline?: SortOrder + createdAt?: SortOrder + } + + export type GameweekSumOrderByAggregateInput = { + number?: SortOrder + } + + export type EnumEventTypeFilter<$PrismaModel = never> = { + equals?: $Enums.EventType | EnumEventTypeFieldRefInput<$PrismaModel> + in?: $Enums.EventType[] | ListEnumEventTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.EventType[] | ListEnumEventTypeFieldRefInput<$PrismaModel> + not?: NestedEnumEventTypeFilter<$PrismaModel> | $Enums.EventType + } + + export type MatchScalarRelationFilter = { + is?: MatchWhereInput + isNot?: MatchWhereInput + } + + export type PlayerScalarRelationFilter = { + is?: PlayerWhereInput + isNot?: PlayerWhereInput + } + + export type MatchEventCountOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + playerId?: SortOrder + type?: SortOrder + minute?: SortOrder + extraInfo?: SortOrder + createdAt?: SortOrder + } + + export type MatchEventAvgOrderByAggregateInput = { + minute?: SortOrder + } + + export type MatchEventMaxOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + playerId?: SortOrder + type?: SortOrder + minute?: SortOrder + extraInfo?: SortOrder + createdAt?: SortOrder + } + + export type MatchEventMinOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + playerId?: SortOrder + type?: SortOrder + minute?: SortOrder + extraInfo?: SortOrder + createdAt?: SortOrder + } + + export type MatchEventSumOrderByAggregateInput = { + minute?: SortOrder + } + + export type EnumEventTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.EventType | EnumEventTypeFieldRefInput<$PrismaModel> + in?: $Enums.EventType[] | ListEnumEventTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.EventType[] | ListEnumEventTypeFieldRefInput<$PrismaModel> + not?: NestedEnumEventTypeWithAggregatesFilter<$PrismaModel> | $Enums.EventType + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumEventTypeFilter<$PrismaModel> + _max?: NestedEnumEventTypeFilter<$PrismaModel> + } + + export type MatchLineupCountOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + countryId?: SortOrder + formation?: SortOrder + playerIds?: SortOrder + } + + export type MatchLineupMaxOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + countryId?: SortOrder + formation?: SortOrder + } + + export type MatchLineupMinOrderByAggregateInput = { + id?: SortOrder + matchId?: SortOrder + countryId?: SortOrder + formation?: SortOrder + } + + export type PlayerMatchStatPlayerIdMatchIdCompoundUniqueInput = { + playerId: string + matchId: string + } + + export type PlayerMatchStatCountOrderByAggregateInput = { + id?: SortOrder + playerId?: SortOrder + matchId?: SortOrder + goals?: SortOrder + assists?: SortOrder + yellowCards?: SortOrder + redCards?: SortOrder + minutesPlayed?: SortOrder + cleanSheet?: SortOrder + penaltySaved?: SortOrder + penaltyMissed?: SortOrder + ownGoals?: SortOrder + isMotm?: SortOrder + extraTimeBonus?: SortOrder + points?: SortOrder + } + + export type PlayerMatchStatAvgOrderByAggregateInput = { + goals?: SortOrder + assists?: SortOrder + yellowCards?: SortOrder + redCards?: SortOrder + minutesPlayed?: SortOrder + penaltySaved?: SortOrder + penaltyMissed?: SortOrder + ownGoals?: SortOrder + extraTimeBonus?: SortOrder + points?: SortOrder + } + + export type PlayerMatchStatMaxOrderByAggregateInput = { + id?: SortOrder + playerId?: SortOrder + matchId?: SortOrder + goals?: SortOrder + assists?: SortOrder + yellowCards?: SortOrder + redCards?: SortOrder + minutesPlayed?: SortOrder + cleanSheet?: SortOrder + penaltySaved?: SortOrder + penaltyMissed?: SortOrder + ownGoals?: SortOrder + isMotm?: SortOrder + extraTimeBonus?: SortOrder + points?: SortOrder + } + + export type PlayerMatchStatMinOrderByAggregateInput = { + id?: SortOrder + playerId?: SortOrder + matchId?: SortOrder + goals?: SortOrder + assists?: SortOrder + yellowCards?: SortOrder + redCards?: SortOrder + minutesPlayed?: SortOrder + cleanSheet?: SortOrder + penaltySaved?: SortOrder + penaltyMissed?: SortOrder + ownGoals?: SortOrder + isMotm?: SortOrder + extraTimeBonus?: SortOrder + points?: SortOrder + } + + export type PlayerMatchStatSumOrderByAggregateInput = { + goals?: SortOrder + assists?: SortOrder + yellowCards?: SortOrder + redCards?: SortOrder + minutesPlayed?: SortOrder + penaltySaved?: SortOrder + penaltyMissed?: SortOrder + ownGoals?: SortOrder + extraTimeBonus?: SortOrder + points?: SortOrder + } + + export type ScoringRulePositionEventTypeCompoundUniqueInput = { + position: $Enums.Position + eventType: $Enums.EventType + } + + export type ScoringRuleCountOrderByAggregateInput = { + id?: SortOrder + position?: SortOrder + eventType?: SortOrder + points?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type ScoringRuleAvgOrderByAggregateInput = { + points?: SortOrder + } + + export type ScoringRuleMaxOrderByAggregateInput = { + id?: SortOrder + position?: SortOrder + eventType?: SortOrder + points?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type ScoringRuleMinOrderByAggregateInput = { + id?: SortOrder + position?: SortOrder + eventType?: SortOrder + points?: SortOrder + updatedAt?: SortOrder + updatedBy?: SortOrder + } + + export type ScoringRuleSumOrderByAggregateInput = { + points?: SortOrder + } + + export type EnumRoleFilter<$PrismaModel = never> = { + equals?: $Enums.Role | EnumRoleFieldRefInput<$PrismaModel> + in?: $Enums.Role[] | ListEnumRoleFieldRefInput<$PrismaModel> + notIn?: $Enums.Role[] | ListEnumRoleFieldRefInput<$PrismaModel> + not?: NestedEnumRoleFilter<$PrismaModel> | $Enums.Role + } + + export type TeamNullableScalarRelationFilter = { + is?: TeamWhereInput | null + isNot?: TeamWhereInput | null + } + + export type SessionListRelationFilter = { + every?: SessionWhereInput + some?: SessionWhereInput + none?: SessionWhereInput + } + + export type PaymentListRelationFilter = { + every?: PaymentWhereInput + some?: PaymentWhereInput + none?: PaymentWhereInput + } + + export type QuizSubmissionListRelationFilter = { + every?: QuizSubmissionWhereInput + some?: QuizSubmissionWhereInput + none?: QuizSubmissionWhereInput + } + + export type SessionOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type PaymentOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type QuizSubmissionOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type UserCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + email?: SortOrder + phone?: SortOrder + password?: SortOrder + role?: SortOrder + createdAt?: SortOrder + } + + export type UserMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + email?: SortOrder + phone?: SortOrder + password?: SortOrder + role?: SortOrder + createdAt?: SortOrder + } + + export type UserMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + email?: SortOrder + phone?: SortOrder + password?: SortOrder + role?: SortOrder + createdAt?: SortOrder + } + + export type EnumRoleWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Role | EnumRoleFieldRefInput<$PrismaModel> + in?: $Enums.Role[] | ListEnumRoleFieldRefInput<$PrismaModel> + notIn?: $Enums.Role[] | ListEnumRoleFieldRefInput<$PrismaModel> + not?: NestedEnumRoleWithAggregatesFilter<$PrismaModel> | $Enums.Role + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumRoleFilter<$PrismaModel> + _max?: NestedEnumRoleFilter<$PrismaModel> + } + + export type DateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + + export type LoginOtpCountOrderByAggregateInput = { + id?: SortOrder + phone?: SortOrder + codeHash?: SortOrder + attempts?: SortOrder + expiresAt?: SortOrder + consumedAt?: SortOrder + createdAt?: SortOrder + } + + export type LoginOtpAvgOrderByAggregateInput = { + attempts?: SortOrder + } + + export type LoginOtpMaxOrderByAggregateInput = { + id?: SortOrder + phone?: SortOrder + codeHash?: SortOrder + attempts?: SortOrder + expiresAt?: SortOrder + consumedAt?: SortOrder + createdAt?: SortOrder + } + + export type LoginOtpMinOrderByAggregateInput = { + id?: SortOrder + phone?: SortOrder + codeHash?: SortOrder + attempts?: SortOrder + expiresAt?: SortOrder + consumedAt?: SortOrder + createdAt?: SortOrder + } + + export type LoginOtpSumOrderByAggregateInput = { + attempts?: SortOrder + } + + export type DateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + + export type FantasyNewsCountOrderByAggregateInput = { + id?: SortOrder + icon?: SortOrder + title?: SortOrder + description?: SortOrder + newsTime?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type FantasyNewsMaxOrderByAggregateInput = { + id?: SortOrder + icon?: SortOrder + title?: SortOrder + description?: SortOrder + newsTime?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type FantasyNewsMinOrderByAggregateInput = { + id?: SortOrder + icon?: SortOrder + title?: SortOrder + description?: SortOrder + newsTime?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type QuizQuestionListRelationFilter = { + every?: QuizQuestionWhereInput + some?: QuizQuestionWhereInput + none?: QuizQuestionWhereInput + } + + export type QuizQuestionOrderByRelationAggregateInput = { + _count?: SortOrder + } + + export type DailyQuizCountOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + windowStart?: SortOrder + windowEnd?: SortOrder + goldWinnersCount?: SortOrder + silverWinnersCount?: SortOrder + bronzeWinnersCount?: SortOrder + goldMinCorrect?: SortOrder + silverMinCorrect?: SortOrder + bronzeMinCorrect?: SortOrder + isProcessed?: SortOrder + createdAt?: SortOrder + } + + export type DailyQuizAvgOrderByAggregateInput = { + goldWinnersCount?: SortOrder + silverWinnersCount?: SortOrder + bronzeWinnersCount?: SortOrder + goldMinCorrect?: SortOrder + silverMinCorrect?: SortOrder + bronzeMinCorrect?: SortOrder + } + + export type DailyQuizMaxOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + windowStart?: SortOrder + windowEnd?: SortOrder + goldWinnersCount?: SortOrder + silverWinnersCount?: SortOrder + bronzeWinnersCount?: SortOrder + goldMinCorrect?: SortOrder + silverMinCorrect?: SortOrder + bronzeMinCorrect?: SortOrder + isProcessed?: SortOrder + createdAt?: SortOrder + } + + export type DailyQuizMinOrderByAggregateInput = { + id?: SortOrder + date?: SortOrder + windowStart?: SortOrder + windowEnd?: SortOrder + goldWinnersCount?: SortOrder + silverWinnersCount?: SortOrder + bronzeWinnersCount?: SortOrder + goldMinCorrect?: SortOrder + silverMinCorrect?: SortOrder + bronzeMinCorrect?: SortOrder + isProcessed?: SortOrder + createdAt?: SortOrder + } + + export type DailyQuizSumOrderByAggregateInput = { + goldWinnersCount?: SortOrder + silverWinnersCount?: SortOrder + bronzeWinnersCount?: SortOrder + goldMinCorrect?: SortOrder + silverMinCorrect?: SortOrder + bronzeMinCorrect?: SortOrder + } + + export type DailyQuizScalarRelationFilter = { + is?: DailyQuizWhereInput + isNot?: DailyQuizWhereInput + } + + export type QuizQuestionCountOrderByAggregateInput = { + id?: SortOrder + quizId?: SortOrder + questionText?: SortOrder + options?: SortOrder + correctAnswer?: SortOrder + order?: SortOrder + } + + export type QuizQuestionAvgOrderByAggregateInput = { + correctAnswer?: SortOrder + order?: SortOrder + } + + export type QuizQuestionMaxOrderByAggregateInput = { + id?: SortOrder + quizId?: SortOrder + questionText?: SortOrder + correctAnswer?: SortOrder + order?: SortOrder + } + + export type QuizQuestionMinOrderByAggregateInput = { + id?: SortOrder + quizId?: SortOrder + questionText?: SortOrder + correctAnswer?: SortOrder + order?: SortOrder + } + + export type QuizQuestionSumOrderByAggregateInput = { + correctAnswer?: SortOrder + order?: SortOrder + } + + export type IntNullableListFilter<$PrismaModel = never> = { + equals?: number[] | ListIntFieldRefInput<$PrismaModel> | null + has?: number | IntFieldRefInput<$PrismaModel> | null + hasEvery?: number[] | ListIntFieldRefInput<$PrismaModel> + hasSome?: number[] | ListIntFieldRefInput<$PrismaModel> + isEmpty?: boolean + } + + export type UserScalarRelationFilter = { + is?: UserWhereInput + isNot?: UserWhereInput + } + + export type QuizSubmissionUserIdQuizIdCompoundUniqueInput = { + userId: string + quizId: string + } + + export type QuizSubmissionCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrder + answers?: SortOrder + correctAnswers?: SortOrder + score?: SortOrder + submittedAt?: SortOrder + } + + export type QuizSubmissionAvgOrderByAggregateInput = { + answers?: SortOrder + correctAnswers?: SortOrder + score?: SortOrder + } + + export type QuizSubmissionMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrder + correctAnswers?: SortOrder + score?: SortOrder + submittedAt?: SortOrder + } + + export type QuizSubmissionMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrder + correctAnswers?: SortOrder + score?: SortOrder + submittedAt?: SortOrder + } + + export type QuizSubmissionSumOrderByAggregateInput = { + answers?: SortOrder + correctAnswers?: SortOrder + score?: SortOrder + } + + export type EnumGoldenCardStatusFilter<$PrismaModel = never> = { + equals?: $Enums.GoldenCardStatus | EnumGoldenCardStatusFieldRefInput<$PrismaModel> + in?: $Enums.GoldenCardStatus[] | ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.GoldenCardStatus[] | ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> + not?: NestedEnumGoldenCardStatusFilter<$PrismaModel> | $Enums.GoldenCardStatus + } + + export type EnumSpecialCardStateFilter<$PrismaModel = never> = { + equals?: $Enums.SpecialCardState | EnumSpecialCardStateFieldRefInput<$PrismaModel> + in?: $Enums.SpecialCardState[] | ListEnumSpecialCardStateFieldRefInput<$PrismaModel> + notIn?: $Enums.SpecialCardState[] | ListEnumSpecialCardStateFieldRefInput<$PrismaModel> + not?: NestedEnumSpecialCardStateFilter<$PrismaModel> | $Enums.SpecialCardState + } + + export type DailyQuizNullableScalarRelationFilter = { + is?: DailyQuizWhereInput | null + isNot?: DailyQuizWhereInput | null + } + + export type TeamPlayerNullableScalarRelationFilter = { + is?: TeamPlayerWhereInput | null + isNot?: TeamPlayerWhereInput | null + } + + export type GoldenCardCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrder + playerId?: SortOrder + cardTier?: SortOrder + status?: SortOrder + state?: SortOrder + acquiredDate?: SortOrder + openedAt?: SortOrder + } + + export type GoldenCardMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrder + playerId?: SortOrder + cardTier?: SortOrder + status?: SortOrder + state?: SortOrder + acquiredDate?: SortOrder + openedAt?: SortOrder + } + + export type GoldenCardMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + quizId?: SortOrder + playerId?: SortOrder + cardTier?: SortOrder + status?: SortOrder + state?: SortOrder + acquiredDate?: SortOrder + openedAt?: SortOrder + } + + export type EnumGoldenCardStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.GoldenCardStatus | EnumGoldenCardStatusFieldRefInput<$PrismaModel> + in?: $Enums.GoldenCardStatus[] | ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.GoldenCardStatus[] | ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> + not?: NestedEnumGoldenCardStatusWithAggregatesFilter<$PrismaModel> | $Enums.GoldenCardStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumGoldenCardStatusFilter<$PrismaModel> + _max?: NestedEnumGoldenCardStatusFilter<$PrismaModel> + } + + export type EnumSpecialCardStateWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.SpecialCardState | EnumSpecialCardStateFieldRefInput<$PrismaModel> + in?: $Enums.SpecialCardState[] | ListEnumSpecialCardStateFieldRefInput<$PrismaModel> + notIn?: $Enums.SpecialCardState[] | ListEnumSpecialCardStateFieldRefInput<$PrismaModel> + not?: NestedEnumSpecialCardStateWithAggregatesFilter<$PrismaModel> | $Enums.SpecialCardState + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumSpecialCardStateFilter<$PrismaModel> + _max?: NestedEnumSpecialCardStateFilter<$PrismaModel> + } + + export type SessionCountOrderByAggregateInput = { + id?: SortOrder + sessionToken?: SortOrder + userId?: SortOrder + expires?: SortOrder + } + + export type SessionMaxOrderByAggregateInput = { + id?: SortOrder + sessionToken?: SortOrder + userId?: SortOrder + expires?: SortOrder + } + + export type SessionMinOrderByAggregateInput = { + id?: SortOrder + sessionToken?: SortOrder + userId?: SortOrder + expires?: SortOrder + } + + export type EnumTeamStatusFilter<$PrismaModel = never> = { + equals?: $Enums.TeamStatus | EnumTeamStatusFieldRefInput<$PrismaModel> + in?: $Enums.TeamStatus[] | ListEnumTeamStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.TeamStatus[] | ListEnumTeamStatusFieldRefInput<$PrismaModel> + not?: NestedEnumTeamStatusFilter<$PrismaModel> | $Enums.TeamStatus + } + + export type TeamCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + userId?: SortOrder + budget?: SortOrder + totalPoints?: SortOrder + formation?: SortOrder + status?: SortOrder + createdAt?: SortOrder + } + + export type TeamAvgOrderByAggregateInput = { + budget?: SortOrder + totalPoints?: SortOrder + } + + export type TeamMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + userId?: SortOrder + budget?: SortOrder + totalPoints?: SortOrder + formation?: SortOrder + status?: SortOrder + createdAt?: SortOrder + } + + export type TeamMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + userId?: SortOrder + budget?: SortOrder + totalPoints?: SortOrder + formation?: SortOrder + status?: SortOrder + createdAt?: SortOrder + } + + export type TeamSumOrderByAggregateInput = { + budget?: SortOrder + totalPoints?: SortOrder + } + + export type EnumTeamStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.TeamStatus | EnumTeamStatusFieldRefInput<$PrismaModel> + in?: $Enums.TeamStatus[] | ListEnumTeamStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.TeamStatus[] | ListEnumTeamStatusFieldRefInput<$PrismaModel> + not?: NestedEnumTeamStatusWithAggregatesFilter<$PrismaModel> | $Enums.TeamStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumTeamStatusFilter<$PrismaModel> + _max?: NestedEnumTeamStatusFilter<$PrismaModel> + } + + export type TeamScalarRelationFilter = { + is?: TeamWhereInput + isNot?: TeamWhereInput + } + + export type GoldenCardNullableScalarRelationFilter = { + is?: GoldenCardWhereInput | null + isNot?: GoldenCardWhereInput | null + } + + export type TeamPlayerTeamIdPlayerIdCompoundUniqueInput = { + teamId: string + playerId: string + } + + export type TeamPlayerCountOrderByAggregateInput = { + teamId?: SortOrder + playerId?: SortOrder + goldenCardId?: SortOrder + isCaptain?: SortOrder + isViceCaptain?: SortOrder + isBench?: SortOrder + positionIndex?: SortOrder + } + + export type TeamPlayerAvgOrderByAggregateInput = { + positionIndex?: SortOrder + } + + export type TeamPlayerMaxOrderByAggregateInput = { + teamId?: SortOrder + playerId?: SortOrder + goldenCardId?: SortOrder + isCaptain?: SortOrder + isViceCaptain?: SortOrder + isBench?: SortOrder + positionIndex?: SortOrder + } + + export type TeamPlayerMinOrderByAggregateInput = { + teamId?: SortOrder + playerId?: SortOrder + goldenCardId?: SortOrder + isCaptain?: SortOrder + isViceCaptain?: SortOrder + isBench?: SortOrder + positionIndex?: SortOrder + } + + export type TeamPlayerSumOrderByAggregateInput = { + positionIndex?: SortOrder + } + + export type PackageCountOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + budgetBonus?: SortOrder + price?: SortOrder + description?: SortOrder + isActive?: SortOrder + } + + export type PackageAvgOrderByAggregateInput = { + budgetBonus?: SortOrder + price?: SortOrder + } + + export type PackageMaxOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + budgetBonus?: SortOrder + price?: SortOrder + description?: SortOrder + isActive?: SortOrder + } + + export type PackageMinOrderByAggregateInput = { + id?: SortOrder + name?: SortOrder + budgetBonus?: SortOrder + price?: SortOrder + description?: SortOrder + isActive?: SortOrder + } + + export type PackageSumOrderByAggregateInput = { + budgetBonus?: SortOrder + price?: SortOrder + } + + export type EnumPaymentStatusFilter<$PrismaModel = never> = { + equals?: $Enums.PaymentStatus | EnumPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.PaymentStatus[] | ListEnumPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.PaymentStatus[] | ListEnumPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumPaymentStatusFilter<$PrismaModel> | $Enums.PaymentStatus + } + + export type PackageScalarRelationFilter = { + is?: PackageWhereInput + isNot?: PackageWhereInput + } + + export type PaymentCountOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + packageId?: SortOrder + amount?: SortOrder + authority?: SortOrder + refId?: SortOrder + status?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type PaymentAvgOrderByAggregateInput = { + amount?: SortOrder + } + + export type PaymentMaxOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + packageId?: SortOrder + amount?: SortOrder + authority?: SortOrder + refId?: SortOrder + status?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type PaymentMinOrderByAggregateInput = { + id?: SortOrder + userId?: SortOrder + packageId?: SortOrder + amount?: SortOrder + authority?: SortOrder + refId?: SortOrder + status?: SortOrder + createdAt?: SortOrder + updatedAt?: SortOrder + } + + export type PaymentSumOrderByAggregateInput = { + amount?: SortOrder + } + + export type EnumPaymentStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.PaymentStatus | EnumPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.PaymentStatus[] | ListEnumPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.PaymentStatus[] | ListEnumPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumPaymentStatusWithAggregatesFilter<$PrismaModel> | $Enums.PaymentStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumPaymentStatusFilter<$PrismaModel> + _max?: NestedEnumPaymentStatusFilter<$PrismaModel> + } + + export type CountryCreatedefaultLineupPlayerIdsInput = { + set: string[] + } + + export type GroupCreateNestedOneWithoutCountriesInput = { + create?: XOR + connectOrCreate?: GroupCreateOrConnectWithoutCountriesInput + connect?: GroupWhereUniqueInput + } + + export type PlayerCreateNestedManyWithoutCountryInput = { + create?: XOR | PlayerCreateWithoutCountryInput[] | PlayerUncheckedCreateWithoutCountryInput[] + connectOrCreate?: PlayerCreateOrConnectWithoutCountryInput | PlayerCreateOrConnectWithoutCountryInput[] + createMany?: PlayerCreateManyCountryInputEnvelope + connect?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + } + + export type MatchCreateNestedManyWithoutHomeTeamInput = { + create?: XOR | MatchCreateWithoutHomeTeamInput[] | MatchUncheckedCreateWithoutHomeTeamInput[] + connectOrCreate?: MatchCreateOrConnectWithoutHomeTeamInput | MatchCreateOrConnectWithoutHomeTeamInput[] + createMany?: MatchCreateManyHomeTeamInputEnvelope + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + } + + export type MatchCreateNestedManyWithoutAwayTeamInput = { + create?: XOR | MatchCreateWithoutAwayTeamInput[] | MatchUncheckedCreateWithoutAwayTeamInput[] + connectOrCreate?: MatchCreateOrConnectWithoutAwayTeamInput | MatchCreateOrConnectWithoutAwayTeamInput[] + createMany?: MatchCreateManyAwayTeamInputEnvelope + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + } + + export type PlayerUncheckedCreateNestedManyWithoutCountryInput = { + create?: XOR | PlayerCreateWithoutCountryInput[] | PlayerUncheckedCreateWithoutCountryInput[] + connectOrCreate?: PlayerCreateOrConnectWithoutCountryInput | PlayerCreateOrConnectWithoutCountryInput[] + createMany?: PlayerCreateManyCountryInputEnvelope + connect?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + } + + export type MatchUncheckedCreateNestedManyWithoutHomeTeamInput = { + create?: XOR | MatchCreateWithoutHomeTeamInput[] | MatchUncheckedCreateWithoutHomeTeamInput[] + connectOrCreate?: MatchCreateOrConnectWithoutHomeTeamInput | MatchCreateOrConnectWithoutHomeTeamInput[] + createMany?: MatchCreateManyHomeTeamInputEnvelope + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + } + + export type MatchUncheckedCreateNestedManyWithoutAwayTeamInput = { + create?: XOR | MatchCreateWithoutAwayTeamInput[] | MatchUncheckedCreateWithoutAwayTeamInput[] + connectOrCreate?: MatchCreateOrConnectWithoutAwayTeamInput | MatchCreateOrConnectWithoutAwayTeamInput[] + createMany?: MatchCreateManyAwayTeamInputEnvelope + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + } + + export type StringFieldUpdateOperationsInput = { + set?: string + } + + export type NullableStringFieldUpdateOperationsInput = { + set?: string | null + } + + export type CountryUpdatedefaultLineupPlayerIdsInput = { + set?: string[] + push?: string | string[] + } + + export type BoolFieldUpdateOperationsInput = { + set?: boolean + } + + export type GroupUpdateOneWithoutCountriesNestedInput = { + create?: XOR + connectOrCreate?: GroupCreateOrConnectWithoutCountriesInput + upsert?: GroupUpsertWithoutCountriesInput + disconnect?: GroupWhereInput | boolean + delete?: GroupWhereInput | boolean + connect?: GroupWhereUniqueInput + update?: XOR, GroupUncheckedUpdateWithoutCountriesInput> + } + + export type PlayerUpdateManyWithoutCountryNestedInput = { + create?: XOR | PlayerCreateWithoutCountryInput[] | PlayerUncheckedCreateWithoutCountryInput[] + connectOrCreate?: PlayerCreateOrConnectWithoutCountryInput | PlayerCreateOrConnectWithoutCountryInput[] + upsert?: PlayerUpsertWithWhereUniqueWithoutCountryInput | PlayerUpsertWithWhereUniqueWithoutCountryInput[] + createMany?: PlayerCreateManyCountryInputEnvelope + set?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + disconnect?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + delete?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + connect?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + update?: PlayerUpdateWithWhereUniqueWithoutCountryInput | PlayerUpdateWithWhereUniqueWithoutCountryInput[] + updateMany?: PlayerUpdateManyWithWhereWithoutCountryInput | PlayerUpdateManyWithWhereWithoutCountryInput[] + deleteMany?: PlayerScalarWhereInput | PlayerScalarWhereInput[] + } + + export type MatchUpdateManyWithoutHomeTeamNestedInput = { + create?: XOR | MatchCreateWithoutHomeTeamInput[] | MatchUncheckedCreateWithoutHomeTeamInput[] + connectOrCreate?: MatchCreateOrConnectWithoutHomeTeamInput | MatchCreateOrConnectWithoutHomeTeamInput[] + upsert?: MatchUpsertWithWhereUniqueWithoutHomeTeamInput | MatchUpsertWithWhereUniqueWithoutHomeTeamInput[] + createMany?: MatchCreateManyHomeTeamInputEnvelope + set?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + disconnect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + delete?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + update?: MatchUpdateWithWhereUniqueWithoutHomeTeamInput | MatchUpdateWithWhereUniqueWithoutHomeTeamInput[] + updateMany?: MatchUpdateManyWithWhereWithoutHomeTeamInput | MatchUpdateManyWithWhereWithoutHomeTeamInput[] + deleteMany?: MatchScalarWhereInput | MatchScalarWhereInput[] + } + + export type MatchUpdateManyWithoutAwayTeamNestedInput = { + create?: XOR | MatchCreateWithoutAwayTeamInput[] | MatchUncheckedCreateWithoutAwayTeamInput[] + connectOrCreate?: MatchCreateOrConnectWithoutAwayTeamInput | MatchCreateOrConnectWithoutAwayTeamInput[] + upsert?: MatchUpsertWithWhereUniqueWithoutAwayTeamInput | MatchUpsertWithWhereUniqueWithoutAwayTeamInput[] + createMany?: MatchCreateManyAwayTeamInputEnvelope + set?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + disconnect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + delete?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + update?: MatchUpdateWithWhereUniqueWithoutAwayTeamInput | MatchUpdateWithWhereUniqueWithoutAwayTeamInput[] + updateMany?: MatchUpdateManyWithWhereWithoutAwayTeamInput | MatchUpdateManyWithWhereWithoutAwayTeamInput[] + deleteMany?: MatchScalarWhereInput | MatchScalarWhereInput[] + } + + export type PlayerUncheckedUpdateManyWithoutCountryNestedInput = { + create?: XOR | PlayerCreateWithoutCountryInput[] | PlayerUncheckedCreateWithoutCountryInput[] + connectOrCreate?: PlayerCreateOrConnectWithoutCountryInput | PlayerCreateOrConnectWithoutCountryInput[] + upsert?: PlayerUpsertWithWhereUniqueWithoutCountryInput | PlayerUpsertWithWhereUniqueWithoutCountryInput[] + createMany?: PlayerCreateManyCountryInputEnvelope + set?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + disconnect?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + delete?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + connect?: PlayerWhereUniqueInput | PlayerWhereUniqueInput[] + update?: PlayerUpdateWithWhereUniqueWithoutCountryInput | PlayerUpdateWithWhereUniqueWithoutCountryInput[] + updateMany?: PlayerUpdateManyWithWhereWithoutCountryInput | PlayerUpdateManyWithWhereWithoutCountryInput[] + deleteMany?: PlayerScalarWhereInput | PlayerScalarWhereInput[] + } + + export type MatchUncheckedUpdateManyWithoutHomeTeamNestedInput = { + create?: XOR | MatchCreateWithoutHomeTeamInput[] | MatchUncheckedCreateWithoutHomeTeamInput[] + connectOrCreate?: MatchCreateOrConnectWithoutHomeTeamInput | MatchCreateOrConnectWithoutHomeTeamInput[] + upsert?: MatchUpsertWithWhereUniqueWithoutHomeTeamInput | MatchUpsertWithWhereUniqueWithoutHomeTeamInput[] + createMany?: MatchCreateManyHomeTeamInputEnvelope + set?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + disconnect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + delete?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + update?: MatchUpdateWithWhereUniqueWithoutHomeTeamInput | MatchUpdateWithWhereUniqueWithoutHomeTeamInput[] + updateMany?: MatchUpdateManyWithWhereWithoutHomeTeamInput | MatchUpdateManyWithWhereWithoutHomeTeamInput[] + deleteMany?: MatchScalarWhereInput | MatchScalarWhereInput[] + } + + export type MatchUncheckedUpdateManyWithoutAwayTeamNestedInput = { + create?: XOR | MatchCreateWithoutAwayTeamInput[] | MatchUncheckedCreateWithoutAwayTeamInput[] + connectOrCreate?: MatchCreateOrConnectWithoutAwayTeamInput | MatchCreateOrConnectWithoutAwayTeamInput[] + upsert?: MatchUpsertWithWhereUniqueWithoutAwayTeamInput | MatchUpsertWithWhereUniqueWithoutAwayTeamInput[] + createMany?: MatchCreateManyAwayTeamInputEnvelope + set?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + disconnect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + delete?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + update?: MatchUpdateWithWhereUniqueWithoutAwayTeamInput | MatchUpdateWithWhereUniqueWithoutAwayTeamInput[] + updateMany?: MatchUpdateManyWithWhereWithoutAwayTeamInput | MatchUpdateManyWithWhereWithoutAwayTeamInput[] + deleteMany?: MatchScalarWhereInput | MatchScalarWhereInput[] + } + + export type CountryCreateNestedManyWithoutGroupInput = { + create?: XOR | CountryCreateWithoutGroupInput[] | CountryUncheckedCreateWithoutGroupInput[] + connectOrCreate?: CountryCreateOrConnectWithoutGroupInput | CountryCreateOrConnectWithoutGroupInput[] + createMany?: CountryCreateManyGroupInputEnvelope + connect?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + } + + export type CountryUncheckedCreateNestedManyWithoutGroupInput = { + create?: XOR | CountryCreateWithoutGroupInput[] | CountryUncheckedCreateWithoutGroupInput[] + connectOrCreate?: CountryCreateOrConnectWithoutGroupInput | CountryCreateOrConnectWithoutGroupInput[] + createMany?: CountryCreateManyGroupInputEnvelope + connect?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + } + + export type CountryUpdateManyWithoutGroupNestedInput = { + create?: XOR | CountryCreateWithoutGroupInput[] | CountryUncheckedCreateWithoutGroupInput[] + connectOrCreate?: CountryCreateOrConnectWithoutGroupInput | CountryCreateOrConnectWithoutGroupInput[] + upsert?: CountryUpsertWithWhereUniqueWithoutGroupInput | CountryUpsertWithWhereUniqueWithoutGroupInput[] + createMany?: CountryCreateManyGroupInputEnvelope + set?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + disconnect?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + delete?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + connect?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + update?: CountryUpdateWithWhereUniqueWithoutGroupInput | CountryUpdateWithWhereUniqueWithoutGroupInput[] + updateMany?: CountryUpdateManyWithWhereWithoutGroupInput | CountryUpdateManyWithWhereWithoutGroupInput[] + deleteMany?: CountryScalarWhereInput | CountryScalarWhereInput[] + } + + export type CountryUncheckedUpdateManyWithoutGroupNestedInput = { + create?: XOR | CountryCreateWithoutGroupInput[] | CountryUncheckedCreateWithoutGroupInput[] + connectOrCreate?: CountryCreateOrConnectWithoutGroupInput | CountryCreateOrConnectWithoutGroupInput[] + upsert?: CountryUpsertWithWhereUniqueWithoutGroupInput | CountryUpsertWithWhereUniqueWithoutGroupInput[] + createMany?: CountryCreateManyGroupInputEnvelope + set?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + disconnect?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + delete?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + connect?: CountryWhereUniqueInput | CountryWhereUniqueInput[] + update?: CountryUpdateWithWhereUniqueWithoutGroupInput | CountryUpdateWithWhereUniqueWithoutGroupInput[] + updateMany?: CountryUpdateManyWithWhereWithoutGroupInput | CountryUpdateManyWithWhereWithoutGroupInput[] + deleteMany?: CountryScalarWhereInput | CountryScalarWhereInput[] + } + + export type CountryCreateNestedOneWithoutPlayersInput = { + create?: XOR + connectOrCreate?: CountryCreateOrConnectWithoutPlayersInput + connect?: CountryWhereUniqueInput + } + + export type PlayerMatchStatCreateNestedManyWithoutPlayerInput = { + create?: XOR | PlayerMatchStatCreateWithoutPlayerInput[] | PlayerMatchStatUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: PlayerMatchStatCreateOrConnectWithoutPlayerInput | PlayerMatchStatCreateOrConnectWithoutPlayerInput[] + createMany?: PlayerMatchStatCreateManyPlayerInputEnvelope + connect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + } + + export type TeamPlayerCreateNestedManyWithoutPlayerInput = { + create?: XOR | TeamPlayerCreateWithoutPlayerInput[] | TeamPlayerUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: TeamPlayerCreateOrConnectWithoutPlayerInput | TeamPlayerCreateOrConnectWithoutPlayerInput[] + createMany?: TeamPlayerCreateManyPlayerInputEnvelope + connect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + } + + export type MatchEventCreateNestedManyWithoutPlayerInput = { + create?: XOR | MatchEventCreateWithoutPlayerInput[] | MatchEventUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: MatchEventCreateOrConnectWithoutPlayerInput | MatchEventCreateOrConnectWithoutPlayerInput[] + createMany?: MatchEventCreateManyPlayerInputEnvelope + connect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + } + + export type GoldenCardCreateNestedManyWithoutPlayerInput = { + create?: XOR | GoldenCardCreateWithoutPlayerInput[] | GoldenCardUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutPlayerInput | GoldenCardCreateOrConnectWithoutPlayerInput[] + createMany?: GoldenCardCreateManyPlayerInputEnvelope + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + } + + export type PlayerMatchStatUncheckedCreateNestedManyWithoutPlayerInput = { + create?: XOR | PlayerMatchStatCreateWithoutPlayerInput[] | PlayerMatchStatUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: PlayerMatchStatCreateOrConnectWithoutPlayerInput | PlayerMatchStatCreateOrConnectWithoutPlayerInput[] + createMany?: PlayerMatchStatCreateManyPlayerInputEnvelope + connect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + } + + export type TeamPlayerUncheckedCreateNestedManyWithoutPlayerInput = { + create?: XOR | TeamPlayerCreateWithoutPlayerInput[] | TeamPlayerUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: TeamPlayerCreateOrConnectWithoutPlayerInput | TeamPlayerCreateOrConnectWithoutPlayerInput[] + createMany?: TeamPlayerCreateManyPlayerInputEnvelope + connect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + } + + export type MatchEventUncheckedCreateNestedManyWithoutPlayerInput = { + create?: XOR | MatchEventCreateWithoutPlayerInput[] | MatchEventUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: MatchEventCreateOrConnectWithoutPlayerInput | MatchEventCreateOrConnectWithoutPlayerInput[] + createMany?: MatchEventCreateManyPlayerInputEnvelope + connect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + } + + export type GoldenCardUncheckedCreateNestedManyWithoutPlayerInput = { + create?: XOR | GoldenCardCreateWithoutPlayerInput[] | GoldenCardUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutPlayerInput | GoldenCardCreateOrConnectWithoutPlayerInput[] + createMany?: GoldenCardCreateManyPlayerInputEnvelope + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + } + + export type EnumPositionFieldUpdateOperationsInput = { + set?: $Enums.Position + } + + export type FloatFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type IntFieldUpdateOperationsInput = { + set?: number + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type EnumCardTierFieldUpdateOperationsInput = { + set?: $Enums.CardTier + } + + export type DateTimeFieldUpdateOperationsInput = { + set?: Date | string + } + + export type CountryUpdateOneRequiredWithoutPlayersNestedInput = { + create?: XOR + connectOrCreate?: CountryCreateOrConnectWithoutPlayersInput + upsert?: CountryUpsertWithoutPlayersInput + connect?: CountryWhereUniqueInput + update?: XOR, CountryUncheckedUpdateWithoutPlayersInput> + } + + export type PlayerMatchStatUpdateManyWithoutPlayerNestedInput = { + create?: XOR | PlayerMatchStatCreateWithoutPlayerInput[] | PlayerMatchStatUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: PlayerMatchStatCreateOrConnectWithoutPlayerInput | PlayerMatchStatCreateOrConnectWithoutPlayerInput[] + upsert?: PlayerMatchStatUpsertWithWhereUniqueWithoutPlayerInput | PlayerMatchStatUpsertWithWhereUniqueWithoutPlayerInput[] + createMany?: PlayerMatchStatCreateManyPlayerInputEnvelope + set?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + disconnect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + delete?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + connect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + update?: PlayerMatchStatUpdateWithWhereUniqueWithoutPlayerInput | PlayerMatchStatUpdateWithWhereUniqueWithoutPlayerInput[] + updateMany?: PlayerMatchStatUpdateManyWithWhereWithoutPlayerInput | PlayerMatchStatUpdateManyWithWhereWithoutPlayerInput[] + deleteMany?: PlayerMatchStatScalarWhereInput | PlayerMatchStatScalarWhereInput[] + } + + export type TeamPlayerUpdateManyWithoutPlayerNestedInput = { + create?: XOR | TeamPlayerCreateWithoutPlayerInput[] | TeamPlayerUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: TeamPlayerCreateOrConnectWithoutPlayerInput | TeamPlayerCreateOrConnectWithoutPlayerInput[] + upsert?: TeamPlayerUpsertWithWhereUniqueWithoutPlayerInput | TeamPlayerUpsertWithWhereUniqueWithoutPlayerInput[] + createMany?: TeamPlayerCreateManyPlayerInputEnvelope + set?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + disconnect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + delete?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + connect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + update?: TeamPlayerUpdateWithWhereUniqueWithoutPlayerInput | TeamPlayerUpdateWithWhereUniqueWithoutPlayerInput[] + updateMany?: TeamPlayerUpdateManyWithWhereWithoutPlayerInput | TeamPlayerUpdateManyWithWhereWithoutPlayerInput[] + deleteMany?: TeamPlayerScalarWhereInput | TeamPlayerScalarWhereInput[] + } + + export type MatchEventUpdateManyWithoutPlayerNestedInput = { + create?: XOR | MatchEventCreateWithoutPlayerInput[] | MatchEventUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: MatchEventCreateOrConnectWithoutPlayerInput | MatchEventCreateOrConnectWithoutPlayerInput[] + upsert?: MatchEventUpsertWithWhereUniqueWithoutPlayerInput | MatchEventUpsertWithWhereUniqueWithoutPlayerInput[] + createMany?: MatchEventCreateManyPlayerInputEnvelope + set?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + disconnect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + delete?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + connect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + update?: MatchEventUpdateWithWhereUniqueWithoutPlayerInput | MatchEventUpdateWithWhereUniqueWithoutPlayerInput[] + updateMany?: MatchEventUpdateManyWithWhereWithoutPlayerInput | MatchEventUpdateManyWithWhereWithoutPlayerInput[] + deleteMany?: MatchEventScalarWhereInput | MatchEventScalarWhereInput[] + } + + export type GoldenCardUpdateManyWithoutPlayerNestedInput = { + create?: XOR | GoldenCardCreateWithoutPlayerInput[] | GoldenCardUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutPlayerInput | GoldenCardCreateOrConnectWithoutPlayerInput[] + upsert?: GoldenCardUpsertWithWhereUniqueWithoutPlayerInput | GoldenCardUpsertWithWhereUniqueWithoutPlayerInput[] + createMany?: GoldenCardCreateManyPlayerInputEnvelope + set?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + disconnect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + delete?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + update?: GoldenCardUpdateWithWhereUniqueWithoutPlayerInput | GoldenCardUpdateWithWhereUniqueWithoutPlayerInput[] + updateMany?: GoldenCardUpdateManyWithWhereWithoutPlayerInput | GoldenCardUpdateManyWithWhereWithoutPlayerInput[] + deleteMany?: GoldenCardScalarWhereInput | GoldenCardScalarWhereInput[] + } + + export type PlayerMatchStatUncheckedUpdateManyWithoutPlayerNestedInput = { + create?: XOR | PlayerMatchStatCreateWithoutPlayerInput[] | PlayerMatchStatUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: PlayerMatchStatCreateOrConnectWithoutPlayerInput | PlayerMatchStatCreateOrConnectWithoutPlayerInput[] + upsert?: PlayerMatchStatUpsertWithWhereUniqueWithoutPlayerInput | PlayerMatchStatUpsertWithWhereUniqueWithoutPlayerInput[] + createMany?: PlayerMatchStatCreateManyPlayerInputEnvelope + set?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + disconnect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + delete?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + connect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + update?: PlayerMatchStatUpdateWithWhereUniqueWithoutPlayerInput | PlayerMatchStatUpdateWithWhereUniqueWithoutPlayerInput[] + updateMany?: PlayerMatchStatUpdateManyWithWhereWithoutPlayerInput | PlayerMatchStatUpdateManyWithWhereWithoutPlayerInput[] + deleteMany?: PlayerMatchStatScalarWhereInput | PlayerMatchStatScalarWhereInput[] + } + + export type TeamPlayerUncheckedUpdateManyWithoutPlayerNestedInput = { + create?: XOR | TeamPlayerCreateWithoutPlayerInput[] | TeamPlayerUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: TeamPlayerCreateOrConnectWithoutPlayerInput | TeamPlayerCreateOrConnectWithoutPlayerInput[] + upsert?: TeamPlayerUpsertWithWhereUniqueWithoutPlayerInput | TeamPlayerUpsertWithWhereUniqueWithoutPlayerInput[] + createMany?: TeamPlayerCreateManyPlayerInputEnvelope + set?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + disconnect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + delete?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + connect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + update?: TeamPlayerUpdateWithWhereUniqueWithoutPlayerInput | TeamPlayerUpdateWithWhereUniqueWithoutPlayerInput[] + updateMany?: TeamPlayerUpdateManyWithWhereWithoutPlayerInput | TeamPlayerUpdateManyWithWhereWithoutPlayerInput[] + deleteMany?: TeamPlayerScalarWhereInput | TeamPlayerScalarWhereInput[] + } + + export type MatchEventUncheckedUpdateManyWithoutPlayerNestedInput = { + create?: XOR | MatchEventCreateWithoutPlayerInput[] | MatchEventUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: MatchEventCreateOrConnectWithoutPlayerInput | MatchEventCreateOrConnectWithoutPlayerInput[] + upsert?: MatchEventUpsertWithWhereUniqueWithoutPlayerInput | MatchEventUpsertWithWhereUniqueWithoutPlayerInput[] + createMany?: MatchEventCreateManyPlayerInputEnvelope + set?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + disconnect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + delete?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + connect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + update?: MatchEventUpdateWithWhereUniqueWithoutPlayerInput | MatchEventUpdateWithWhereUniqueWithoutPlayerInput[] + updateMany?: MatchEventUpdateManyWithWhereWithoutPlayerInput | MatchEventUpdateManyWithWhereWithoutPlayerInput[] + deleteMany?: MatchEventScalarWhereInput | MatchEventScalarWhereInput[] + } + + export type GoldenCardUncheckedUpdateManyWithoutPlayerNestedInput = { + create?: XOR | GoldenCardCreateWithoutPlayerInput[] | GoldenCardUncheckedCreateWithoutPlayerInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutPlayerInput | GoldenCardCreateOrConnectWithoutPlayerInput[] + upsert?: GoldenCardUpsertWithWhereUniqueWithoutPlayerInput | GoldenCardUpsertWithWhereUniqueWithoutPlayerInput[] + createMany?: GoldenCardCreateManyPlayerInputEnvelope + set?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + disconnect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + delete?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + update?: GoldenCardUpdateWithWhereUniqueWithoutPlayerInput | GoldenCardUpdateWithWhereUniqueWithoutPlayerInput[] + updateMany?: GoldenCardUpdateManyWithWhereWithoutPlayerInput | GoldenCardUpdateManyWithWhereWithoutPlayerInput[] + deleteMany?: GoldenCardScalarWhereInput | GoldenCardScalarWhereInput[] + } + + export type CountryCreateNestedOneWithoutHomeMatchesInput = { + create?: XOR + connectOrCreate?: CountryCreateOrConnectWithoutHomeMatchesInput + connect?: CountryWhereUniqueInput + } + + export type CountryCreateNestedOneWithoutAwayMatchesInput = { + create?: XOR + connectOrCreate?: CountryCreateOrConnectWithoutAwayMatchesInput + connect?: CountryWhereUniqueInput + } + + export type RoundCreateNestedOneWithoutMatchesInput = { + create?: XOR + connectOrCreate?: RoundCreateOrConnectWithoutMatchesInput + connect?: RoundWhereUniqueInput + } + + export type PlayerMatchStatCreateNestedManyWithoutMatchInput = { + create?: XOR | PlayerMatchStatCreateWithoutMatchInput[] | PlayerMatchStatUncheckedCreateWithoutMatchInput[] + connectOrCreate?: PlayerMatchStatCreateOrConnectWithoutMatchInput | PlayerMatchStatCreateOrConnectWithoutMatchInput[] + createMany?: PlayerMatchStatCreateManyMatchInputEnvelope + connect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + } + + export type MatchEventCreateNestedManyWithoutMatchInput = { + create?: XOR | MatchEventCreateWithoutMatchInput[] | MatchEventUncheckedCreateWithoutMatchInput[] + connectOrCreate?: MatchEventCreateOrConnectWithoutMatchInput | MatchEventCreateOrConnectWithoutMatchInput[] + createMany?: MatchEventCreateManyMatchInputEnvelope + connect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + } + + export type MatchLineupCreateNestedManyWithoutMatchInput = { + create?: XOR | MatchLineupCreateWithoutMatchInput[] | MatchLineupUncheckedCreateWithoutMatchInput[] + connectOrCreate?: MatchLineupCreateOrConnectWithoutMatchInput | MatchLineupCreateOrConnectWithoutMatchInput[] + createMany?: MatchLineupCreateManyMatchInputEnvelope + connect?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + } + + export type PlayerMatchStatUncheckedCreateNestedManyWithoutMatchInput = { + create?: XOR | PlayerMatchStatCreateWithoutMatchInput[] | PlayerMatchStatUncheckedCreateWithoutMatchInput[] + connectOrCreate?: PlayerMatchStatCreateOrConnectWithoutMatchInput | PlayerMatchStatCreateOrConnectWithoutMatchInput[] + createMany?: PlayerMatchStatCreateManyMatchInputEnvelope + connect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + } + + export type MatchEventUncheckedCreateNestedManyWithoutMatchInput = { + create?: XOR | MatchEventCreateWithoutMatchInput[] | MatchEventUncheckedCreateWithoutMatchInput[] + connectOrCreate?: MatchEventCreateOrConnectWithoutMatchInput | MatchEventCreateOrConnectWithoutMatchInput[] + createMany?: MatchEventCreateManyMatchInputEnvelope + connect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + } + + export type MatchLineupUncheckedCreateNestedManyWithoutMatchInput = { + create?: XOR | MatchLineupCreateWithoutMatchInput[] | MatchLineupUncheckedCreateWithoutMatchInput[] + connectOrCreate?: MatchLineupCreateOrConnectWithoutMatchInput | MatchLineupCreateOrConnectWithoutMatchInput[] + createMany?: MatchLineupCreateManyMatchInputEnvelope + connect?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + } + + export type NullableIntFieldUpdateOperationsInput = { + set?: number | null + increment?: number + decrement?: number + multiply?: number + divide?: number + } + + export type EnumMatchStageFieldUpdateOperationsInput = { + set?: $Enums.MatchStage + } + + export type EnumMatchStatusFieldUpdateOperationsInput = { + set?: $Enums.MatchStatus + } + + export type CountryUpdateOneRequiredWithoutHomeMatchesNestedInput = { + create?: XOR + connectOrCreate?: CountryCreateOrConnectWithoutHomeMatchesInput + upsert?: CountryUpsertWithoutHomeMatchesInput + connect?: CountryWhereUniqueInput + update?: XOR, CountryUncheckedUpdateWithoutHomeMatchesInput> + } + + export type CountryUpdateOneRequiredWithoutAwayMatchesNestedInput = { + create?: XOR + connectOrCreate?: CountryCreateOrConnectWithoutAwayMatchesInput + upsert?: CountryUpsertWithoutAwayMatchesInput + connect?: CountryWhereUniqueInput + update?: XOR, CountryUncheckedUpdateWithoutAwayMatchesInput> + } + + export type RoundUpdateOneWithoutMatchesNestedInput = { + create?: XOR + connectOrCreate?: RoundCreateOrConnectWithoutMatchesInput + upsert?: RoundUpsertWithoutMatchesInput + disconnect?: RoundWhereInput | boolean + delete?: RoundWhereInput | boolean + connect?: RoundWhereUniqueInput + update?: XOR, RoundUncheckedUpdateWithoutMatchesInput> + } + + export type PlayerMatchStatUpdateManyWithoutMatchNestedInput = { + create?: XOR | PlayerMatchStatCreateWithoutMatchInput[] | PlayerMatchStatUncheckedCreateWithoutMatchInput[] + connectOrCreate?: PlayerMatchStatCreateOrConnectWithoutMatchInput | PlayerMatchStatCreateOrConnectWithoutMatchInput[] + upsert?: PlayerMatchStatUpsertWithWhereUniqueWithoutMatchInput | PlayerMatchStatUpsertWithWhereUniqueWithoutMatchInput[] + createMany?: PlayerMatchStatCreateManyMatchInputEnvelope + set?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + disconnect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + delete?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + connect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + update?: PlayerMatchStatUpdateWithWhereUniqueWithoutMatchInput | PlayerMatchStatUpdateWithWhereUniqueWithoutMatchInput[] + updateMany?: PlayerMatchStatUpdateManyWithWhereWithoutMatchInput | PlayerMatchStatUpdateManyWithWhereWithoutMatchInput[] + deleteMany?: PlayerMatchStatScalarWhereInput | PlayerMatchStatScalarWhereInput[] + } + + export type MatchEventUpdateManyWithoutMatchNestedInput = { + create?: XOR | MatchEventCreateWithoutMatchInput[] | MatchEventUncheckedCreateWithoutMatchInput[] + connectOrCreate?: MatchEventCreateOrConnectWithoutMatchInput | MatchEventCreateOrConnectWithoutMatchInput[] + upsert?: MatchEventUpsertWithWhereUniqueWithoutMatchInput | MatchEventUpsertWithWhereUniqueWithoutMatchInput[] + createMany?: MatchEventCreateManyMatchInputEnvelope + set?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + disconnect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + delete?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + connect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + update?: MatchEventUpdateWithWhereUniqueWithoutMatchInput | MatchEventUpdateWithWhereUniqueWithoutMatchInput[] + updateMany?: MatchEventUpdateManyWithWhereWithoutMatchInput | MatchEventUpdateManyWithWhereWithoutMatchInput[] + deleteMany?: MatchEventScalarWhereInput | MatchEventScalarWhereInput[] + } + + export type MatchLineupUpdateManyWithoutMatchNestedInput = { + create?: XOR | MatchLineupCreateWithoutMatchInput[] | MatchLineupUncheckedCreateWithoutMatchInput[] + connectOrCreate?: MatchLineupCreateOrConnectWithoutMatchInput | MatchLineupCreateOrConnectWithoutMatchInput[] + upsert?: MatchLineupUpsertWithWhereUniqueWithoutMatchInput | MatchLineupUpsertWithWhereUniqueWithoutMatchInput[] + createMany?: MatchLineupCreateManyMatchInputEnvelope + set?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + disconnect?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + delete?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + connect?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + update?: MatchLineupUpdateWithWhereUniqueWithoutMatchInput | MatchLineupUpdateWithWhereUniqueWithoutMatchInput[] + updateMany?: MatchLineupUpdateManyWithWhereWithoutMatchInput | MatchLineupUpdateManyWithWhereWithoutMatchInput[] + deleteMany?: MatchLineupScalarWhereInput | MatchLineupScalarWhereInput[] + } + + export type PlayerMatchStatUncheckedUpdateManyWithoutMatchNestedInput = { + create?: XOR | PlayerMatchStatCreateWithoutMatchInput[] | PlayerMatchStatUncheckedCreateWithoutMatchInput[] + connectOrCreate?: PlayerMatchStatCreateOrConnectWithoutMatchInput | PlayerMatchStatCreateOrConnectWithoutMatchInput[] + upsert?: PlayerMatchStatUpsertWithWhereUniqueWithoutMatchInput | PlayerMatchStatUpsertWithWhereUniqueWithoutMatchInput[] + createMany?: PlayerMatchStatCreateManyMatchInputEnvelope + set?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + disconnect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + delete?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + connect?: PlayerMatchStatWhereUniqueInput | PlayerMatchStatWhereUniqueInput[] + update?: PlayerMatchStatUpdateWithWhereUniqueWithoutMatchInput | PlayerMatchStatUpdateWithWhereUniqueWithoutMatchInput[] + updateMany?: PlayerMatchStatUpdateManyWithWhereWithoutMatchInput | PlayerMatchStatUpdateManyWithWhereWithoutMatchInput[] + deleteMany?: PlayerMatchStatScalarWhereInput | PlayerMatchStatScalarWhereInput[] + } + + export type MatchEventUncheckedUpdateManyWithoutMatchNestedInput = { + create?: XOR | MatchEventCreateWithoutMatchInput[] | MatchEventUncheckedCreateWithoutMatchInput[] + connectOrCreate?: MatchEventCreateOrConnectWithoutMatchInput | MatchEventCreateOrConnectWithoutMatchInput[] + upsert?: MatchEventUpsertWithWhereUniqueWithoutMatchInput | MatchEventUpsertWithWhereUniqueWithoutMatchInput[] + createMany?: MatchEventCreateManyMatchInputEnvelope + set?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + disconnect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + delete?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + connect?: MatchEventWhereUniqueInput | MatchEventWhereUniqueInput[] + update?: MatchEventUpdateWithWhereUniqueWithoutMatchInput | MatchEventUpdateWithWhereUniqueWithoutMatchInput[] + updateMany?: MatchEventUpdateManyWithWhereWithoutMatchInput | MatchEventUpdateManyWithWhereWithoutMatchInput[] + deleteMany?: MatchEventScalarWhereInput | MatchEventScalarWhereInput[] + } + + export type MatchLineupUncheckedUpdateManyWithoutMatchNestedInput = { + create?: XOR | MatchLineupCreateWithoutMatchInput[] | MatchLineupUncheckedCreateWithoutMatchInput[] + connectOrCreate?: MatchLineupCreateOrConnectWithoutMatchInput | MatchLineupCreateOrConnectWithoutMatchInput[] + upsert?: MatchLineupUpsertWithWhereUniqueWithoutMatchInput | MatchLineupUpsertWithWhereUniqueWithoutMatchInput[] + createMany?: MatchLineupCreateManyMatchInputEnvelope + set?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + disconnect?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + delete?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + connect?: MatchLineupWhereUniqueInput | MatchLineupWhereUniqueInput[] + update?: MatchLineupUpdateWithWhereUniqueWithoutMatchInput | MatchLineupUpdateWithWhereUniqueWithoutMatchInput[] + updateMany?: MatchLineupUpdateManyWithWhereWithoutMatchInput | MatchLineupUpdateManyWithWhereWithoutMatchInput[] + deleteMany?: MatchLineupScalarWhereInput | MatchLineupScalarWhereInput[] + } + + export type MatchCreateNestedManyWithoutRoundInput = { + create?: XOR | MatchCreateWithoutRoundInput[] | MatchUncheckedCreateWithoutRoundInput[] + connectOrCreate?: MatchCreateOrConnectWithoutRoundInput | MatchCreateOrConnectWithoutRoundInput[] + createMany?: MatchCreateManyRoundInputEnvelope + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + } + + export type MatchUncheckedCreateNestedManyWithoutRoundInput = { + create?: XOR | MatchCreateWithoutRoundInput[] | MatchUncheckedCreateWithoutRoundInput[] + connectOrCreate?: MatchCreateOrConnectWithoutRoundInput | MatchCreateOrConnectWithoutRoundInput[] + createMany?: MatchCreateManyRoundInputEnvelope + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + } + + export type MatchUpdateManyWithoutRoundNestedInput = { + create?: XOR | MatchCreateWithoutRoundInput[] | MatchUncheckedCreateWithoutRoundInput[] + connectOrCreate?: MatchCreateOrConnectWithoutRoundInput | MatchCreateOrConnectWithoutRoundInput[] + upsert?: MatchUpsertWithWhereUniqueWithoutRoundInput | MatchUpsertWithWhereUniqueWithoutRoundInput[] + createMany?: MatchCreateManyRoundInputEnvelope + set?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + disconnect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + delete?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + update?: MatchUpdateWithWhereUniqueWithoutRoundInput | MatchUpdateWithWhereUniqueWithoutRoundInput[] + updateMany?: MatchUpdateManyWithWhereWithoutRoundInput | MatchUpdateManyWithWhereWithoutRoundInput[] + deleteMany?: MatchScalarWhereInput | MatchScalarWhereInput[] + } + + export type MatchUncheckedUpdateManyWithoutRoundNestedInput = { + create?: XOR | MatchCreateWithoutRoundInput[] | MatchUncheckedCreateWithoutRoundInput[] + connectOrCreate?: MatchCreateOrConnectWithoutRoundInput | MatchCreateOrConnectWithoutRoundInput[] + upsert?: MatchUpsertWithWhereUniqueWithoutRoundInput | MatchUpsertWithWhereUniqueWithoutRoundInput[] + createMany?: MatchCreateManyRoundInputEnvelope + set?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + disconnect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + delete?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + connect?: MatchWhereUniqueInput | MatchWhereUniqueInput[] + update?: MatchUpdateWithWhereUniqueWithoutRoundInput | MatchUpdateWithWhereUniqueWithoutRoundInput[] + updateMany?: MatchUpdateManyWithWhereWithoutRoundInput | MatchUpdateManyWithWhereWithoutRoundInput[] + deleteMany?: MatchScalarWhereInput | MatchScalarWhereInput[] + } + + export type MatchCreateNestedOneWithoutEventsInput = { + create?: XOR + connectOrCreate?: MatchCreateOrConnectWithoutEventsInput + connect?: MatchWhereUniqueInput + } + + export type PlayerCreateNestedOneWithoutEventsInput = { + create?: XOR + connectOrCreate?: PlayerCreateOrConnectWithoutEventsInput + connect?: PlayerWhereUniqueInput + } + + export type EnumEventTypeFieldUpdateOperationsInput = { + set?: $Enums.EventType + } + + export type MatchUpdateOneRequiredWithoutEventsNestedInput = { + create?: XOR + connectOrCreate?: MatchCreateOrConnectWithoutEventsInput + upsert?: MatchUpsertWithoutEventsInput + connect?: MatchWhereUniqueInput + update?: XOR, MatchUncheckedUpdateWithoutEventsInput> + } + + export type PlayerUpdateOneRequiredWithoutEventsNestedInput = { + create?: XOR + connectOrCreate?: PlayerCreateOrConnectWithoutEventsInput + upsert?: PlayerUpsertWithoutEventsInput + connect?: PlayerWhereUniqueInput + update?: XOR, PlayerUncheckedUpdateWithoutEventsInput> + } + + export type MatchLineupCreateplayerIdsInput = { + set: string[] + } + + export type MatchCreateNestedOneWithoutLineupsInput = { + create?: XOR + connectOrCreate?: MatchCreateOrConnectWithoutLineupsInput + connect?: MatchWhereUniqueInput + } + + export type MatchLineupUpdateplayerIdsInput = { + set?: string[] + push?: string | string[] + } + + export type MatchUpdateOneRequiredWithoutLineupsNestedInput = { + create?: XOR + connectOrCreate?: MatchCreateOrConnectWithoutLineupsInput + upsert?: MatchUpsertWithoutLineupsInput + connect?: MatchWhereUniqueInput + update?: XOR, MatchUncheckedUpdateWithoutLineupsInput> + } + + export type PlayerCreateNestedOneWithoutMatchStatsInput = { + create?: XOR + connectOrCreate?: PlayerCreateOrConnectWithoutMatchStatsInput + connect?: PlayerWhereUniqueInput + } + + export type MatchCreateNestedOneWithoutPlayerStatsInput = { + create?: XOR + connectOrCreate?: MatchCreateOrConnectWithoutPlayerStatsInput + connect?: MatchWhereUniqueInput + } + + export type PlayerUpdateOneRequiredWithoutMatchStatsNestedInput = { + create?: XOR + connectOrCreate?: PlayerCreateOrConnectWithoutMatchStatsInput + upsert?: PlayerUpsertWithoutMatchStatsInput + connect?: PlayerWhereUniqueInput + update?: XOR, PlayerUncheckedUpdateWithoutMatchStatsInput> + } + + export type MatchUpdateOneRequiredWithoutPlayerStatsNestedInput = { + create?: XOR + connectOrCreate?: MatchCreateOrConnectWithoutPlayerStatsInput + upsert?: MatchUpsertWithoutPlayerStatsInput + connect?: MatchWhereUniqueInput + update?: XOR, MatchUncheckedUpdateWithoutPlayerStatsInput> + } + + export type TeamCreateNestedOneWithoutUserInput = { + create?: XOR + connectOrCreate?: TeamCreateOrConnectWithoutUserInput + connect?: TeamWhereUniqueInput + } + + export type SessionCreateNestedManyWithoutUserInput = { + create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] + createMany?: SessionCreateManyUserInputEnvelope + connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + } + + export type PaymentCreateNestedManyWithoutUserInput = { + create?: XOR | PaymentCreateWithoutUserInput[] | PaymentUncheckedCreateWithoutUserInput[] + connectOrCreate?: PaymentCreateOrConnectWithoutUserInput | PaymentCreateOrConnectWithoutUserInput[] + createMany?: PaymentCreateManyUserInputEnvelope + connect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + } + + export type QuizSubmissionCreateNestedManyWithoutUserInput = { + create?: XOR | QuizSubmissionCreateWithoutUserInput[] | QuizSubmissionUncheckedCreateWithoutUserInput[] + connectOrCreate?: QuizSubmissionCreateOrConnectWithoutUserInput | QuizSubmissionCreateOrConnectWithoutUserInput[] + createMany?: QuizSubmissionCreateManyUserInputEnvelope + connect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + } + + export type GoldenCardCreateNestedManyWithoutUserInput = { + create?: XOR | GoldenCardCreateWithoutUserInput[] | GoldenCardUncheckedCreateWithoutUserInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutUserInput | GoldenCardCreateOrConnectWithoutUserInput[] + createMany?: GoldenCardCreateManyUserInputEnvelope + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + } + + export type TeamUncheckedCreateNestedOneWithoutUserInput = { + create?: XOR + connectOrCreate?: TeamCreateOrConnectWithoutUserInput + connect?: TeamWhereUniqueInput + } + + export type SessionUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] + createMany?: SessionCreateManyUserInputEnvelope + connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + } + + export type PaymentUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | PaymentCreateWithoutUserInput[] | PaymentUncheckedCreateWithoutUserInput[] + connectOrCreate?: PaymentCreateOrConnectWithoutUserInput | PaymentCreateOrConnectWithoutUserInput[] + createMany?: PaymentCreateManyUserInputEnvelope + connect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + } + + export type QuizSubmissionUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | QuizSubmissionCreateWithoutUserInput[] | QuizSubmissionUncheckedCreateWithoutUserInput[] + connectOrCreate?: QuizSubmissionCreateOrConnectWithoutUserInput | QuizSubmissionCreateOrConnectWithoutUserInput[] + createMany?: QuizSubmissionCreateManyUserInputEnvelope + connect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + } + + export type GoldenCardUncheckedCreateNestedManyWithoutUserInput = { + create?: XOR | GoldenCardCreateWithoutUserInput[] | GoldenCardUncheckedCreateWithoutUserInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutUserInput | GoldenCardCreateOrConnectWithoutUserInput[] + createMany?: GoldenCardCreateManyUserInputEnvelope + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + } + + export type EnumRoleFieldUpdateOperationsInput = { + set?: $Enums.Role + } + + export type TeamUpdateOneWithoutUserNestedInput = { + create?: XOR + connectOrCreate?: TeamCreateOrConnectWithoutUserInput + upsert?: TeamUpsertWithoutUserInput + disconnect?: TeamWhereInput | boolean + delete?: TeamWhereInput | boolean + connect?: TeamWhereUniqueInput + update?: XOR, TeamUncheckedUpdateWithoutUserInput> + } + + export type SessionUpdateManyWithoutUserNestedInput = { + create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] + upsert?: SessionUpsertWithWhereUniqueWithoutUserInput | SessionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: SessionCreateManyUserInputEnvelope + set?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + disconnect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + delete?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + update?: SessionUpdateWithWhereUniqueWithoutUserInput | SessionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: SessionUpdateManyWithWhereWithoutUserInput | SessionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: SessionScalarWhereInput | SessionScalarWhereInput[] + } + + export type PaymentUpdateManyWithoutUserNestedInput = { + create?: XOR | PaymentCreateWithoutUserInput[] | PaymentUncheckedCreateWithoutUserInput[] + connectOrCreate?: PaymentCreateOrConnectWithoutUserInput | PaymentCreateOrConnectWithoutUserInput[] + upsert?: PaymentUpsertWithWhereUniqueWithoutUserInput | PaymentUpsertWithWhereUniqueWithoutUserInput[] + createMany?: PaymentCreateManyUserInputEnvelope + set?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + disconnect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + delete?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + connect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + update?: PaymentUpdateWithWhereUniqueWithoutUserInput | PaymentUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: PaymentUpdateManyWithWhereWithoutUserInput | PaymentUpdateManyWithWhereWithoutUserInput[] + deleteMany?: PaymentScalarWhereInput | PaymentScalarWhereInput[] + } + + export type QuizSubmissionUpdateManyWithoutUserNestedInput = { + create?: XOR | QuizSubmissionCreateWithoutUserInput[] | QuizSubmissionUncheckedCreateWithoutUserInput[] + connectOrCreate?: QuizSubmissionCreateOrConnectWithoutUserInput | QuizSubmissionCreateOrConnectWithoutUserInput[] + upsert?: QuizSubmissionUpsertWithWhereUniqueWithoutUserInput | QuizSubmissionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: QuizSubmissionCreateManyUserInputEnvelope + set?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + disconnect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + delete?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + connect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + update?: QuizSubmissionUpdateWithWhereUniqueWithoutUserInput | QuizSubmissionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: QuizSubmissionUpdateManyWithWhereWithoutUserInput | QuizSubmissionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: QuizSubmissionScalarWhereInput | QuizSubmissionScalarWhereInput[] + } + + export type GoldenCardUpdateManyWithoutUserNestedInput = { + create?: XOR | GoldenCardCreateWithoutUserInput[] | GoldenCardUncheckedCreateWithoutUserInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutUserInput | GoldenCardCreateOrConnectWithoutUserInput[] + upsert?: GoldenCardUpsertWithWhereUniqueWithoutUserInput | GoldenCardUpsertWithWhereUniqueWithoutUserInput[] + createMany?: GoldenCardCreateManyUserInputEnvelope + set?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + disconnect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + delete?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + update?: GoldenCardUpdateWithWhereUniqueWithoutUserInput | GoldenCardUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: GoldenCardUpdateManyWithWhereWithoutUserInput | GoldenCardUpdateManyWithWhereWithoutUserInput[] + deleteMany?: GoldenCardScalarWhereInput | GoldenCardScalarWhereInput[] + } + + export type TeamUncheckedUpdateOneWithoutUserNestedInput = { + create?: XOR + connectOrCreate?: TeamCreateOrConnectWithoutUserInput + upsert?: TeamUpsertWithoutUserInput + disconnect?: TeamWhereInput | boolean + delete?: TeamWhereInput | boolean + connect?: TeamWhereUniqueInput + update?: XOR, TeamUncheckedUpdateWithoutUserInput> + } + + export type SessionUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | SessionCreateWithoutUserInput[] | SessionUncheckedCreateWithoutUserInput[] + connectOrCreate?: SessionCreateOrConnectWithoutUserInput | SessionCreateOrConnectWithoutUserInput[] + upsert?: SessionUpsertWithWhereUniqueWithoutUserInput | SessionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: SessionCreateManyUserInputEnvelope + set?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + disconnect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + delete?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + connect?: SessionWhereUniqueInput | SessionWhereUniqueInput[] + update?: SessionUpdateWithWhereUniqueWithoutUserInput | SessionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: SessionUpdateManyWithWhereWithoutUserInput | SessionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: SessionScalarWhereInput | SessionScalarWhereInput[] + } + + export type PaymentUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | PaymentCreateWithoutUserInput[] | PaymentUncheckedCreateWithoutUserInput[] + connectOrCreate?: PaymentCreateOrConnectWithoutUserInput | PaymentCreateOrConnectWithoutUserInput[] + upsert?: PaymentUpsertWithWhereUniqueWithoutUserInput | PaymentUpsertWithWhereUniqueWithoutUserInput[] + createMany?: PaymentCreateManyUserInputEnvelope + set?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + disconnect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + delete?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + connect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + update?: PaymentUpdateWithWhereUniqueWithoutUserInput | PaymentUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: PaymentUpdateManyWithWhereWithoutUserInput | PaymentUpdateManyWithWhereWithoutUserInput[] + deleteMany?: PaymentScalarWhereInput | PaymentScalarWhereInput[] + } + + export type QuizSubmissionUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | QuizSubmissionCreateWithoutUserInput[] | QuizSubmissionUncheckedCreateWithoutUserInput[] + connectOrCreate?: QuizSubmissionCreateOrConnectWithoutUserInput | QuizSubmissionCreateOrConnectWithoutUserInput[] + upsert?: QuizSubmissionUpsertWithWhereUniqueWithoutUserInput | QuizSubmissionUpsertWithWhereUniqueWithoutUserInput[] + createMany?: QuizSubmissionCreateManyUserInputEnvelope + set?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + disconnect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + delete?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + connect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + update?: QuizSubmissionUpdateWithWhereUniqueWithoutUserInput | QuizSubmissionUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: QuizSubmissionUpdateManyWithWhereWithoutUserInput | QuizSubmissionUpdateManyWithWhereWithoutUserInput[] + deleteMany?: QuizSubmissionScalarWhereInput | QuizSubmissionScalarWhereInput[] + } + + export type GoldenCardUncheckedUpdateManyWithoutUserNestedInput = { + create?: XOR | GoldenCardCreateWithoutUserInput[] | GoldenCardUncheckedCreateWithoutUserInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutUserInput | GoldenCardCreateOrConnectWithoutUserInput[] + upsert?: GoldenCardUpsertWithWhereUniqueWithoutUserInput | GoldenCardUpsertWithWhereUniqueWithoutUserInput[] + createMany?: GoldenCardCreateManyUserInputEnvelope + set?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + disconnect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + delete?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + update?: GoldenCardUpdateWithWhereUniqueWithoutUserInput | GoldenCardUpdateWithWhereUniqueWithoutUserInput[] + updateMany?: GoldenCardUpdateManyWithWhereWithoutUserInput | GoldenCardUpdateManyWithWhereWithoutUserInput[] + deleteMany?: GoldenCardScalarWhereInput | GoldenCardScalarWhereInput[] + } + + export type NullableDateTimeFieldUpdateOperationsInput = { + set?: Date | string | null + } + + export type QuizQuestionCreateNestedManyWithoutQuizInput = { + create?: XOR | QuizQuestionCreateWithoutQuizInput[] | QuizQuestionUncheckedCreateWithoutQuizInput[] + connectOrCreate?: QuizQuestionCreateOrConnectWithoutQuizInput | QuizQuestionCreateOrConnectWithoutQuizInput[] + createMany?: QuizQuestionCreateManyQuizInputEnvelope + connect?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + } + + export type QuizSubmissionCreateNestedManyWithoutQuizInput = { + create?: XOR | QuizSubmissionCreateWithoutQuizInput[] | QuizSubmissionUncheckedCreateWithoutQuizInput[] + connectOrCreate?: QuizSubmissionCreateOrConnectWithoutQuizInput | QuizSubmissionCreateOrConnectWithoutQuizInput[] + createMany?: QuizSubmissionCreateManyQuizInputEnvelope + connect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + } + + export type GoldenCardCreateNestedManyWithoutQuizInput = { + create?: XOR | GoldenCardCreateWithoutQuizInput[] | GoldenCardUncheckedCreateWithoutQuizInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutQuizInput | GoldenCardCreateOrConnectWithoutQuizInput[] + createMany?: GoldenCardCreateManyQuizInputEnvelope + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + } + + export type QuizQuestionUncheckedCreateNestedManyWithoutQuizInput = { + create?: XOR | QuizQuestionCreateWithoutQuizInput[] | QuizQuestionUncheckedCreateWithoutQuizInput[] + connectOrCreate?: QuizQuestionCreateOrConnectWithoutQuizInput | QuizQuestionCreateOrConnectWithoutQuizInput[] + createMany?: QuizQuestionCreateManyQuizInputEnvelope + connect?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + } + + export type QuizSubmissionUncheckedCreateNestedManyWithoutQuizInput = { + create?: XOR | QuizSubmissionCreateWithoutQuizInput[] | QuizSubmissionUncheckedCreateWithoutQuizInput[] + connectOrCreate?: QuizSubmissionCreateOrConnectWithoutQuizInput | QuizSubmissionCreateOrConnectWithoutQuizInput[] + createMany?: QuizSubmissionCreateManyQuizInputEnvelope + connect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + } + + export type GoldenCardUncheckedCreateNestedManyWithoutQuizInput = { + create?: XOR | GoldenCardCreateWithoutQuizInput[] | GoldenCardUncheckedCreateWithoutQuizInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutQuizInput | GoldenCardCreateOrConnectWithoutQuizInput[] + createMany?: GoldenCardCreateManyQuizInputEnvelope + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + } + + export type QuizQuestionUpdateManyWithoutQuizNestedInput = { + create?: XOR | QuizQuestionCreateWithoutQuizInput[] | QuizQuestionUncheckedCreateWithoutQuizInput[] + connectOrCreate?: QuizQuestionCreateOrConnectWithoutQuizInput | QuizQuestionCreateOrConnectWithoutQuizInput[] + upsert?: QuizQuestionUpsertWithWhereUniqueWithoutQuizInput | QuizQuestionUpsertWithWhereUniqueWithoutQuizInput[] + createMany?: QuizQuestionCreateManyQuizInputEnvelope + set?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + disconnect?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + delete?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + connect?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + update?: QuizQuestionUpdateWithWhereUniqueWithoutQuizInput | QuizQuestionUpdateWithWhereUniqueWithoutQuizInput[] + updateMany?: QuizQuestionUpdateManyWithWhereWithoutQuizInput | QuizQuestionUpdateManyWithWhereWithoutQuizInput[] + deleteMany?: QuizQuestionScalarWhereInput | QuizQuestionScalarWhereInput[] + } + + export type QuizSubmissionUpdateManyWithoutQuizNestedInput = { + create?: XOR | QuizSubmissionCreateWithoutQuizInput[] | QuizSubmissionUncheckedCreateWithoutQuizInput[] + connectOrCreate?: QuizSubmissionCreateOrConnectWithoutQuizInput | QuizSubmissionCreateOrConnectWithoutQuizInput[] + upsert?: QuizSubmissionUpsertWithWhereUniqueWithoutQuizInput | QuizSubmissionUpsertWithWhereUniqueWithoutQuizInput[] + createMany?: QuizSubmissionCreateManyQuizInputEnvelope + set?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + disconnect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + delete?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + connect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + update?: QuizSubmissionUpdateWithWhereUniqueWithoutQuizInput | QuizSubmissionUpdateWithWhereUniqueWithoutQuizInput[] + updateMany?: QuizSubmissionUpdateManyWithWhereWithoutQuizInput | QuizSubmissionUpdateManyWithWhereWithoutQuizInput[] + deleteMany?: QuizSubmissionScalarWhereInput | QuizSubmissionScalarWhereInput[] + } + + export type GoldenCardUpdateManyWithoutQuizNestedInput = { + create?: XOR | GoldenCardCreateWithoutQuizInput[] | GoldenCardUncheckedCreateWithoutQuizInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutQuizInput | GoldenCardCreateOrConnectWithoutQuizInput[] + upsert?: GoldenCardUpsertWithWhereUniqueWithoutQuizInput | GoldenCardUpsertWithWhereUniqueWithoutQuizInput[] + createMany?: GoldenCardCreateManyQuizInputEnvelope + set?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + disconnect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + delete?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + update?: GoldenCardUpdateWithWhereUniqueWithoutQuizInput | GoldenCardUpdateWithWhereUniqueWithoutQuizInput[] + updateMany?: GoldenCardUpdateManyWithWhereWithoutQuizInput | GoldenCardUpdateManyWithWhereWithoutQuizInput[] + deleteMany?: GoldenCardScalarWhereInput | GoldenCardScalarWhereInput[] + } + + export type QuizQuestionUncheckedUpdateManyWithoutQuizNestedInput = { + create?: XOR | QuizQuestionCreateWithoutQuizInput[] | QuizQuestionUncheckedCreateWithoutQuizInput[] + connectOrCreate?: QuizQuestionCreateOrConnectWithoutQuizInput | QuizQuestionCreateOrConnectWithoutQuizInput[] + upsert?: QuizQuestionUpsertWithWhereUniqueWithoutQuizInput | QuizQuestionUpsertWithWhereUniqueWithoutQuizInput[] + createMany?: QuizQuestionCreateManyQuizInputEnvelope + set?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + disconnect?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + delete?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + connect?: QuizQuestionWhereUniqueInput | QuizQuestionWhereUniqueInput[] + update?: QuizQuestionUpdateWithWhereUniqueWithoutQuizInput | QuizQuestionUpdateWithWhereUniqueWithoutQuizInput[] + updateMany?: QuizQuestionUpdateManyWithWhereWithoutQuizInput | QuizQuestionUpdateManyWithWhereWithoutQuizInput[] + deleteMany?: QuizQuestionScalarWhereInput | QuizQuestionScalarWhereInput[] + } + + export type QuizSubmissionUncheckedUpdateManyWithoutQuizNestedInput = { + create?: XOR | QuizSubmissionCreateWithoutQuizInput[] | QuizSubmissionUncheckedCreateWithoutQuizInput[] + connectOrCreate?: QuizSubmissionCreateOrConnectWithoutQuizInput | QuizSubmissionCreateOrConnectWithoutQuizInput[] + upsert?: QuizSubmissionUpsertWithWhereUniqueWithoutQuizInput | QuizSubmissionUpsertWithWhereUniqueWithoutQuizInput[] + createMany?: QuizSubmissionCreateManyQuizInputEnvelope + set?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + disconnect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + delete?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + connect?: QuizSubmissionWhereUniqueInput | QuizSubmissionWhereUniqueInput[] + update?: QuizSubmissionUpdateWithWhereUniqueWithoutQuizInput | QuizSubmissionUpdateWithWhereUniqueWithoutQuizInput[] + updateMany?: QuizSubmissionUpdateManyWithWhereWithoutQuizInput | QuizSubmissionUpdateManyWithWhereWithoutQuizInput[] + deleteMany?: QuizSubmissionScalarWhereInput | QuizSubmissionScalarWhereInput[] + } + + export type GoldenCardUncheckedUpdateManyWithoutQuizNestedInput = { + create?: XOR | GoldenCardCreateWithoutQuizInput[] | GoldenCardUncheckedCreateWithoutQuizInput[] + connectOrCreate?: GoldenCardCreateOrConnectWithoutQuizInput | GoldenCardCreateOrConnectWithoutQuizInput[] + upsert?: GoldenCardUpsertWithWhereUniqueWithoutQuizInput | GoldenCardUpsertWithWhereUniqueWithoutQuizInput[] + createMany?: GoldenCardCreateManyQuizInputEnvelope + set?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + disconnect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + delete?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + connect?: GoldenCardWhereUniqueInput | GoldenCardWhereUniqueInput[] + update?: GoldenCardUpdateWithWhereUniqueWithoutQuizInput | GoldenCardUpdateWithWhereUniqueWithoutQuizInput[] + updateMany?: GoldenCardUpdateManyWithWhereWithoutQuizInput | GoldenCardUpdateManyWithWhereWithoutQuizInput[] + deleteMany?: GoldenCardScalarWhereInput | GoldenCardScalarWhereInput[] + } + + export type QuizQuestionCreateoptionsInput = { + set: string[] + } + + export type DailyQuizCreateNestedOneWithoutQuestionsInput = { + create?: XOR + connectOrCreate?: DailyQuizCreateOrConnectWithoutQuestionsInput + connect?: DailyQuizWhereUniqueInput + } + + export type QuizQuestionUpdateoptionsInput = { + set?: string[] + push?: string | string[] + } + + export type DailyQuizUpdateOneRequiredWithoutQuestionsNestedInput = { + create?: XOR + connectOrCreate?: DailyQuizCreateOrConnectWithoutQuestionsInput + upsert?: DailyQuizUpsertWithoutQuestionsInput + connect?: DailyQuizWhereUniqueInput + update?: XOR, DailyQuizUncheckedUpdateWithoutQuestionsInput> + } + + export type QuizSubmissionCreateanswersInput = { + set: number[] + } + + export type UserCreateNestedOneWithoutQuizSubmissionsInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutQuizSubmissionsInput + connect?: UserWhereUniqueInput + } + + export type DailyQuizCreateNestedOneWithoutSubmissionsInput = { + create?: XOR + connectOrCreate?: DailyQuizCreateOrConnectWithoutSubmissionsInput + connect?: DailyQuizWhereUniqueInput + } + + export type QuizSubmissionUpdateanswersInput = { + set?: number[] + push?: number | number[] + } + + export type UserUpdateOneRequiredWithoutQuizSubmissionsNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutQuizSubmissionsInput + upsert?: UserUpsertWithoutQuizSubmissionsInput + connect?: UserWhereUniqueInput + update?: XOR, UserUncheckedUpdateWithoutQuizSubmissionsInput> + } + + export type DailyQuizUpdateOneRequiredWithoutSubmissionsNestedInput = { + create?: XOR + connectOrCreate?: DailyQuizCreateOrConnectWithoutSubmissionsInput + upsert?: DailyQuizUpsertWithoutSubmissionsInput + connect?: DailyQuizWhereUniqueInput + update?: XOR, DailyQuizUncheckedUpdateWithoutSubmissionsInput> + } + + export type UserCreateNestedOneWithoutGoldenCardsInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutGoldenCardsInput + connect?: UserWhereUniqueInput + } + + export type DailyQuizCreateNestedOneWithoutAwardedCardsInput = { + create?: XOR + connectOrCreate?: DailyQuizCreateOrConnectWithoutAwardedCardsInput + connect?: DailyQuizWhereUniqueInput + } + + export type PlayerCreateNestedOneWithoutGoldenCardsInput = { + create?: XOR + connectOrCreate?: PlayerCreateOrConnectWithoutGoldenCardsInput + connect?: PlayerWhereUniqueInput + } + + export type TeamPlayerCreateNestedOneWithoutGoldenCardInput = { + create?: XOR + connectOrCreate?: TeamPlayerCreateOrConnectWithoutGoldenCardInput + connect?: TeamPlayerWhereUniqueInput + } + + export type TeamPlayerUncheckedCreateNestedOneWithoutGoldenCardInput = { + create?: XOR + connectOrCreate?: TeamPlayerCreateOrConnectWithoutGoldenCardInput + connect?: TeamPlayerWhereUniqueInput + } + + export type EnumGoldenCardStatusFieldUpdateOperationsInput = { + set?: $Enums.GoldenCardStatus + } + + export type EnumSpecialCardStateFieldUpdateOperationsInput = { + set?: $Enums.SpecialCardState + } + + export type UserUpdateOneRequiredWithoutGoldenCardsNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutGoldenCardsInput + upsert?: UserUpsertWithoutGoldenCardsInput + connect?: UserWhereUniqueInput + update?: XOR, UserUncheckedUpdateWithoutGoldenCardsInput> + } + + export type DailyQuizUpdateOneWithoutAwardedCardsNestedInput = { + create?: XOR + connectOrCreate?: DailyQuizCreateOrConnectWithoutAwardedCardsInput + upsert?: DailyQuizUpsertWithoutAwardedCardsInput + disconnect?: DailyQuizWhereInput | boolean + delete?: DailyQuizWhereInput | boolean + connect?: DailyQuizWhereUniqueInput + update?: XOR, DailyQuizUncheckedUpdateWithoutAwardedCardsInput> + } + + export type PlayerUpdateOneRequiredWithoutGoldenCardsNestedInput = { + create?: XOR + connectOrCreate?: PlayerCreateOrConnectWithoutGoldenCardsInput + upsert?: PlayerUpsertWithoutGoldenCardsInput + connect?: PlayerWhereUniqueInput + update?: XOR, PlayerUncheckedUpdateWithoutGoldenCardsInput> + } + + export type TeamPlayerUpdateOneWithoutGoldenCardNestedInput = { + create?: XOR + connectOrCreate?: TeamPlayerCreateOrConnectWithoutGoldenCardInput + upsert?: TeamPlayerUpsertWithoutGoldenCardInput + disconnect?: TeamPlayerWhereInput | boolean + delete?: TeamPlayerWhereInput | boolean + connect?: TeamPlayerWhereUniqueInput + update?: XOR, TeamPlayerUncheckedUpdateWithoutGoldenCardInput> + } + + export type TeamPlayerUncheckedUpdateOneWithoutGoldenCardNestedInput = { + create?: XOR + connectOrCreate?: TeamPlayerCreateOrConnectWithoutGoldenCardInput + upsert?: TeamPlayerUpsertWithoutGoldenCardInput + disconnect?: TeamPlayerWhereInput | boolean + delete?: TeamPlayerWhereInput | boolean + connect?: TeamPlayerWhereUniqueInput + update?: XOR, TeamPlayerUncheckedUpdateWithoutGoldenCardInput> + } + + export type UserCreateNestedOneWithoutSessionsInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutSessionsInput + connect?: UserWhereUniqueInput + } + + export type UserUpdateOneRequiredWithoutSessionsNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutSessionsInput + upsert?: UserUpsertWithoutSessionsInput + connect?: UserWhereUniqueInput + update?: XOR, UserUncheckedUpdateWithoutSessionsInput> + } + + export type UserCreateNestedOneWithoutTeamInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutTeamInput + connect?: UserWhereUniqueInput + } + + export type TeamPlayerCreateNestedManyWithoutTeamInput = { + create?: XOR | TeamPlayerCreateWithoutTeamInput[] | TeamPlayerUncheckedCreateWithoutTeamInput[] + connectOrCreate?: TeamPlayerCreateOrConnectWithoutTeamInput | TeamPlayerCreateOrConnectWithoutTeamInput[] + createMany?: TeamPlayerCreateManyTeamInputEnvelope + connect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + } + + export type TeamPlayerUncheckedCreateNestedManyWithoutTeamInput = { + create?: XOR | TeamPlayerCreateWithoutTeamInput[] | TeamPlayerUncheckedCreateWithoutTeamInput[] + connectOrCreate?: TeamPlayerCreateOrConnectWithoutTeamInput | TeamPlayerCreateOrConnectWithoutTeamInput[] + createMany?: TeamPlayerCreateManyTeamInputEnvelope + connect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + } + + export type EnumTeamStatusFieldUpdateOperationsInput = { + set?: $Enums.TeamStatus + } + + export type UserUpdateOneRequiredWithoutTeamNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutTeamInput + upsert?: UserUpsertWithoutTeamInput + connect?: UserWhereUniqueInput + update?: XOR, UserUncheckedUpdateWithoutTeamInput> + } + + export type TeamPlayerUpdateManyWithoutTeamNestedInput = { + create?: XOR | TeamPlayerCreateWithoutTeamInput[] | TeamPlayerUncheckedCreateWithoutTeamInput[] + connectOrCreate?: TeamPlayerCreateOrConnectWithoutTeamInput | TeamPlayerCreateOrConnectWithoutTeamInput[] + upsert?: TeamPlayerUpsertWithWhereUniqueWithoutTeamInput | TeamPlayerUpsertWithWhereUniqueWithoutTeamInput[] + createMany?: TeamPlayerCreateManyTeamInputEnvelope + set?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + disconnect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + delete?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + connect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + update?: TeamPlayerUpdateWithWhereUniqueWithoutTeamInput | TeamPlayerUpdateWithWhereUniqueWithoutTeamInput[] + updateMany?: TeamPlayerUpdateManyWithWhereWithoutTeamInput | TeamPlayerUpdateManyWithWhereWithoutTeamInput[] + deleteMany?: TeamPlayerScalarWhereInput | TeamPlayerScalarWhereInput[] + } + + export type TeamPlayerUncheckedUpdateManyWithoutTeamNestedInput = { + create?: XOR | TeamPlayerCreateWithoutTeamInput[] | TeamPlayerUncheckedCreateWithoutTeamInput[] + connectOrCreate?: TeamPlayerCreateOrConnectWithoutTeamInput | TeamPlayerCreateOrConnectWithoutTeamInput[] + upsert?: TeamPlayerUpsertWithWhereUniqueWithoutTeamInput | TeamPlayerUpsertWithWhereUniqueWithoutTeamInput[] + createMany?: TeamPlayerCreateManyTeamInputEnvelope + set?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + disconnect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + delete?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + connect?: TeamPlayerWhereUniqueInput | TeamPlayerWhereUniqueInput[] + update?: TeamPlayerUpdateWithWhereUniqueWithoutTeamInput | TeamPlayerUpdateWithWhereUniqueWithoutTeamInput[] + updateMany?: TeamPlayerUpdateManyWithWhereWithoutTeamInput | TeamPlayerUpdateManyWithWhereWithoutTeamInput[] + deleteMany?: TeamPlayerScalarWhereInput | TeamPlayerScalarWhereInput[] + } + + export type TeamCreateNestedOneWithoutPlayersInput = { + create?: XOR + connectOrCreate?: TeamCreateOrConnectWithoutPlayersInput + connect?: TeamWhereUniqueInput + } + + export type PlayerCreateNestedOneWithoutTeamPlayersInput = { + create?: XOR + connectOrCreate?: PlayerCreateOrConnectWithoutTeamPlayersInput + connect?: PlayerWhereUniqueInput + } + + export type GoldenCardCreateNestedOneWithoutTeamPlayerInput = { + create?: XOR + connectOrCreate?: GoldenCardCreateOrConnectWithoutTeamPlayerInput + connect?: GoldenCardWhereUniqueInput + } + + export type TeamUpdateOneRequiredWithoutPlayersNestedInput = { + create?: XOR + connectOrCreate?: TeamCreateOrConnectWithoutPlayersInput + upsert?: TeamUpsertWithoutPlayersInput + connect?: TeamWhereUniqueInput + update?: XOR, TeamUncheckedUpdateWithoutPlayersInput> + } + + export type PlayerUpdateOneRequiredWithoutTeamPlayersNestedInput = { + create?: XOR + connectOrCreate?: PlayerCreateOrConnectWithoutTeamPlayersInput + upsert?: PlayerUpsertWithoutTeamPlayersInput + connect?: PlayerWhereUniqueInput + update?: XOR, PlayerUncheckedUpdateWithoutTeamPlayersInput> + } + + export type GoldenCardUpdateOneWithoutTeamPlayerNestedInput = { + create?: XOR + connectOrCreate?: GoldenCardCreateOrConnectWithoutTeamPlayerInput + upsert?: GoldenCardUpsertWithoutTeamPlayerInput + disconnect?: GoldenCardWhereInput | boolean + delete?: GoldenCardWhereInput | boolean + connect?: GoldenCardWhereUniqueInput + update?: XOR, GoldenCardUncheckedUpdateWithoutTeamPlayerInput> + } + + export type PaymentCreateNestedManyWithoutPackageInput = { + create?: XOR | PaymentCreateWithoutPackageInput[] | PaymentUncheckedCreateWithoutPackageInput[] + connectOrCreate?: PaymentCreateOrConnectWithoutPackageInput | PaymentCreateOrConnectWithoutPackageInput[] + createMany?: PaymentCreateManyPackageInputEnvelope + connect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + } + + export type PaymentUncheckedCreateNestedManyWithoutPackageInput = { + create?: XOR | PaymentCreateWithoutPackageInput[] | PaymentUncheckedCreateWithoutPackageInput[] + connectOrCreate?: PaymentCreateOrConnectWithoutPackageInput | PaymentCreateOrConnectWithoutPackageInput[] + createMany?: PaymentCreateManyPackageInputEnvelope + connect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + } + + export type PaymentUpdateManyWithoutPackageNestedInput = { + create?: XOR | PaymentCreateWithoutPackageInput[] | PaymentUncheckedCreateWithoutPackageInput[] + connectOrCreate?: PaymentCreateOrConnectWithoutPackageInput | PaymentCreateOrConnectWithoutPackageInput[] + upsert?: PaymentUpsertWithWhereUniqueWithoutPackageInput | PaymentUpsertWithWhereUniqueWithoutPackageInput[] + createMany?: PaymentCreateManyPackageInputEnvelope + set?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + disconnect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + delete?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + connect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + update?: PaymentUpdateWithWhereUniqueWithoutPackageInput | PaymentUpdateWithWhereUniqueWithoutPackageInput[] + updateMany?: PaymentUpdateManyWithWhereWithoutPackageInput | PaymentUpdateManyWithWhereWithoutPackageInput[] + deleteMany?: PaymentScalarWhereInput | PaymentScalarWhereInput[] + } + + export type PaymentUncheckedUpdateManyWithoutPackageNestedInput = { + create?: XOR | PaymentCreateWithoutPackageInput[] | PaymentUncheckedCreateWithoutPackageInput[] + connectOrCreate?: PaymentCreateOrConnectWithoutPackageInput | PaymentCreateOrConnectWithoutPackageInput[] + upsert?: PaymentUpsertWithWhereUniqueWithoutPackageInput | PaymentUpsertWithWhereUniqueWithoutPackageInput[] + createMany?: PaymentCreateManyPackageInputEnvelope + set?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + disconnect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + delete?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + connect?: PaymentWhereUniqueInput | PaymentWhereUniqueInput[] + update?: PaymentUpdateWithWhereUniqueWithoutPackageInput | PaymentUpdateWithWhereUniqueWithoutPackageInput[] + updateMany?: PaymentUpdateManyWithWhereWithoutPackageInput | PaymentUpdateManyWithWhereWithoutPackageInput[] + deleteMany?: PaymentScalarWhereInput | PaymentScalarWhereInput[] + } + + export type UserCreateNestedOneWithoutPaymentsInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutPaymentsInput + connect?: UserWhereUniqueInput + } + + export type PackageCreateNestedOneWithoutPaymentsInput = { + create?: XOR + connectOrCreate?: PackageCreateOrConnectWithoutPaymentsInput + connect?: PackageWhereUniqueInput + } + + export type EnumPaymentStatusFieldUpdateOperationsInput = { + set?: $Enums.PaymentStatus + } + + export type UserUpdateOneRequiredWithoutPaymentsNestedInput = { + create?: XOR + connectOrCreate?: UserCreateOrConnectWithoutPaymentsInput + upsert?: UserUpsertWithoutPaymentsInput + connect?: UserWhereUniqueInput + update?: XOR, UserUncheckedUpdateWithoutPaymentsInput> + } + + export type PackageUpdateOneRequiredWithoutPaymentsNestedInput = { + create?: XOR + connectOrCreate?: PackageCreateOrConnectWithoutPaymentsInput + upsert?: PackageUpsertWithoutPaymentsInput + connect?: PackageWhereUniqueInput + update?: XOR, PackageUncheckedUpdateWithoutPaymentsInput> + } + + export type NestedStringFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringFilter<$PrismaModel> | string + } + + export type NestedStringNullableFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringNullableFilter<$PrismaModel> | string | null + } + + export type NestedBoolFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolFilter<$PrismaModel> | boolean + } + + export type NestedStringWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> + in?: string[] | ListStringFieldRefInput<$PrismaModel> + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringWithAggregatesFilter<$PrismaModel> | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedStringFilter<$PrismaModel> + _max?: NestedStringFilter<$PrismaModel> + } + + export type NestedIntFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntFilter<$PrismaModel> | number + } + + export type NestedStringNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: string | StringFieldRefInput<$PrismaModel> | null + in?: string[] | ListStringFieldRefInput<$PrismaModel> | null + notIn?: string[] | ListStringFieldRefInput<$PrismaModel> | null + lt?: string | StringFieldRefInput<$PrismaModel> + lte?: string | StringFieldRefInput<$PrismaModel> + gt?: string | StringFieldRefInput<$PrismaModel> + gte?: string | StringFieldRefInput<$PrismaModel> + contains?: string | StringFieldRefInput<$PrismaModel> + startsWith?: string | StringFieldRefInput<$PrismaModel> + endsWith?: string | StringFieldRefInput<$PrismaModel> + not?: NestedStringNullableWithAggregatesFilter<$PrismaModel> | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedStringNullableFilter<$PrismaModel> + _max?: NestedStringNullableFilter<$PrismaModel> + } + + export type NestedIntNullableFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableFilter<$PrismaModel> | number | null + } + + export type NestedBoolWithAggregatesFilter<$PrismaModel = never> = { + equals?: boolean | BooleanFieldRefInput<$PrismaModel> + not?: NestedBoolWithAggregatesFilter<$PrismaModel> | boolean + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedBoolFilter<$PrismaModel> + _max?: NestedBoolFilter<$PrismaModel> + } + + export type NestedEnumPositionFilter<$PrismaModel = never> = { + equals?: $Enums.Position | EnumPositionFieldRefInput<$PrismaModel> + in?: $Enums.Position[] | ListEnumPositionFieldRefInput<$PrismaModel> + notIn?: $Enums.Position[] | ListEnumPositionFieldRefInput<$PrismaModel> + not?: NestedEnumPositionFilter<$PrismaModel> | $Enums.Position + } + + export type NestedFloatFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatFilter<$PrismaModel> | number + } + + export type NestedEnumCardTierFilter<$PrismaModel = never> = { + equals?: $Enums.CardTier | EnumCardTierFieldRefInput<$PrismaModel> + in?: $Enums.CardTier[] | ListEnumCardTierFieldRefInput<$PrismaModel> + notIn?: $Enums.CardTier[] | ListEnumCardTierFieldRefInput<$PrismaModel> + not?: NestedEnumCardTierFilter<$PrismaModel> | $Enums.CardTier + } + + export type NestedDateTimeFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeFilter<$PrismaModel> | Date | string + } + + export type NestedEnumPositionWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Position | EnumPositionFieldRefInput<$PrismaModel> + in?: $Enums.Position[] | ListEnumPositionFieldRefInput<$PrismaModel> + notIn?: $Enums.Position[] | ListEnumPositionFieldRefInput<$PrismaModel> + not?: NestedEnumPositionWithAggregatesFilter<$PrismaModel> | $Enums.Position + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumPositionFilter<$PrismaModel> + _max?: NestedEnumPositionFilter<$PrismaModel> + } + + export type NestedFloatWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> + in?: number[] | ListFloatFieldRefInput<$PrismaModel> + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedFloatFilter<$PrismaModel> + _min?: NestedFloatFilter<$PrismaModel> + _max?: NestedFloatFilter<$PrismaModel> + } + + export type NestedIntWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> + in?: number[] | ListIntFieldRefInput<$PrismaModel> + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntWithAggregatesFilter<$PrismaModel> | number + _count?: NestedIntFilter<$PrismaModel> + _avg?: NestedFloatFilter<$PrismaModel> + _sum?: NestedIntFilter<$PrismaModel> + _min?: NestedIntFilter<$PrismaModel> + _max?: NestedIntFilter<$PrismaModel> + } + + export type NestedEnumCardTierWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.CardTier | EnumCardTierFieldRefInput<$PrismaModel> + in?: $Enums.CardTier[] | ListEnumCardTierFieldRefInput<$PrismaModel> + notIn?: $Enums.CardTier[] | ListEnumCardTierFieldRefInput<$PrismaModel> + not?: NestedEnumCardTierWithAggregatesFilter<$PrismaModel> | $Enums.CardTier + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumCardTierFilter<$PrismaModel> + _max?: NestedEnumCardTierFilter<$PrismaModel> + } + + export type NestedDateTimeWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeWithAggregatesFilter<$PrismaModel> | Date | string + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedDateTimeFilter<$PrismaModel> + _max?: NestedDateTimeFilter<$PrismaModel> + } + + export type NestedEnumMatchStageFilter<$PrismaModel = never> = { + equals?: $Enums.MatchStage | EnumMatchStageFieldRefInput<$PrismaModel> + in?: $Enums.MatchStage[] | ListEnumMatchStageFieldRefInput<$PrismaModel> + notIn?: $Enums.MatchStage[] | ListEnumMatchStageFieldRefInput<$PrismaModel> + not?: NestedEnumMatchStageFilter<$PrismaModel> | $Enums.MatchStage + } + + export type NestedEnumMatchStatusFilter<$PrismaModel = never> = { + equals?: $Enums.MatchStatus | EnumMatchStatusFieldRefInput<$PrismaModel> + in?: $Enums.MatchStatus[] | ListEnumMatchStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.MatchStatus[] | ListEnumMatchStatusFieldRefInput<$PrismaModel> + not?: NestedEnumMatchStatusFilter<$PrismaModel> | $Enums.MatchStatus + } + + export type NestedIntNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: number | IntFieldRefInput<$PrismaModel> | null + in?: number[] | ListIntFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListIntFieldRefInput<$PrismaModel> | null + lt?: number | IntFieldRefInput<$PrismaModel> + lte?: number | IntFieldRefInput<$PrismaModel> + gt?: number | IntFieldRefInput<$PrismaModel> + gte?: number | IntFieldRefInput<$PrismaModel> + not?: NestedIntNullableWithAggregatesFilter<$PrismaModel> | number | null + _count?: NestedIntNullableFilter<$PrismaModel> + _avg?: NestedFloatNullableFilter<$PrismaModel> + _sum?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedIntNullableFilter<$PrismaModel> + _max?: NestedIntNullableFilter<$PrismaModel> + } + + export type NestedFloatNullableFilter<$PrismaModel = never> = { + equals?: number | FloatFieldRefInput<$PrismaModel> | null + in?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + notIn?: number[] | ListFloatFieldRefInput<$PrismaModel> | null + lt?: number | FloatFieldRefInput<$PrismaModel> + lte?: number | FloatFieldRefInput<$PrismaModel> + gt?: number | FloatFieldRefInput<$PrismaModel> + gte?: number | FloatFieldRefInput<$PrismaModel> + not?: NestedFloatNullableFilter<$PrismaModel> | number | null + } + + export type NestedEnumMatchStageWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.MatchStage | EnumMatchStageFieldRefInput<$PrismaModel> + in?: $Enums.MatchStage[] | ListEnumMatchStageFieldRefInput<$PrismaModel> + notIn?: $Enums.MatchStage[] | ListEnumMatchStageFieldRefInput<$PrismaModel> + not?: NestedEnumMatchStageWithAggregatesFilter<$PrismaModel> | $Enums.MatchStage + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumMatchStageFilter<$PrismaModel> + _max?: NestedEnumMatchStageFilter<$PrismaModel> + } + + export type NestedEnumMatchStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.MatchStatus | EnumMatchStatusFieldRefInput<$PrismaModel> + in?: $Enums.MatchStatus[] | ListEnumMatchStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.MatchStatus[] | ListEnumMatchStatusFieldRefInput<$PrismaModel> + not?: NestedEnumMatchStatusWithAggregatesFilter<$PrismaModel> | $Enums.MatchStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumMatchStatusFilter<$PrismaModel> + _max?: NestedEnumMatchStatusFilter<$PrismaModel> + } + + export type NestedEnumEventTypeFilter<$PrismaModel = never> = { + equals?: $Enums.EventType | EnumEventTypeFieldRefInput<$PrismaModel> + in?: $Enums.EventType[] | ListEnumEventTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.EventType[] | ListEnumEventTypeFieldRefInput<$PrismaModel> + not?: NestedEnumEventTypeFilter<$PrismaModel> | $Enums.EventType + } + + export type NestedEnumEventTypeWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.EventType | EnumEventTypeFieldRefInput<$PrismaModel> + in?: $Enums.EventType[] | ListEnumEventTypeFieldRefInput<$PrismaModel> + notIn?: $Enums.EventType[] | ListEnumEventTypeFieldRefInput<$PrismaModel> + not?: NestedEnumEventTypeWithAggregatesFilter<$PrismaModel> | $Enums.EventType + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumEventTypeFilter<$PrismaModel> + _max?: NestedEnumEventTypeFilter<$PrismaModel> + } + + export type NestedEnumRoleFilter<$PrismaModel = never> = { + equals?: $Enums.Role | EnumRoleFieldRefInput<$PrismaModel> + in?: $Enums.Role[] | ListEnumRoleFieldRefInput<$PrismaModel> + notIn?: $Enums.Role[] | ListEnumRoleFieldRefInput<$PrismaModel> + not?: NestedEnumRoleFilter<$PrismaModel> | $Enums.Role + } + + export type NestedEnumRoleWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.Role | EnumRoleFieldRefInput<$PrismaModel> + in?: $Enums.Role[] | ListEnumRoleFieldRefInput<$PrismaModel> + notIn?: $Enums.Role[] | ListEnumRoleFieldRefInput<$PrismaModel> + not?: NestedEnumRoleWithAggregatesFilter<$PrismaModel> | $Enums.Role + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumRoleFilter<$PrismaModel> + _max?: NestedEnumRoleFilter<$PrismaModel> + } + + export type NestedDateTimeNullableFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableFilter<$PrismaModel> | Date | string | null + } + + export type NestedDateTimeNullableWithAggregatesFilter<$PrismaModel = never> = { + equals?: Date | string | DateTimeFieldRefInput<$PrismaModel> | null + in?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + notIn?: Date[] | string[] | ListDateTimeFieldRefInput<$PrismaModel> | null + lt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + lte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gt?: Date | string | DateTimeFieldRefInput<$PrismaModel> + gte?: Date | string | DateTimeFieldRefInput<$PrismaModel> + not?: NestedDateTimeNullableWithAggregatesFilter<$PrismaModel> | Date | string | null + _count?: NestedIntNullableFilter<$PrismaModel> + _min?: NestedDateTimeNullableFilter<$PrismaModel> + _max?: NestedDateTimeNullableFilter<$PrismaModel> + } + + export type NestedEnumGoldenCardStatusFilter<$PrismaModel = never> = { + equals?: $Enums.GoldenCardStatus | EnumGoldenCardStatusFieldRefInput<$PrismaModel> + in?: $Enums.GoldenCardStatus[] | ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.GoldenCardStatus[] | ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> + not?: NestedEnumGoldenCardStatusFilter<$PrismaModel> | $Enums.GoldenCardStatus + } + + export type NestedEnumSpecialCardStateFilter<$PrismaModel = never> = { + equals?: $Enums.SpecialCardState | EnumSpecialCardStateFieldRefInput<$PrismaModel> + in?: $Enums.SpecialCardState[] | ListEnumSpecialCardStateFieldRefInput<$PrismaModel> + notIn?: $Enums.SpecialCardState[] | ListEnumSpecialCardStateFieldRefInput<$PrismaModel> + not?: NestedEnumSpecialCardStateFilter<$PrismaModel> | $Enums.SpecialCardState + } + + export type NestedEnumGoldenCardStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.GoldenCardStatus | EnumGoldenCardStatusFieldRefInput<$PrismaModel> + in?: $Enums.GoldenCardStatus[] | ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.GoldenCardStatus[] | ListEnumGoldenCardStatusFieldRefInput<$PrismaModel> + not?: NestedEnumGoldenCardStatusWithAggregatesFilter<$PrismaModel> | $Enums.GoldenCardStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumGoldenCardStatusFilter<$PrismaModel> + _max?: NestedEnumGoldenCardStatusFilter<$PrismaModel> + } + + export type NestedEnumSpecialCardStateWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.SpecialCardState | EnumSpecialCardStateFieldRefInput<$PrismaModel> + in?: $Enums.SpecialCardState[] | ListEnumSpecialCardStateFieldRefInput<$PrismaModel> + notIn?: $Enums.SpecialCardState[] | ListEnumSpecialCardStateFieldRefInput<$PrismaModel> + not?: NestedEnumSpecialCardStateWithAggregatesFilter<$PrismaModel> | $Enums.SpecialCardState + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumSpecialCardStateFilter<$PrismaModel> + _max?: NestedEnumSpecialCardStateFilter<$PrismaModel> + } + + export type NestedEnumTeamStatusFilter<$PrismaModel = never> = { + equals?: $Enums.TeamStatus | EnumTeamStatusFieldRefInput<$PrismaModel> + in?: $Enums.TeamStatus[] | ListEnumTeamStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.TeamStatus[] | ListEnumTeamStatusFieldRefInput<$PrismaModel> + not?: NestedEnumTeamStatusFilter<$PrismaModel> | $Enums.TeamStatus + } + + export type NestedEnumTeamStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.TeamStatus | EnumTeamStatusFieldRefInput<$PrismaModel> + in?: $Enums.TeamStatus[] | ListEnumTeamStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.TeamStatus[] | ListEnumTeamStatusFieldRefInput<$PrismaModel> + not?: NestedEnumTeamStatusWithAggregatesFilter<$PrismaModel> | $Enums.TeamStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumTeamStatusFilter<$PrismaModel> + _max?: NestedEnumTeamStatusFilter<$PrismaModel> + } + + export type NestedEnumPaymentStatusFilter<$PrismaModel = never> = { + equals?: $Enums.PaymentStatus | EnumPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.PaymentStatus[] | ListEnumPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.PaymentStatus[] | ListEnumPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumPaymentStatusFilter<$PrismaModel> | $Enums.PaymentStatus + } + + export type NestedEnumPaymentStatusWithAggregatesFilter<$PrismaModel = never> = { + equals?: $Enums.PaymentStatus | EnumPaymentStatusFieldRefInput<$PrismaModel> + in?: $Enums.PaymentStatus[] | ListEnumPaymentStatusFieldRefInput<$PrismaModel> + notIn?: $Enums.PaymentStatus[] | ListEnumPaymentStatusFieldRefInput<$PrismaModel> + not?: NestedEnumPaymentStatusWithAggregatesFilter<$PrismaModel> | $Enums.PaymentStatus + _count?: NestedIntFilter<$PrismaModel> + _min?: NestedEnumPaymentStatusFilter<$PrismaModel> + _max?: NestedEnumPaymentStatusFilter<$PrismaModel> + } + + export type GroupCreateWithoutCountriesInput = { + id?: string + name: string + } + + export type GroupUncheckedCreateWithoutCountriesInput = { + id?: string + name: string + } + + export type GroupCreateOrConnectWithoutCountriesInput = { + where: GroupWhereUniqueInput + create: XOR + } + + export type PlayerCreateWithoutCountryInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + matchStats?: PlayerMatchStatCreateNestedManyWithoutPlayerInput + teamPlayers?: TeamPlayerCreateNestedManyWithoutPlayerInput + events?: MatchEventCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardCreateNestedManyWithoutPlayerInput + } + + export type PlayerUncheckedCreateWithoutCountryInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + matchStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutPlayerInput + teamPlayers?: TeamPlayerUncheckedCreateNestedManyWithoutPlayerInput + events?: MatchEventUncheckedCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutPlayerInput + } + + export type PlayerCreateOrConnectWithoutCountryInput = { + where: PlayerWhereUniqueInput + create: XOR + } + + export type PlayerCreateManyCountryInputEnvelope = { + data: PlayerCreateManyCountryInput | PlayerCreateManyCountryInput[] + skipDuplicates?: boolean + } + + export type MatchCreateWithoutHomeTeamInput = { + id?: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + awayTeam: CountryCreateNestedOneWithoutAwayMatchesInput + round?: RoundCreateNestedOneWithoutMatchesInput + playerStats?: PlayerMatchStatCreateNestedManyWithoutMatchInput + events?: MatchEventCreateNestedManyWithoutMatchInput + lineups?: MatchLineupCreateNestedManyWithoutMatchInput + } + + export type MatchUncheckedCreateWithoutHomeTeamInput = { + id?: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + playerStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutMatchInput + events?: MatchEventUncheckedCreateNestedManyWithoutMatchInput + lineups?: MatchLineupUncheckedCreateNestedManyWithoutMatchInput + } + + export type MatchCreateOrConnectWithoutHomeTeamInput = { + where: MatchWhereUniqueInput + create: XOR + } + + export type MatchCreateManyHomeTeamInputEnvelope = { + data: MatchCreateManyHomeTeamInput | MatchCreateManyHomeTeamInput[] + skipDuplicates?: boolean + } + + export type MatchCreateWithoutAwayTeamInput = { + id?: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + homeTeam: CountryCreateNestedOneWithoutHomeMatchesInput + round?: RoundCreateNestedOneWithoutMatchesInput + playerStats?: PlayerMatchStatCreateNestedManyWithoutMatchInput + events?: MatchEventCreateNestedManyWithoutMatchInput + lineups?: MatchLineupCreateNestedManyWithoutMatchInput + } + + export type MatchUncheckedCreateWithoutAwayTeamInput = { + id?: string + homeTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + playerStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutMatchInput + events?: MatchEventUncheckedCreateNestedManyWithoutMatchInput + lineups?: MatchLineupUncheckedCreateNestedManyWithoutMatchInput + } + + export type MatchCreateOrConnectWithoutAwayTeamInput = { + where: MatchWhereUniqueInput + create: XOR + } + + export type MatchCreateManyAwayTeamInputEnvelope = { + data: MatchCreateManyAwayTeamInput | MatchCreateManyAwayTeamInput[] + skipDuplicates?: boolean + } + + export type GroupUpsertWithoutCountriesInput = { + update: XOR + create: XOR + where?: GroupWhereInput + } + + export type GroupUpdateToOneWithWhereWithoutCountriesInput = { + where?: GroupWhereInput + data: XOR + } + + export type GroupUpdateWithoutCountriesInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + } + + export type GroupUncheckedUpdateWithoutCountriesInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + } + + export type PlayerUpsertWithWhereUniqueWithoutCountryInput = { + where: PlayerWhereUniqueInput + update: XOR + create: XOR + } + + export type PlayerUpdateWithWhereUniqueWithoutCountryInput = { + where: PlayerWhereUniqueInput + data: XOR + } + + export type PlayerUpdateManyWithWhereWithoutCountryInput = { + where: PlayerScalarWhereInput + data: XOR + } + + export type PlayerScalarWhereInput = { + AND?: PlayerScalarWhereInput | PlayerScalarWhereInput[] + OR?: PlayerScalarWhereInput[] + NOT?: PlayerScalarWhereInput | PlayerScalarWhereInput[] + id?: StringFilter<"Player"> | string + name?: StringFilter<"Player"> | string + image?: StringNullableFilter<"Player"> | string | null + position?: EnumPositionFilter<"Player"> | $Enums.Position + countryId?: StringFilter<"Player"> | string + price?: FloatFilter<"Player"> | number + totalPoints?: IntFilter<"Player"> | number + isActive?: BoolFilter<"Player"> | boolean + isGoldenCardEligible?: BoolFilter<"Player"> | boolean + cardTier?: EnumCardTierFilter<"Player"> | $Enums.CardTier + createdAt?: DateTimeFilter<"Player"> | Date | string + updatedAt?: DateTimeFilter<"Player"> | Date | string + } + + export type MatchUpsertWithWhereUniqueWithoutHomeTeamInput = { + where: MatchWhereUniqueInput + update: XOR + create: XOR + } + + export type MatchUpdateWithWhereUniqueWithoutHomeTeamInput = { + where: MatchWhereUniqueInput + data: XOR + } + + export type MatchUpdateManyWithWhereWithoutHomeTeamInput = { + where: MatchScalarWhereInput + data: XOR + } + + export type MatchScalarWhereInput = { + AND?: MatchScalarWhereInput | MatchScalarWhereInput[] + OR?: MatchScalarWhereInput[] + NOT?: MatchScalarWhereInput | MatchScalarWhereInput[] + id?: StringFilter<"Match"> | string + homeTeamId?: StringFilter<"Match"> | string + awayTeamId?: StringFilter<"Match"> | string + homeScore?: IntNullableFilter<"Match"> | number | null + awayScore?: IntNullableFilter<"Match"> | number | null + stage?: EnumMatchStageFilter<"Match"> | $Enums.MatchStage + status?: EnumMatchStatusFilter<"Match"> | $Enums.MatchStatus + matchDate?: DateTimeFilter<"Match"> | Date | string + matchDatePersian?: StringNullableFilter<"Match"> | string | null + stadium?: StringNullableFilter<"Match"> | string | null + city?: StringNullableFilter<"Match"> | string | null + referee?: StringNullableFilter<"Match"> | string | null + assistant1?: StringNullableFilter<"Match"> | string | null + assistant2?: StringNullableFilter<"Match"> | string | null + fourthOfficial?: StringNullableFilter<"Match"> | string | null + attendance?: IntNullableFilter<"Match"> | number | null + weather?: StringNullableFilter<"Match"> | string | null + description?: StringNullableFilter<"Match"> | string | null + roundId?: StringNullableFilter<"Match"> | string | null + createdAt?: DateTimeFilter<"Match"> | Date | string + } + + export type MatchUpsertWithWhereUniqueWithoutAwayTeamInput = { + where: MatchWhereUniqueInput + update: XOR + create: XOR + } + + export type MatchUpdateWithWhereUniqueWithoutAwayTeamInput = { + where: MatchWhereUniqueInput + data: XOR + } + + export type MatchUpdateManyWithWhereWithoutAwayTeamInput = { + where: MatchScalarWhereInput + data: XOR + } + + export type CountryCreateWithoutGroupInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + isEliminated?: boolean + players?: PlayerCreateNestedManyWithoutCountryInput + homeMatches?: MatchCreateNestedManyWithoutHomeTeamInput + awayMatches?: MatchCreateNestedManyWithoutAwayTeamInput + } + + export type CountryUncheckedCreateWithoutGroupInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + isEliminated?: boolean + players?: PlayerUncheckedCreateNestedManyWithoutCountryInput + homeMatches?: MatchUncheckedCreateNestedManyWithoutHomeTeamInput + awayMatches?: MatchUncheckedCreateNestedManyWithoutAwayTeamInput + } + + export type CountryCreateOrConnectWithoutGroupInput = { + where: CountryWhereUniqueInput + create: XOR + } + + export type CountryCreateManyGroupInputEnvelope = { + data: CountryCreateManyGroupInput | CountryCreateManyGroupInput[] + skipDuplicates?: boolean + } + + export type CountryUpsertWithWhereUniqueWithoutGroupInput = { + where: CountryWhereUniqueInput + update: XOR + create: XOR + } + + export type CountryUpdateWithWhereUniqueWithoutGroupInput = { + where: CountryWhereUniqueInput + data: XOR + } + + export type CountryUpdateManyWithWhereWithoutGroupInput = { + where: CountryScalarWhereInput + data: XOR + } + + export type CountryScalarWhereInput = { + AND?: CountryScalarWhereInput | CountryScalarWhereInput[] + OR?: CountryScalarWhereInput[] + NOT?: CountryScalarWhereInput | CountryScalarWhereInput[] + id?: StringFilter<"Country"> | string + name?: StringFilter<"Country"> | string + code?: StringFilter<"Country"> | string + flagUrl?: StringNullableFilter<"Country"> | string | null + flagImage?: StringNullableFilter<"Country"> | string | null + confederation?: StringNullableFilter<"Country"> | string | null + qualificationMethod?: StringNullableFilter<"Country"> | string | null + qualificationDate?: StringNullableFilter<"Country"> | string | null + participationHistory?: StringNullableFilter<"Country"> | string | null + bestResult?: StringNullableFilter<"Country"> | string | null + description?: StringNullableFilter<"Country"> | string | null + defaultFormation?: StringFilter<"Country"> | string + defaultLineupPlayerIds?: StringNullableListFilter<"Country"> + defaultCaptainId?: StringNullableFilter<"Country"> | string | null + groupId?: StringNullableFilter<"Country"> | string | null + isEliminated?: BoolFilter<"Country"> | boolean + } + + export type CountryCreateWithoutPlayersInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + isEliminated?: boolean + group?: GroupCreateNestedOneWithoutCountriesInput + homeMatches?: MatchCreateNestedManyWithoutHomeTeamInput + awayMatches?: MatchCreateNestedManyWithoutAwayTeamInput + } + + export type CountryUncheckedCreateWithoutPlayersInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + groupId?: string | null + isEliminated?: boolean + homeMatches?: MatchUncheckedCreateNestedManyWithoutHomeTeamInput + awayMatches?: MatchUncheckedCreateNestedManyWithoutAwayTeamInput + } + + export type CountryCreateOrConnectWithoutPlayersInput = { + where: CountryWhereUniqueInput + create: XOR + } + + export type PlayerMatchStatCreateWithoutPlayerInput = { + id?: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + match: MatchCreateNestedOneWithoutPlayerStatsInput + } + + export type PlayerMatchStatUncheckedCreateWithoutPlayerInput = { + id?: string + matchId: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + } + + export type PlayerMatchStatCreateOrConnectWithoutPlayerInput = { + where: PlayerMatchStatWhereUniqueInput + create: XOR + } + + export type PlayerMatchStatCreateManyPlayerInputEnvelope = { + data: PlayerMatchStatCreateManyPlayerInput | PlayerMatchStatCreateManyPlayerInput[] + skipDuplicates?: boolean + } + + export type TeamPlayerCreateWithoutPlayerInput = { + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + team: TeamCreateNestedOneWithoutPlayersInput + goldenCard?: GoldenCardCreateNestedOneWithoutTeamPlayerInput + } + + export type TeamPlayerUncheckedCreateWithoutPlayerInput = { + teamId: string + goldenCardId?: string | null + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + } + + export type TeamPlayerCreateOrConnectWithoutPlayerInput = { + where: TeamPlayerWhereUniqueInput + create: XOR + } + + export type TeamPlayerCreateManyPlayerInputEnvelope = { + data: TeamPlayerCreateManyPlayerInput | TeamPlayerCreateManyPlayerInput[] + skipDuplicates?: boolean + } + + export type MatchEventCreateWithoutPlayerInput = { + id?: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + match: MatchCreateNestedOneWithoutEventsInput + } + + export type MatchEventUncheckedCreateWithoutPlayerInput = { + id?: string + matchId: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + } + + export type MatchEventCreateOrConnectWithoutPlayerInput = { + where: MatchEventWhereUniqueInput + create: XOR + } + + export type MatchEventCreateManyPlayerInputEnvelope = { + data: MatchEventCreateManyPlayerInput | MatchEventCreateManyPlayerInput[] + skipDuplicates?: boolean + } + + export type GoldenCardCreateWithoutPlayerInput = { + id?: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + user: UserCreateNestedOneWithoutGoldenCardsInput + quiz?: DailyQuizCreateNestedOneWithoutAwardedCardsInput + teamPlayer?: TeamPlayerCreateNestedOneWithoutGoldenCardInput + } + + export type GoldenCardUncheckedCreateWithoutPlayerInput = { + id?: string + userId: string + quizId?: string | null + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + teamPlayer?: TeamPlayerUncheckedCreateNestedOneWithoutGoldenCardInput + } + + export type GoldenCardCreateOrConnectWithoutPlayerInput = { + where: GoldenCardWhereUniqueInput + create: XOR + } + + export type GoldenCardCreateManyPlayerInputEnvelope = { + data: GoldenCardCreateManyPlayerInput | GoldenCardCreateManyPlayerInput[] + skipDuplicates?: boolean + } + + export type CountryUpsertWithoutPlayersInput = { + update: XOR + create: XOR + where?: CountryWhereInput + } + + export type CountryUpdateToOneWithWhereWithoutPlayersInput = { + where?: CountryWhereInput + data: XOR + } + + export type CountryUpdateWithoutPlayersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + group?: GroupUpdateOneWithoutCountriesNestedInput + homeMatches?: MatchUpdateManyWithoutHomeTeamNestedInput + awayMatches?: MatchUpdateManyWithoutAwayTeamNestedInput + } + + export type CountryUncheckedUpdateWithoutPlayersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + groupId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + homeMatches?: MatchUncheckedUpdateManyWithoutHomeTeamNestedInput + awayMatches?: MatchUncheckedUpdateManyWithoutAwayTeamNestedInput + } + + export type PlayerMatchStatUpsertWithWhereUniqueWithoutPlayerInput = { + where: PlayerMatchStatWhereUniqueInput + update: XOR + create: XOR + } + + export type PlayerMatchStatUpdateWithWhereUniqueWithoutPlayerInput = { + where: PlayerMatchStatWhereUniqueInput + data: XOR + } + + export type PlayerMatchStatUpdateManyWithWhereWithoutPlayerInput = { + where: PlayerMatchStatScalarWhereInput + data: XOR + } + + export type PlayerMatchStatScalarWhereInput = { + AND?: PlayerMatchStatScalarWhereInput | PlayerMatchStatScalarWhereInput[] + OR?: PlayerMatchStatScalarWhereInput[] + NOT?: PlayerMatchStatScalarWhereInput | PlayerMatchStatScalarWhereInput[] + id?: StringFilter<"PlayerMatchStat"> | string + playerId?: StringFilter<"PlayerMatchStat"> | string + matchId?: StringFilter<"PlayerMatchStat"> | string + goals?: IntFilter<"PlayerMatchStat"> | number + assists?: IntFilter<"PlayerMatchStat"> | number + yellowCards?: IntFilter<"PlayerMatchStat"> | number + redCards?: IntFilter<"PlayerMatchStat"> | number + minutesPlayed?: IntFilter<"PlayerMatchStat"> | number + cleanSheet?: BoolFilter<"PlayerMatchStat"> | boolean + penaltySaved?: IntFilter<"PlayerMatchStat"> | number + penaltyMissed?: IntFilter<"PlayerMatchStat"> | number + ownGoals?: IntFilter<"PlayerMatchStat"> | number + isMotm?: BoolFilter<"PlayerMatchStat"> | boolean + extraTimeBonus?: IntFilter<"PlayerMatchStat"> | number + points?: IntFilter<"PlayerMatchStat"> | number + } + + export type TeamPlayerUpsertWithWhereUniqueWithoutPlayerInput = { + where: TeamPlayerWhereUniqueInput + update: XOR + create: XOR + } + + export type TeamPlayerUpdateWithWhereUniqueWithoutPlayerInput = { + where: TeamPlayerWhereUniqueInput + data: XOR + } + + export type TeamPlayerUpdateManyWithWhereWithoutPlayerInput = { + where: TeamPlayerScalarWhereInput + data: XOR + } + + export type TeamPlayerScalarWhereInput = { + AND?: TeamPlayerScalarWhereInput | TeamPlayerScalarWhereInput[] + OR?: TeamPlayerScalarWhereInput[] + NOT?: TeamPlayerScalarWhereInput | TeamPlayerScalarWhereInput[] + teamId?: StringFilter<"TeamPlayer"> | string + playerId?: StringFilter<"TeamPlayer"> | string + goldenCardId?: StringNullableFilter<"TeamPlayer"> | string | null + isCaptain?: BoolFilter<"TeamPlayer"> | boolean + isViceCaptain?: BoolFilter<"TeamPlayer"> | boolean + isBench?: BoolFilter<"TeamPlayer"> | boolean + positionIndex?: IntFilter<"TeamPlayer"> | number + } + + export type MatchEventUpsertWithWhereUniqueWithoutPlayerInput = { + where: MatchEventWhereUniqueInput + update: XOR + create: XOR + } + + export type MatchEventUpdateWithWhereUniqueWithoutPlayerInput = { + where: MatchEventWhereUniqueInput + data: XOR + } + + export type MatchEventUpdateManyWithWhereWithoutPlayerInput = { + where: MatchEventScalarWhereInput + data: XOR + } + + export type MatchEventScalarWhereInput = { + AND?: MatchEventScalarWhereInput | MatchEventScalarWhereInput[] + OR?: MatchEventScalarWhereInput[] + NOT?: MatchEventScalarWhereInput | MatchEventScalarWhereInput[] + id?: StringFilter<"MatchEvent"> | string + matchId?: StringFilter<"MatchEvent"> | string + playerId?: StringFilter<"MatchEvent"> | string + type?: EnumEventTypeFilter<"MatchEvent"> | $Enums.EventType + minute?: IntNullableFilter<"MatchEvent"> | number | null + extraInfo?: StringNullableFilter<"MatchEvent"> | string | null + createdAt?: DateTimeFilter<"MatchEvent"> | Date | string + } + + export type GoldenCardUpsertWithWhereUniqueWithoutPlayerInput = { + where: GoldenCardWhereUniqueInput + update: XOR + create: XOR + } + + export type GoldenCardUpdateWithWhereUniqueWithoutPlayerInput = { + where: GoldenCardWhereUniqueInput + data: XOR + } + + export type GoldenCardUpdateManyWithWhereWithoutPlayerInput = { + where: GoldenCardScalarWhereInput + data: XOR + } + + export type GoldenCardScalarWhereInput = { + AND?: GoldenCardScalarWhereInput | GoldenCardScalarWhereInput[] + OR?: GoldenCardScalarWhereInput[] + NOT?: GoldenCardScalarWhereInput | GoldenCardScalarWhereInput[] + id?: StringFilter<"GoldenCard"> | string + userId?: StringFilter<"GoldenCard"> | string + quizId?: StringNullableFilter<"GoldenCard"> | string | null + playerId?: StringFilter<"GoldenCard"> | string + cardTier?: EnumCardTierFilter<"GoldenCard"> | $Enums.CardTier + status?: EnumGoldenCardStatusFilter<"GoldenCard"> | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFilter<"GoldenCard"> | $Enums.SpecialCardState + acquiredDate?: DateTimeFilter<"GoldenCard"> | Date | string + openedAt?: DateTimeNullableFilter<"GoldenCard"> | Date | string | null + } + + export type CountryCreateWithoutHomeMatchesInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + isEliminated?: boolean + group?: GroupCreateNestedOneWithoutCountriesInput + players?: PlayerCreateNestedManyWithoutCountryInput + awayMatches?: MatchCreateNestedManyWithoutAwayTeamInput + } + + export type CountryUncheckedCreateWithoutHomeMatchesInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + groupId?: string | null + isEliminated?: boolean + players?: PlayerUncheckedCreateNestedManyWithoutCountryInput + awayMatches?: MatchUncheckedCreateNestedManyWithoutAwayTeamInput + } + + export type CountryCreateOrConnectWithoutHomeMatchesInput = { + where: CountryWhereUniqueInput + create: XOR + } + + export type CountryCreateWithoutAwayMatchesInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + isEliminated?: boolean + group?: GroupCreateNestedOneWithoutCountriesInput + players?: PlayerCreateNestedManyWithoutCountryInput + homeMatches?: MatchCreateNestedManyWithoutHomeTeamInput + } + + export type CountryUncheckedCreateWithoutAwayMatchesInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + groupId?: string | null + isEliminated?: boolean + players?: PlayerUncheckedCreateNestedManyWithoutCountryInput + homeMatches?: MatchUncheckedCreateNestedManyWithoutHomeTeamInput + } + + export type CountryCreateOrConnectWithoutAwayMatchesInput = { + where: CountryWhereUniqueInput + create: XOR + } + + export type RoundCreateWithoutMatchesInput = { + id?: string + number: number + name: string + isActive?: boolean + deadline: Date | string + createdAt?: Date | string + } + + export type RoundUncheckedCreateWithoutMatchesInput = { + id?: string + number: number + name: string + isActive?: boolean + deadline: Date | string + createdAt?: Date | string + } + + export type RoundCreateOrConnectWithoutMatchesInput = { + where: RoundWhereUniqueInput + create: XOR + } + + export type PlayerMatchStatCreateWithoutMatchInput = { + id?: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + player: PlayerCreateNestedOneWithoutMatchStatsInput + } + + export type PlayerMatchStatUncheckedCreateWithoutMatchInput = { + id?: string + playerId: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + } + + export type PlayerMatchStatCreateOrConnectWithoutMatchInput = { + where: PlayerMatchStatWhereUniqueInput + create: XOR + } + + export type PlayerMatchStatCreateManyMatchInputEnvelope = { + data: PlayerMatchStatCreateManyMatchInput | PlayerMatchStatCreateManyMatchInput[] + skipDuplicates?: boolean + } + + export type MatchEventCreateWithoutMatchInput = { + id?: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + player: PlayerCreateNestedOneWithoutEventsInput + } + + export type MatchEventUncheckedCreateWithoutMatchInput = { + id?: string + playerId: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + } + + export type MatchEventCreateOrConnectWithoutMatchInput = { + where: MatchEventWhereUniqueInput + create: XOR + } + + export type MatchEventCreateManyMatchInputEnvelope = { + data: MatchEventCreateManyMatchInput | MatchEventCreateManyMatchInput[] + skipDuplicates?: boolean + } + + export type MatchLineupCreateWithoutMatchInput = { + id?: string + countryId: string + formation: string + playerIds?: MatchLineupCreateplayerIdsInput | string[] + } + + export type MatchLineupUncheckedCreateWithoutMatchInput = { + id?: string + countryId: string + formation: string + playerIds?: MatchLineupCreateplayerIdsInput | string[] + } + + export type MatchLineupCreateOrConnectWithoutMatchInput = { + where: MatchLineupWhereUniqueInput + create: XOR + } + + export type MatchLineupCreateManyMatchInputEnvelope = { + data: MatchLineupCreateManyMatchInput | MatchLineupCreateManyMatchInput[] + skipDuplicates?: boolean + } + + export type CountryUpsertWithoutHomeMatchesInput = { + update: XOR + create: XOR + where?: CountryWhereInput + } + + export type CountryUpdateToOneWithWhereWithoutHomeMatchesInput = { + where?: CountryWhereInput + data: XOR + } + + export type CountryUpdateWithoutHomeMatchesInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + group?: GroupUpdateOneWithoutCountriesNestedInput + players?: PlayerUpdateManyWithoutCountryNestedInput + awayMatches?: MatchUpdateManyWithoutAwayTeamNestedInput + } + + export type CountryUncheckedUpdateWithoutHomeMatchesInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + groupId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + players?: PlayerUncheckedUpdateManyWithoutCountryNestedInput + awayMatches?: MatchUncheckedUpdateManyWithoutAwayTeamNestedInput + } + + export type CountryUpsertWithoutAwayMatchesInput = { + update: XOR + create: XOR + where?: CountryWhereInput + } + + export type CountryUpdateToOneWithWhereWithoutAwayMatchesInput = { + where?: CountryWhereInput + data: XOR + } + + export type CountryUpdateWithoutAwayMatchesInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + group?: GroupUpdateOneWithoutCountriesNestedInput + players?: PlayerUpdateManyWithoutCountryNestedInput + homeMatches?: MatchUpdateManyWithoutHomeTeamNestedInput + } + + export type CountryUncheckedUpdateWithoutAwayMatchesInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + groupId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + players?: PlayerUncheckedUpdateManyWithoutCountryNestedInput + homeMatches?: MatchUncheckedUpdateManyWithoutHomeTeamNestedInput + } + + export type RoundUpsertWithoutMatchesInput = { + update: XOR + create: XOR + where?: RoundWhereInput + } + + export type RoundUpdateToOneWithWhereWithoutMatchesInput = { + where?: RoundWhereInput + data: XOR + } + + export type RoundUpdateWithoutMatchesInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type RoundUncheckedUpdateWithoutMatchesInput = { + id?: StringFieldUpdateOperationsInput | string + number?: IntFieldUpdateOperationsInput | number + name?: StringFieldUpdateOperationsInput | string + isActive?: BoolFieldUpdateOperationsInput | boolean + deadline?: DateTimeFieldUpdateOperationsInput | Date | string + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PlayerMatchStatUpsertWithWhereUniqueWithoutMatchInput = { + where: PlayerMatchStatWhereUniqueInput + update: XOR + create: XOR + } + + export type PlayerMatchStatUpdateWithWhereUniqueWithoutMatchInput = { + where: PlayerMatchStatWhereUniqueInput + data: XOR + } + + export type PlayerMatchStatUpdateManyWithWhereWithoutMatchInput = { + where: PlayerMatchStatScalarWhereInput + data: XOR + } + + export type MatchEventUpsertWithWhereUniqueWithoutMatchInput = { + where: MatchEventWhereUniqueInput + update: XOR + create: XOR + } + + export type MatchEventUpdateWithWhereUniqueWithoutMatchInput = { + where: MatchEventWhereUniqueInput + data: XOR + } + + export type MatchEventUpdateManyWithWhereWithoutMatchInput = { + where: MatchEventScalarWhereInput + data: XOR + } + + export type MatchLineupUpsertWithWhereUniqueWithoutMatchInput = { + where: MatchLineupWhereUniqueInput + update: XOR + create: XOR + } + + export type MatchLineupUpdateWithWhereUniqueWithoutMatchInput = { + where: MatchLineupWhereUniqueInput + data: XOR + } + + export type MatchLineupUpdateManyWithWhereWithoutMatchInput = { + where: MatchLineupScalarWhereInput + data: XOR + } + + export type MatchLineupScalarWhereInput = { + AND?: MatchLineupScalarWhereInput | MatchLineupScalarWhereInput[] + OR?: MatchLineupScalarWhereInput[] + NOT?: MatchLineupScalarWhereInput | MatchLineupScalarWhereInput[] + id?: StringFilter<"MatchLineup"> | string + matchId?: StringFilter<"MatchLineup"> | string + countryId?: StringFilter<"MatchLineup"> | string + formation?: StringFilter<"MatchLineup"> | string + playerIds?: StringNullableListFilter<"MatchLineup"> + } + + export type MatchCreateWithoutRoundInput = { + id?: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + homeTeam: CountryCreateNestedOneWithoutHomeMatchesInput + awayTeam: CountryCreateNestedOneWithoutAwayMatchesInput + playerStats?: PlayerMatchStatCreateNestedManyWithoutMatchInput + events?: MatchEventCreateNestedManyWithoutMatchInput + lineups?: MatchLineupCreateNestedManyWithoutMatchInput + } + + export type MatchUncheckedCreateWithoutRoundInput = { + id?: string + homeTeamId: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + playerStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutMatchInput + events?: MatchEventUncheckedCreateNestedManyWithoutMatchInput + lineups?: MatchLineupUncheckedCreateNestedManyWithoutMatchInput + } + + export type MatchCreateOrConnectWithoutRoundInput = { + where: MatchWhereUniqueInput + create: XOR + } + + export type MatchCreateManyRoundInputEnvelope = { + data: MatchCreateManyRoundInput | MatchCreateManyRoundInput[] + skipDuplicates?: boolean + } + + export type MatchUpsertWithWhereUniqueWithoutRoundInput = { + where: MatchWhereUniqueInput + update: XOR + create: XOR + } + + export type MatchUpdateWithWhereUniqueWithoutRoundInput = { + where: MatchWhereUniqueInput + data: XOR + } + + export type MatchUpdateManyWithWhereWithoutRoundInput = { + where: MatchScalarWhereInput + data: XOR + } + + export type MatchCreateWithoutEventsInput = { + id?: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + homeTeam: CountryCreateNestedOneWithoutHomeMatchesInput + awayTeam: CountryCreateNestedOneWithoutAwayMatchesInput + round?: RoundCreateNestedOneWithoutMatchesInput + playerStats?: PlayerMatchStatCreateNestedManyWithoutMatchInput + lineups?: MatchLineupCreateNestedManyWithoutMatchInput + } + + export type MatchUncheckedCreateWithoutEventsInput = { + id?: string + homeTeamId: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + playerStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutMatchInput + lineups?: MatchLineupUncheckedCreateNestedManyWithoutMatchInput + } + + export type MatchCreateOrConnectWithoutEventsInput = { + where: MatchWhereUniqueInput + create: XOR + } + + export type PlayerCreateWithoutEventsInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + country: CountryCreateNestedOneWithoutPlayersInput + matchStats?: PlayerMatchStatCreateNestedManyWithoutPlayerInput + teamPlayers?: TeamPlayerCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardCreateNestedManyWithoutPlayerInput + } + + export type PlayerUncheckedCreateWithoutEventsInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + countryId: string + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + matchStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutPlayerInput + teamPlayers?: TeamPlayerUncheckedCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutPlayerInput + } + + export type PlayerCreateOrConnectWithoutEventsInput = { + where: PlayerWhereUniqueInput + create: XOR + } + + export type MatchUpsertWithoutEventsInput = { + update: XOR + create: XOR + where?: MatchWhereInput + } + + export type MatchUpdateToOneWithWhereWithoutEventsInput = { + where?: MatchWhereInput + data: XOR + } + + export type MatchUpdateWithoutEventsInput = { + id?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + homeTeam?: CountryUpdateOneRequiredWithoutHomeMatchesNestedInput + awayTeam?: CountryUpdateOneRequiredWithoutAwayMatchesNestedInput + round?: RoundUpdateOneWithoutMatchesNestedInput + playerStats?: PlayerMatchStatUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateWithoutEventsInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + playerStats?: PlayerMatchStatUncheckedUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUncheckedUpdateManyWithoutMatchNestedInput + } + + export type PlayerUpsertWithoutEventsInput = { + update: XOR + create: XOR + where?: PlayerWhereInput + } + + export type PlayerUpdateToOneWithWhereWithoutEventsInput = { + where?: PlayerWhereInput + data: XOR + } + + export type PlayerUpdateWithoutEventsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + country?: CountryUpdateOneRequiredWithoutPlayersNestedInput + matchStats?: PlayerMatchStatUpdateManyWithoutPlayerNestedInput + teamPlayers?: TeamPlayerUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUpdateManyWithoutPlayerNestedInput + } + + export type PlayerUncheckedUpdateWithoutEventsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + countryId?: StringFieldUpdateOperationsInput | string + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + matchStats?: PlayerMatchStatUncheckedUpdateManyWithoutPlayerNestedInput + teamPlayers?: TeamPlayerUncheckedUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutPlayerNestedInput + } + + export type MatchCreateWithoutLineupsInput = { + id?: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + homeTeam: CountryCreateNestedOneWithoutHomeMatchesInput + awayTeam: CountryCreateNestedOneWithoutAwayMatchesInput + round?: RoundCreateNestedOneWithoutMatchesInput + playerStats?: PlayerMatchStatCreateNestedManyWithoutMatchInput + events?: MatchEventCreateNestedManyWithoutMatchInput + } + + export type MatchUncheckedCreateWithoutLineupsInput = { + id?: string + homeTeamId: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + playerStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutMatchInput + events?: MatchEventUncheckedCreateNestedManyWithoutMatchInput + } + + export type MatchCreateOrConnectWithoutLineupsInput = { + where: MatchWhereUniqueInput + create: XOR + } + + export type MatchUpsertWithoutLineupsInput = { + update: XOR + create: XOR + where?: MatchWhereInput + } + + export type MatchUpdateToOneWithWhereWithoutLineupsInput = { + where?: MatchWhereInput + data: XOR + } + + export type MatchUpdateWithoutLineupsInput = { + id?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + homeTeam?: CountryUpdateOneRequiredWithoutHomeMatchesNestedInput + awayTeam?: CountryUpdateOneRequiredWithoutAwayMatchesNestedInput + round?: RoundUpdateOneWithoutMatchesNestedInput + playerStats?: PlayerMatchStatUpdateManyWithoutMatchNestedInput + events?: MatchEventUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateWithoutLineupsInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + playerStats?: PlayerMatchStatUncheckedUpdateManyWithoutMatchNestedInput + events?: MatchEventUncheckedUpdateManyWithoutMatchNestedInput + } + + export type PlayerCreateWithoutMatchStatsInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + country: CountryCreateNestedOneWithoutPlayersInput + teamPlayers?: TeamPlayerCreateNestedManyWithoutPlayerInput + events?: MatchEventCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardCreateNestedManyWithoutPlayerInput + } + + export type PlayerUncheckedCreateWithoutMatchStatsInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + countryId: string + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + teamPlayers?: TeamPlayerUncheckedCreateNestedManyWithoutPlayerInput + events?: MatchEventUncheckedCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutPlayerInput + } + + export type PlayerCreateOrConnectWithoutMatchStatsInput = { + where: PlayerWhereUniqueInput + create: XOR + } + + export type MatchCreateWithoutPlayerStatsInput = { + id?: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + homeTeam: CountryCreateNestedOneWithoutHomeMatchesInput + awayTeam: CountryCreateNestedOneWithoutAwayMatchesInput + round?: RoundCreateNestedOneWithoutMatchesInput + events?: MatchEventCreateNestedManyWithoutMatchInput + lineups?: MatchLineupCreateNestedManyWithoutMatchInput + } + + export type MatchUncheckedCreateWithoutPlayerStatsInput = { + id?: string + homeTeamId: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + events?: MatchEventUncheckedCreateNestedManyWithoutMatchInput + lineups?: MatchLineupUncheckedCreateNestedManyWithoutMatchInput + } + + export type MatchCreateOrConnectWithoutPlayerStatsInput = { + where: MatchWhereUniqueInput + create: XOR + } + + export type PlayerUpsertWithoutMatchStatsInput = { + update: XOR + create: XOR + where?: PlayerWhereInput + } + + export type PlayerUpdateToOneWithWhereWithoutMatchStatsInput = { + where?: PlayerWhereInput + data: XOR + } + + export type PlayerUpdateWithoutMatchStatsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + country?: CountryUpdateOneRequiredWithoutPlayersNestedInput + teamPlayers?: TeamPlayerUpdateManyWithoutPlayerNestedInput + events?: MatchEventUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUpdateManyWithoutPlayerNestedInput + } + + export type PlayerUncheckedUpdateWithoutMatchStatsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + countryId?: StringFieldUpdateOperationsInput | string + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + teamPlayers?: TeamPlayerUncheckedUpdateManyWithoutPlayerNestedInput + events?: MatchEventUncheckedUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutPlayerNestedInput + } + + export type MatchUpsertWithoutPlayerStatsInput = { + update: XOR + create: XOR + where?: MatchWhereInput + } + + export type MatchUpdateToOneWithWhereWithoutPlayerStatsInput = { + where?: MatchWhereInput + data: XOR + } + + export type MatchUpdateWithoutPlayerStatsInput = { + id?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + homeTeam?: CountryUpdateOneRequiredWithoutHomeMatchesNestedInput + awayTeam?: CountryUpdateOneRequiredWithoutAwayMatchesNestedInput + round?: RoundUpdateOneWithoutMatchesNestedInput + events?: MatchEventUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateWithoutPlayerStatsInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + events?: MatchEventUncheckedUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUncheckedUpdateManyWithoutMatchNestedInput + } + + export type TeamCreateWithoutUserInput = { + id?: string + name: string + budget?: number + totalPoints?: number + formation?: string + status?: $Enums.TeamStatus + createdAt?: Date | string + players?: TeamPlayerCreateNestedManyWithoutTeamInput + } + + export type TeamUncheckedCreateWithoutUserInput = { + id?: string + name: string + budget?: number + totalPoints?: number + formation?: string + status?: $Enums.TeamStatus + createdAt?: Date | string + players?: TeamPlayerUncheckedCreateNestedManyWithoutTeamInput + } + + export type TeamCreateOrConnectWithoutUserInput = { + where: TeamWhereUniqueInput + create: XOR + } + + export type SessionCreateWithoutUserInput = { + id?: string + sessionToken: string + expires: Date | string + } + + export type SessionUncheckedCreateWithoutUserInput = { + id?: string + sessionToken: string + expires: Date | string + } + + export type SessionCreateOrConnectWithoutUserInput = { + where: SessionWhereUniqueInput + create: XOR + } + + export type SessionCreateManyUserInputEnvelope = { + data: SessionCreateManyUserInput | SessionCreateManyUserInput[] + skipDuplicates?: boolean + } + + export type PaymentCreateWithoutUserInput = { + id?: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + package: PackageCreateNestedOneWithoutPaymentsInput + } + + export type PaymentUncheckedCreateWithoutUserInput = { + id?: string + packageId: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + } + + export type PaymentCreateOrConnectWithoutUserInput = { + where: PaymentWhereUniqueInput + create: XOR + } + + export type PaymentCreateManyUserInputEnvelope = { + data: PaymentCreateManyUserInput | PaymentCreateManyUserInput[] + skipDuplicates?: boolean + } + + export type QuizSubmissionCreateWithoutUserInput = { + id?: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + quiz: DailyQuizCreateNestedOneWithoutSubmissionsInput + } + + export type QuizSubmissionUncheckedCreateWithoutUserInput = { + id?: string + quizId: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + } + + export type QuizSubmissionCreateOrConnectWithoutUserInput = { + where: QuizSubmissionWhereUniqueInput + create: XOR + } + + export type QuizSubmissionCreateManyUserInputEnvelope = { + data: QuizSubmissionCreateManyUserInput | QuizSubmissionCreateManyUserInput[] + skipDuplicates?: boolean + } + + export type GoldenCardCreateWithoutUserInput = { + id?: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + quiz?: DailyQuizCreateNestedOneWithoutAwardedCardsInput + player: PlayerCreateNestedOneWithoutGoldenCardsInput + teamPlayer?: TeamPlayerCreateNestedOneWithoutGoldenCardInput + } + + export type GoldenCardUncheckedCreateWithoutUserInput = { + id?: string + quizId?: string | null + playerId: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + teamPlayer?: TeamPlayerUncheckedCreateNestedOneWithoutGoldenCardInput + } + + export type GoldenCardCreateOrConnectWithoutUserInput = { + where: GoldenCardWhereUniqueInput + create: XOR + } + + export type GoldenCardCreateManyUserInputEnvelope = { + data: GoldenCardCreateManyUserInput | GoldenCardCreateManyUserInput[] + skipDuplicates?: boolean + } + + export type TeamUpsertWithoutUserInput = { + update: XOR + create: XOR + where?: TeamWhereInput + } + + export type TeamUpdateToOneWithWhereWithoutUserInput = { + where?: TeamWhereInput + data: XOR + } + + export type TeamUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budget?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + formation?: StringFieldUpdateOperationsInput | string + status?: EnumTeamStatusFieldUpdateOperationsInput | $Enums.TeamStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + players?: TeamPlayerUpdateManyWithoutTeamNestedInput + } + + export type TeamUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budget?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + formation?: StringFieldUpdateOperationsInput | string + status?: EnumTeamStatusFieldUpdateOperationsInput | $Enums.TeamStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + players?: TeamPlayerUncheckedUpdateManyWithoutTeamNestedInput + } + + export type SessionUpsertWithWhereUniqueWithoutUserInput = { + where: SessionWhereUniqueInput + update: XOR + create: XOR + } + + export type SessionUpdateWithWhereUniqueWithoutUserInput = { + where: SessionWhereUniqueInput + data: XOR + } + + export type SessionUpdateManyWithWhereWithoutUserInput = { + where: SessionScalarWhereInput + data: XOR + } + + export type SessionScalarWhereInput = { + AND?: SessionScalarWhereInput | SessionScalarWhereInput[] + OR?: SessionScalarWhereInput[] + NOT?: SessionScalarWhereInput | SessionScalarWhereInput[] + id?: StringFilter<"Session"> | string + sessionToken?: StringFilter<"Session"> | string + userId?: StringFilter<"Session"> | string + expires?: DateTimeFilter<"Session"> | Date | string + } + + export type PaymentUpsertWithWhereUniqueWithoutUserInput = { + where: PaymentWhereUniqueInput + update: XOR + create: XOR + } + + export type PaymentUpdateWithWhereUniqueWithoutUserInput = { + where: PaymentWhereUniqueInput + data: XOR + } + + export type PaymentUpdateManyWithWhereWithoutUserInput = { + where: PaymentScalarWhereInput + data: XOR + } + + export type PaymentScalarWhereInput = { + AND?: PaymentScalarWhereInput | PaymentScalarWhereInput[] + OR?: PaymentScalarWhereInput[] + NOT?: PaymentScalarWhereInput | PaymentScalarWhereInput[] + id?: StringFilter<"Payment"> | string + userId?: StringFilter<"Payment"> | string + packageId?: StringFilter<"Payment"> | string + amount?: IntFilter<"Payment"> | number + authority?: StringNullableFilter<"Payment"> | string | null + refId?: StringNullableFilter<"Payment"> | string | null + status?: EnumPaymentStatusFilter<"Payment"> | $Enums.PaymentStatus + createdAt?: DateTimeFilter<"Payment"> | Date | string + updatedAt?: DateTimeFilter<"Payment"> | Date | string + } + + export type QuizSubmissionUpsertWithWhereUniqueWithoutUserInput = { + where: QuizSubmissionWhereUniqueInput + update: XOR + create: XOR + } + + export type QuizSubmissionUpdateWithWhereUniqueWithoutUserInput = { + where: QuizSubmissionWhereUniqueInput + data: XOR + } + + export type QuizSubmissionUpdateManyWithWhereWithoutUserInput = { + where: QuizSubmissionScalarWhereInput + data: XOR + } + + export type QuizSubmissionScalarWhereInput = { + AND?: QuizSubmissionScalarWhereInput | QuizSubmissionScalarWhereInput[] + OR?: QuizSubmissionScalarWhereInput[] + NOT?: QuizSubmissionScalarWhereInput | QuizSubmissionScalarWhereInput[] + id?: StringFilter<"QuizSubmission"> | string + userId?: StringFilter<"QuizSubmission"> | string + quizId?: StringFilter<"QuizSubmission"> | string + answers?: IntNullableListFilter<"QuizSubmission"> + correctAnswers?: IntFilter<"QuizSubmission"> | number + score?: IntFilter<"QuizSubmission"> | number + submittedAt?: DateTimeFilter<"QuizSubmission"> | Date | string + } + + export type GoldenCardUpsertWithWhereUniqueWithoutUserInput = { + where: GoldenCardWhereUniqueInput + update: XOR + create: XOR + } + + export type GoldenCardUpdateWithWhereUniqueWithoutUserInput = { + where: GoldenCardWhereUniqueInput + data: XOR + } + + export type GoldenCardUpdateManyWithWhereWithoutUserInput = { + where: GoldenCardScalarWhereInput + data: XOR + } + + export type QuizQuestionCreateWithoutQuizInput = { + id?: string + questionText: string + options?: QuizQuestionCreateoptionsInput | string[] + correctAnswer: number + order?: number + } + + export type QuizQuestionUncheckedCreateWithoutQuizInput = { + id?: string + questionText: string + options?: QuizQuestionCreateoptionsInput | string[] + correctAnswer: number + order?: number + } + + export type QuizQuestionCreateOrConnectWithoutQuizInput = { + where: QuizQuestionWhereUniqueInput + create: XOR + } + + export type QuizQuestionCreateManyQuizInputEnvelope = { + data: QuizQuestionCreateManyQuizInput | QuizQuestionCreateManyQuizInput[] + skipDuplicates?: boolean + } + + export type QuizSubmissionCreateWithoutQuizInput = { + id?: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + user: UserCreateNestedOneWithoutQuizSubmissionsInput + } + + export type QuizSubmissionUncheckedCreateWithoutQuizInput = { + id?: string + userId: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + } + + export type QuizSubmissionCreateOrConnectWithoutQuizInput = { + where: QuizSubmissionWhereUniqueInput + create: XOR + } + + export type QuizSubmissionCreateManyQuizInputEnvelope = { + data: QuizSubmissionCreateManyQuizInput | QuizSubmissionCreateManyQuizInput[] + skipDuplicates?: boolean + } + + export type GoldenCardCreateWithoutQuizInput = { + id?: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + user: UserCreateNestedOneWithoutGoldenCardsInput + player: PlayerCreateNestedOneWithoutGoldenCardsInput + teamPlayer?: TeamPlayerCreateNestedOneWithoutGoldenCardInput + } + + export type GoldenCardUncheckedCreateWithoutQuizInput = { + id?: string + userId: string + playerId: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + teamPlayer?: TeamPlayerUncheckedCreateNestedOneWithoutGoldenCardInput + } + + export type GoldenCardCreateOrConnectWithoutQuizInput = { + where: GoldenCardWhereUniqueInput + create: XOR + } + + export type GoldenCardCreateManyQuizInputEnvelope = { + data: GoldenCardCreateManyQuizInput | GoldenCardCreateManyQuizInput[] + skipDuplicates?: boolean + } + + export type QuizQuestionUpsertWithWhereUniqueWithoutQuizInput = { + where: QuizQuestionWhereUniqueInput + update: XOR + create: XOR + } + + export type QuizQuestionUpdateWithWhereUniqueWithoutQuizInput = { + where: QuizQuestionWhereUniqueInput + data: XOR + } + + export type QuizQuestionUpdateManyWithWhereWithoutQuizInput = { + where: QuizQuestionScalarWhereInput + data: XOR + } + + export type QuizQuestionScalarWhereInput = { + AND?: QuizQuestionScalarWhereInput | QuizQuestionScalarWhereInput[] + OR?: QuizQuestionScalarWhereInput[] + NOT?: QuizQuestionScalarWhereInput | QuizQuestionScalarWhereInput[] + id?: StringFilter<"QuizQuestion"> | string + quizId?: StringFilter<"QuizQuestion"> | string + questionText?: StringFilter<"QuizQuestion"> | string + options?: StringNullableListFilter<"QuizQuestion"> + correctAnswer?: IntFilter<"QuizQuestion"> | number + order?: IntFilter<"QuizQuestion"> | number + } + + export type QuizSubmissionUpsertWithWhereUniqueWithoutQuizInput = { + where: QuizSubmissionWhereUniqueInput + update: XOR + create: XOR + } + + export type QuizSubmissionUpdateWithWhereUniqueWithoutQuizInput = { + where: QuizSubmissionWhereUniqueInput + data: XOR + } + + export type QuizSubmissionUpdateManyWithWhereWithoutQuizInput = { + where: QuizSubmissionScalarWhereInput + data: XOR + } + + export type GoldenCardUpsertWithWhereUniqueWithoutQuizInput = { + where: GoldenCardWhereUniqueInput + update: XOR + create: XOR + } + + export type GoldenCardUpdateWithWhereUniqueWithoutQuizInput = { + where: GoldenCardWhereUniqueInput + data: XOR + } + + export type GoldenCardUpdateManyWithWhereWithoutQuizInput = { + where: GoldenCardScalarWhereInput + data: XOR + } + + export type DailyQuizCreateWithoutQuestionsInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + submissions?: QuizSubmissionCreateNestedManyWithoutQuizInput + awardedCards?: GoldenCardCreateNestedManyWithoutQuizInput + } + + export type DailyQuizUncheckedCreateWithoutQuestionsInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + submissions?: QuizSubmissionUncheckedCreateNestedManyWithoutQuizInput + awardedCards?: GoldenCardUncheckedCreateNestedManyWithoutQuizInput + } + + export type DailyQuizCreateOrConnectWithoutQuestionsInput = { + where: DailyQuizWhereUniqueInput + create: XOR + } + + export type DailyQuizUpsertWithoutQuestionsInput = { + update: XOR + create: XOR + where?: DailyQuizWhereInput + } + + export type DailyQuizUpdateToOneWithWhereWithoutQuestionsInput = { + where?: DailyQuizWhereInput + data: XOR + } + + export type DailyQuizUpdateWithoutQuestionsInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + submissions?: QuizSubmissionUpdateManyWithoutQuizNestedInput + awardedCards?: GoldenCardUpdateManyWithoutQuizNestedInput + } + + export type DailyQuizUncheckedUpdateWithoutQuestionsInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + submissions?: QuizSubmissionUncheckedUpdateManyWithoutQuizNestedInput + awardedCards?: GoldenCardUncheckedUpdateManyWithoutQuizNestedInput + } + + export type UserCreateWithoutQuizSubmissionsInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamCreateNestedOneWithoutUserInput + sessions?: SessionCreateNestedManyWithoutUserInput + payments?: PaymentCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardCreateNestedManyWithoutUserInput + } + + export type UserUncheckedCreateWithoutQuizSubmissionsInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamUncheckedCreateNestedOneWithoutUserInput + sessions?: SessionUncheckedCreateNestedManyWithoutUserInput + payments?: PaymentUncheckedCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutUserInput + } + + export type UserCreateOrConnectWithoutQuizSubmissionsInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type DailyQuizCreateWithoutSubmissionsInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + questions?: QuizQuestionCreateNestedManyWithoutQuizInput + awardedCards?: GoldenCardCreateNestedManyWithoutQuizInput + } + + export type DailyQuizUncheckedCreateWithoutSubmissionsInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + questions?: QuizQuestionUncheckedCreateNestedManyWithoutQuizInput + awardedCards?: GoldenCardUncheckedCreateNestedManyWithoutQuizInput + } + + export type DailyQuizCreateOrConnectWithoutSubmissionsInput = { + where: DailyQuizWhereUniqueInput + create: XOR + } + + export type UserUpsertWithoutQuizSubmissionsInput = { + update: XOR + create: XOR + where?: UserWhereInput + } + + export type UserUpdateToOneWithWhereWithoutQuizSubmissionsInput = { + where?: UserWhereInput + data: XOR + } + + export type UserUpdateWithoutQuizSubmissionsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUpdateOneWithoutUserNestedInput + sessions?: SessionUpdateManyWithoutUserNestedInput + payments?: PaymentUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUpdateManyWithoutUserNestedInput + } + + export type UserUncheckedUpdateWithoutQuizSubmissionsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUncheckedUpdateOneWithoutUserNestedInput + sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput + payments?: PaymentUncheckedUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutUserNestedInput + } + + export type DailyQuizUpsertWithoutSubmissionsInput = { + update: XOR + create: XOR + where?: DailyQuizWhereInput + } + + export type DailyQuizUpdateToOneWithWhereWithoutSubmissionsInput = { + where?: DailyQuizWhereInput + data: XOR + } + + export type DailyQuizUpdateWithoutSubmissionsInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + questions?: QuizQuestionUpdateManyWithoutQuizNestedInput + awardedCards?: GoldenCardUpdateManyWithoutQuizNestedInput + } + + export type DailyQuizUncheckedUpdateWithoutSubmissionsInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + questions?: QuizQuestionUncheckedUpdateManyWithoutQuizNestedInput + awardedCards?: GoldenCardUncheckedUpdateManyWithoutQuizNestedInput + } + + export type UserCreateWithoutGoldenCardsInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamCreateNestedOneWithoutUserInput + sessions?: SessionCreateNestedManyWithoutUserInput + payments?: PaymentCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionCreateNestedManyWithoutUserInput + } + + export type UserUncheckedCreateWithoutGoldenCardsInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamUncheckedCreateNestedOneWithoutUserInput + sessions?: SessionUncheckedCreateNestedManyWithoutUserInput + payments?: PaymentUncheckedCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionUncheckedCreateNestedManyWithoutUserInput + } + + export type UserCreateOrConnectWithoutGoldenCardsInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type DailyQuizCreateWithoutAwardedCardsInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + questions?: QuizQuestionCreateNestedManyWithoutQuizInput + submissions?: QuizSubmissionCreateNestedManyWithoutQuizInput + } + + export type DailyQuizUncheckedCreateWithoutAwardedCardsInput = { + id?: string + date: Date | string + windowStart: Date | string + windowEnd: Date | string + goldWinnersCount?: number + silverWinnersCount?: number + bronzeWinnersCount?: number + goldMinCorrect?: number | null + silverMinCorrect?: number | null + bronzeMinCorrect?: number | null + isProcessed?: boolean + createdAt?: Date | string + questions?: QuizQuestionUncheckedCreateNestedManyWithoutQuizInput + submissions?: QuizSubmissionUncheckedCreateNestedManyWithoutQuizInput + } + + export type DailyQuizCreateOrConnectWithoutAwardedCardsInput = { + where: DailyQuizWhereUniqueInput + create: XOR + } + + export type PlayerCreateWithoutGoldenCardsInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + country: CountryCreateNestedOneWithoutPlayersInput + matchStats?: PlayerMatchStatCreateNestedManyWithoutPlayerInput + teamPlayers?: TeamPlayerCreateNestedManyWithoutPlayerInput + events?: MatchEventCreateNestedManyWithoutPlayerInput + } + + export type PlayerUncheckedCreateWithoutGoldenCardsInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + countryId: string + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + matchStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutPlayerInput + teamPlayers?: TeamPlayerUncheckedCreateNestedManyWithoutPlayerInput + events?: MatchEventUncheckedCreateNestedManyWithoutPlayerInput + } + + export type PlayerCreateOrConnectWithoutGoldenCardsInput = { + where: PlayerWhereUniqueInput + create: XOR + } + + export type TeamPlayerCreateWithoutGoldenCardInput = { + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + team: TeamCreateNestedOneWithoutPlayersInput + player: PlayerCreateNestedOneWithoutTeamPlayersInput + } + + export type TeamPlayerUncheckedCreateWithoutGoldenCardInput = { + teamId: string + playerId: string + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + } + + export type TeamPlayerCreateOrConnectWithoutGoldenCardInput = { + where: TeamPlayerWhereUniqueInput + create: XOR + } + + export type UserUpsertWithoutGoldenCardsInput = { + update: XOR + create: XOR + where?: UserWhereInput + } + + export type UserUpdateToOneWithWhereWithoutGoldenCardsInput = { + where?: UserWhereInput + data: XOR + } + + export type UserUpdateWithoutGoldenCardsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUpdateOneWithoutUserNestedInput + sessions?: SessionUpdateManyWithoutUserNestedInput + payments?: PaymentUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUpdateManyWithoutUserNestedInput + } + + export type UserUncheckedUpdateWithoutGoldenCardsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUncheckedUpdateOneWithoutUserNestedInput + sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput + payments?: PaymentUncheckedUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUncheckedUpdateManyWithoutUserNestedInput + } + + export type DailyQuizUpsertWithoutAwardedCardsInput = { + update: XOR + create: XOR + where?: DailyQuizWhereInput + } + + export type DailyQuizUpdateToOneWithWhereWithoutAwardedCardsInput = { + where?: DailyQuizWhereInput + data: XOR + } + + export type DailyQuizUpdateWithoutAwardedCardsInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + questions?: QuizQuestionUpdateManyWithoutQuizNestedInput + submissions?: QuizSubmissionUpdateManyWithoutQuizNestedInput + } + + export type DailyQuizUncheckedUpdateWithoutAwardedCardsInput = { + id?: StringFieldUpdateOperationsInput | string + date?: DateTimeFieldUpdateOperationsInput | Date | string + windowStart?: DateTimeFieldUpdateOperationsInput | Date | string + windowEnd?: DateTimeFieldUpdateOperationsInput | Date | string + goldWinnersCount?: IntFieldUpdateOperationsInput | number + silverWinnersCount?: IntFieldUpdateOperationsInput | number + bronzeWinnersCount?: IntFieldUpdateOperationsInput | number + goldMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + silverMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + bronzeMinCorrect?: NullableIntFieldUpdateOperationsInput | number | null + isProcessed?: BoolFieldUpdateOperationsInput | boolean + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + questions?: QuizQuestionUncheckedUpdateManyWithoutQuizNestedInput + submissions?: QuizSubmissionUncheckedUpdateManyWithoutQuizNestedInput + } + + export type PlayerUpsertWithoutGoldenCardsInput = { + update: XOR + create: XOR + where?: PlayerWhereInput + } + + export type PlayerUpdateToOneWithWhereWithoutGoldenCardsInput = { + where?: PlayerWhereInput + data: XOR + } + + export type PlayerUpdateWithoutGoldenCardsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + country?: CountryUpdateOneRequiredWithoutPlayersNestedInput + matchStats?: PlayerMatchStatUpdateManyWithoutPlayerNestedInput + teamPlayers?: TeamPlayerUpdateManyWithoutPlayerNestedInput + events?: MatchEventUpdateManyWithoutPlayerNestedInput + } + + export type PlayerUncheckedUpdateWithoutGoldenCardsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + countryId?: StringFieldUpdateOperationsInput | string + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + matchStats?: PlayerMatchStatUncheckedUpdateManyWithoutPlayerNestedInput + teamPlayers?: TeamPlayerUncheckedUpdateManyWithoutPlayerNestedInput + events?: MatchEventUncheckedUpdateManyWithoutPlayerNestedInput + } + + export type TeamPlayerUpsertWithoutGoldenCardInput = { + update: XOR + create: XOR + where?: TeamPlayerWhereInput + } + + export type TeamPlayerUpdateToOneWithWhereWithoutGoldenCardInput = { + where?: TeamPlayerWhereInput + data: XOR + } + + export type TeamPlayerUpdateWithoutGoldenCardInput = { + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + team?: TeamUpdateOneRequiredWithoutPlayersNestedInput + player?: PlayerUpdateOneRequiredWithoutTeamPlayersNestedInput + } + + export type TeamPlayerUncheckedUpdateWithoutGoldenCardInput = { + teamId?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + } + + export type UserCreateWithoutSessionsInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamCreateNestedOneWithoutUserInput + payments?: PaymentCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardCreateNestedManyWithoutUserInput + } + + export type UserUncheckedCreateWithoutSessionsInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamUncheckedCreateNestedOneWithoutUserInput + payments?: PaymentUncheckedCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionUncheckedCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutUserInput + } + + export type UserCreateOrConnectWithoutSessionsInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type UserUpsertWithoutSessionsInput = { + update: XOR + create: XOR + where?: UserWhereInput + } + + export type UserUpdateToOneWithWhereWithoutSessionsInput = { + where?: UserWhereInput + data: XOR + } + + export type UserUpdateWithoutSessionsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUpdateOneWithoutUserNestedInput + payments?: PaymentUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUpdateManyWithoutUserNestedInput + } + + export type UserUncheckedUpdateWithoutSessionsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUncheckedUpdateOneWithoutUserNestedInput + payments?: PaymentUncheckedUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUncheckedUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutUserNestedInput + } + + export type UserCreateWithoutTeamInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + sessions?: SessionCreateNestedManyWithoutUserInput + payments?: PaymentCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardCreateNestedManyWithoutUserInput + } + + export type UserUncheckedCreateWithoutTeamInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + sessions?: SessionUncheckedCreateNestedManyWithoutUserInput + payments?: PaymentUncheckedCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionUncheckedCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutUserInput + } + + export type UserCreateOrConnectWithoutTeamInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type TeamPlayerCreateWithoutTeamInput = { + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + player: PlayerCreateNestedOneWithoutTeamPlayersInput + goldenCard?: GoldenCardCreateNestedOneWithoutTeamPlayerInput + } + + export type TeamPlayerUncheckedCreateWithoutTeamInput = { + playerId: string + goldenCardId?: string | null + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + } + + export type TeamPlayerCreateOrConnectWithoutTeamInput = { + where: TeamPlayerWhereUniqueInput + create: XOR + } + + export type TeamPlayerCreateManyTeamInputEnvelope = { + data: TeamPlayerCreateManyTeamInput | TeamPlayerCreateManyTeamInput[] + skipDuplicates?: boolean + } + + export type UserUpsertWithoutTeamInput = { + update: XOR + create: XOR + where?: UserWhereInput + } + + export type UserUpdateToOneWithWhereWithoutTeamInput = { + where?: UserWhereInput + data: XOR + } + + export type UserUpdateWithoutTeamInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + sessions?: SessionUpdateManyWithoutUserNestedInput + payments?: PaymentUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUpdateManyWithoutUserNestedInput + } + + export type UserUncheckedUpdateWithoutTeamInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput + payments?: PaymentUncheckedUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUncheckedUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutUserNestedInput + } + + export type TeamPlayerUpsertWithWhereUniqueWithoutTeamInput = { + where: TeamPlayerWhereUniqueInput + update: XOR + create: XOR + } + + export type TeamPlayerUpdateWithWhereUniqueWithoutTeamInput = { + where: TeamPlayerWhereUniqueInput + data: XOR + } + + export type TeamPlayerUpdateManyWithWhereWithoutTeamInput = { + where: TeamPlayerScalarWhereInput + data: XOR + } + + export type TeamCreateWithoutPlayersInput = { + id?: string + name: string + budget?: number + totalPoints?: number + formation?: string + status?: $Enums.TeamStatus + createdAt?: Date | string + user: UserCreateNestedOneWithoutTeamInput + } + + export type TeamUncheckedCreateWithoutPlayersInput = { + id?: string + name: string + userId: string + budget?: number + totalPoints?: number + formation?: string + status?: $Enums.TeamStatus + createdAt?: Date | string + } + + export type TeamCreateOrConnectWithoutPlayersInput = { + where: TeamWhereUniqueInput + create: XOR + } + + export type PlayerCreateWithoutTeamPlayersInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + country: CountryCreateNestedOneWithoutPlayersInput + matchStats?: PlayerMatchStatCreateNestedManyWithoutPlayerInput + events?: MatchEventCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardCreateNestedManyWithoutPlayerInput + } + + export type PlayerUncheckedCreateWithoutTeamPlayersInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + countryId: string + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + matchStats?: PlayerMatchStatUncheckedCreateNestedManyWithoutPlayerInput + events?: MatchEventUncheckedCreateNestedManyWithoutPlayerInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutPlayerInput + } + + export type PlayerCreateOrConnectWithoutTeamPlayersInput = { + where: PlayerWhereUniqueInput + create: XOR + } + + export type GoldenCardCreateWithoutTeamPlayerInput = { + id?: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + user: UserCreateNestedOneWithoutGoldenCardsInput + quiz?: DailyQuizCreateNestedOneWithoutAwardedCardsInput + player: PlayerCreateNestedOneWithoutGoldenCardsInput + } + + export type GoldenCardUncheckedCreateWithoutTeamPlayerInput = { + id?: string + userId: string + quizId?: string | null + playerId: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + } + + export type GoldenCardCreateOrConnectWithoutTeamPlayerInput = { + where: GoldenCardWhereUniqueInput + create: XOR + } + + export type TeamUpsertWithoutPlayersInput = { + update: XOR + create: XOR + where?: TeamWhereInput + } + + export type TeamUpdateToOneWithWhereWithoutPlayersInput = { + where?: TeamWhereInput + data: XOR + } + + export type TeamUpdateWithoutPlayersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budget?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + formation?: StringFieldUpdateOperationsInput | string + status?: EnumTeamStatusFieldUpdateOperationsInput | $Enums.TeamStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutTeamNestedInput + } + + export type TeamUncheckedUpdateWithoutPlayersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + budget?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + formation?: StringFieldUpdateOperationsInput | string + status?: EnumTeamStatusFieldUpdateOperationsInput | $Enums.TeamStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PlayerUpsertWithoutTeamPlayersInput = { + update: XOR + create: XOR + where?: PlayerWhereInput + } + + export type PlayerUpdateToOneWithWhereWithoutTeamPlayersInput = { + where?: PlayerWhereInput + data: XOR + } + + export type PlayerUpdateWithoutTeamPlayersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + country?: CountryUpdateOneRequiredWithoutPlayersNestedInput + matchStats?: PlayerMatchStatUpdateManyWithoutPlayerNestedInput + events?: MatchEventUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUpdateManyWithoutPlayerNestedInput + } + + export type PlayerUncheckedUpdateWithoutTeamPlayersInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + countryId?: StringFieldUpdateOperationsInput | string + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + matchStats?: PlayerMatchStatUncheckedUpdateManyWithoutPlayerNestedInput + events?: MatchEventUncheckedUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutPlayerNestedInput + } + + export type GoldenCardUpsertWithoutTeamPlayerInput = { + update: XOR + create: XOR + where?: GoldenCardWhereInput + } + + export type GoldenCardUpdateToOneWithWhereWithoutTeamPlayerInput = { + where?: GoldenCardWhereInput + data: XOR + } + + export type GoldenCardUpdateWithoutTeamPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + user?: UserUpdateOneRequiredWithoutGoldenCardsNestedInput + quiz?: DailyQuizUpdateOneWithoutAwardedCardsNestedInput + player?: PlayerUpdateOneRequiredWithoutGoldenCardsNestedInput + } + + export type GoldenCardUncheckedUpdateWithoutTeamPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + quizId?: NullableStringFieldUpdateOperationsInput | string | null + playerId?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type PaymentCreateWithoutPackageInput = { + id?: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + user: UserCreateNestedOneWithoutPaymentsInput + } + + export type PaymentUncheckedCreateWithoutPackageInput = { + id?: string + userId: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + } + + export type PaymentCreateOrConnectWithoutPackageInput = { + where: PaymentWhereUniqueInput + create: XOR + } + + export type PaymentCreateManyPackageInputEnvelope = { + data: PaymentCreateManyPackageInput | PaymentCreateManyPackageInput[] + skipDuplicates?: boolean + } + + export type PaymentUpsertWithWhereUniqueWithoutPackageInput = { + where: PaymentWhereUniqueInput + update: XOR + create: XOR + } + + export type PaymentUpdateWithWhereUniqueWithoutPackageInput = { + where: PaymentWhereUniqueInput + data: XOR + } + + export type PaymentUpdateManyWithWhereWithoutPackageInput = { + where: PaymentScalarWhereInput + data: XOR + } + + export type UserCreateWithoutPaymentsInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamCreateNestedOneWithoutUserInput + sessions?: SessionCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardCreateNestedManyWithoutUserInput + } + + export type UserUncheckedCreateWithoutPaymentsInput = { + id?: string + name?: string | null + email: string + phone?: string | null + password: string + role?: $Enums.Role + createdAt?: Date | string + team?: TeamUncheckedCreateNestedOneWithoutUserInput + sessions?: SessionUncheckedCreateNestedManyWithoutUserInput + quizSubmissions?: QuizSubmissionUncheckedCreateNestedManyWithoutUserInput + goldenCards?: GoldenCardUncheckedCreateNestedManyWithoutUserInput + } + + export type UserCreateOrConnectWithoutPaymentsInput = { + where: UserWhereUniqueInput + create: XOR + } + + export type PackageCreateWithoutPaymentsInput = { + id?: string + name: string + budgetBonus: number + price: number + description?: string | null + isActive?: boolean + } + + export type PackageUncheckedCreateWithoutPaymentsInput = { + id?: string + name: string + budgetBonus: number + price: number + description?: string | null + isActive?: boolean + } + + export type PackageCreateOrConnectWithoutPaymentsInput = { + where: PackageWhereUniqueInput + create: XOR + } + + export type UserUpsertWithoutPaymentsInput = { + update: XOR + create: XOR + where?: UserWhereInput + } + + export type UserUpdateToOneWithWhereWithoutPaymentsInput = { + where?: UserWhereInput + data: XOR + } + + export type UserUpdateWithoutPaymentsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUpdateOneWithoutUserNestedInput + sessions?: SessionUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUpdateManyWithoutUserNestedInput + } + + export type UserUncheckedUpdateWithoutPaymentsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: NullableStringFieldUpdateOperationsInput | string | null + email?: StringFieldUpdateOperationsInput | string + phone?: NullableStringFieldUpdateOperationsInput | string | null + password?: StringFieldUpdateOperationsInput | string + role?: EnumRoleFieldUpdateOperationsInput | $Enums.Role + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + team?: TeamUncheckedUpdateOneWithoutUserNestedInput + sessions?: SessionUncheckedUpdateManyWithoutUserNestedInput + quizSubmissions?: QuizSubmissionUncheckedUpdateManyWithoutUserNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutUserNestedInput + } + + export type PackageUpsertWithoutPaymentsInput = { + update: XOR + create: XOR + where?: PackageWhereInput + } + + export type PackageUpdateToOneWithWhereWithoutPaymentsInput = { + where?: PackageWhereInput + data: XOR + } + + export type PackageUpdateWithoutPaymentsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budgetBonus?: FloatFieldUpdateOperationsInput | number + price?: IntFieldUpdateOperationsInput | number + description?: NullableStringFieldUpdateOperationsInput | string | null + isActive?: BoolFieldUpdateOperationsInput | boolean + } + + export type PackageUncheckedUpdateWithoutPaymentsInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + budgetBonus?: FloatFieldUpdateOperationsInput | number + price?: IntFieldUpdateOperationsInput | number + description?: NullableStringFieldUpdateOperationsInput | string | null + isActive?: BoolFieldUpdateOperationsInput | boolean + } + + export type PlayerCreateManyCountryInput = { + id?: string + name: string + image?: string | null + position: $Enums.Position + price?: number + totalPoints?: number + isActive?: boolean + isGoldenCardEligible?: boolean + cardTier?: $Enums.CardTier + createdAt?: Date | string + updatedAt?: Date | string + } + + export type MatchCreateManyHomeTeamInput = { + id?: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + } + + export type MatchCreateManyAwayTeamInput = { + id?: string + homeTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + roundId?: string | null + createdAt?: Date | string + } + + export type PlayerUpdateWithoutCountryInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + matchStats?: PlayerMatchStatUpdateManyWithoutPlayerNestedInput + teamPlayers?: TeamPlayerUpdateManyWithoutPlayerNestedInput + events?: MatchEventUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUpdateManyWithoutPlayerNestedInput + } + + export type PlayerUncheckedUpdateWithoutCountryInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + matchStats?: PlayerMatchStatUncheckedUpdateManyWithoutPlayerNestedInput + teamPlayers?: TeamPlayerUncheckedUpdateManyWithoutPlayerNestedInput + events?: MatchEventUncheckedUpdateManyWithoutPlayerNestedInput + goldenCards?: GoldenCardUncheckedUpdateManyWithoutPlayerNestedInput + } + + export type PlayerUncheckedUpdateManyWithoutCountryInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + image?: NullableStringFieldUpdateOperationsInput | string | null + position?: EnumPositionFieldUpdateOperationsInput | $Enums.Position + price?: FloatFieldUpdateOperationsInput | number + totalPoints?: IntFieldUpdateOperationsInput | number + isActive?: BoolFieldUpdateOperationsInput | boolean + isGoldenCardEligible?: BoolFieldUpdateOperationsInput | boolean + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchUpdateWithoutHomeTeamInput = { + id?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + awayTeam?: CountryUpdateOneRequiredWithoutAwayMatchesNestedInput + round?: RoundUpdateOneWithoutMatchesNestedInput + playerStats?: PlayerMatchStatUpdateManyWithoutMatchNestedInput + events?: MatchEventUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateWithoutHomeTeamInput = { + id?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + playerStats?: PlayerMatchStatUncheckedUpdateManyWithoutMatchNestedInput + events?: MatchEventUncheckedUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUncheckedUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateManyWithoutHomeTeamInput = { + id?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchUpdateWithoutAwayTeamInput = { + id?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + homeTeam?: CountryUpdateOneRequiredWithoutHomeMatchesNestedInput + round?: RoundUpdateOneWithoutMatchesNestedInput + playerStats?: PlayerMatchStatUpdateManyWithoutMatchNestedInput + events?: MatchEventUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateWithoutAwayTeamInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + playerStats?: PlayerMatchStatUncheckedUpdateManyWithoutMatchNestedInput + events?: MatchEventUncheckedUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUncheckedUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateManyWithoutAwayTeamInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + roundId?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type CountryCreateManyGroupInput = { + id?: string + name: string + code: string + flagUrl?: string | null + flagImage?: string | null + confederation?: string | null + qualificationMethod?: string | null + qualificationDate?: string | null + participationHistory?: string | null + bestResult?: string | null + description?: string | null + defaultFormation?: string + defaultLineupPlayerIds?: CountryCreatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: string | null + isEliminated?: boolean + } + + export type CountryUpdateWithoutGroupInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + players?: PlayerUpdateManyWithoutCountryNestedInput + homeMatches?: MatchUpdateManyWithoutHomeTeamNestedInput + awayMatches?: MatchUpdateManyWithoutAwayTeamNestedInput + } + + export type CountryUncheckedUpdateWithoutGroupInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + players?: PlayerUncheckedUpdateManyWithoutCountryNestedInput + homeMatches?: MatchUncheckedUpdateManyWithoutHomeTeamNestedInput + awayMatches?: MatchUncheckedUpdateManyWithoutAwayTeamNestedInput + } + + export type CountryUncheckedUpdateManyWithoutGroupInput = { + id?: StringFieldUpdateOperationsInput | string + name?: StringFieldUpdateOperationsInput | string + code?: StringFieldUpdateOperationsInput | string + flagUrl?: NullableStringFieldUpdateOperationsInput | string | null + flagImage?: NullableStringFieldUpdateOperationsInput | string | null + confederation?: NullableStringFieldUpdateOperationsInput | string | null + qualificationMethod?: NullableStringFieldUpdateOperationsInput | string | null + qualificationDate?: NullableStringFieldUpdateOperationsInput | string | null + participationHistory?: NullableStringFieldUpdateOperationsInput | string | null + bestResult?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + defaultFormation?: StringFieldUpdateOperationsInput | string + defaultLineupPlayerIds?: CountryUpdatedefaultLineupPlayerIdsInput | string[] + defaultCaptainId?: NullableStringFieldUpdateOperationsInput | string | null + isEliminated?: BoolFieldUpdateOperationsInput | boolean + } + + export type PlayerMatchStatCreateManyPlayerInput = { + id?: string + matchId: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + } + + export type TeamPlayerCreateManyPlayerInput = { + teamId: string + goldenCardId?: string | null + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + } + + export type MatchEventCreateManyPlayerInput = { + id?: string + matchId: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + } + + export type GoldenCardCreateManyPlayerInput = { + id?: string + userId: string + quizId?: string | null + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + } + + export type PlayerMatchStatUpdateWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + match?: MatchUpdateOneRequiredWithoutPlayerStatsNestedInput + } + + export type PlayerMatchStatUncheckedUpdateWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + } + + export type PlayerMatchStatUncheckedUpdateManyWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + } + + export type TeamPlayerUpdateWithoutPlayerInput = { + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + team?: TeamUpdateOneRequiredWithoutPlayersNestedInput + goldenCard?: GoldenCardUpdateOneWithoutTeamPlayerNestedInput + } + + export type TeamPlayerUncheckedUpdateWithoutPlayerInput = { + teamId?: StringFieldUpdateOperationsInput | string + goldenCardId?: NullableStringFieldUpdateOperationsInput | string | null + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + } + + export type TeamPlayerUncheckedUpdateManyWithoutPlayerInput = { + teamId?: StringFieldUpdateOperationsInput | string + goldenCardId?: NullableStringFieldUpdateOperationsInput | string | null + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + } + + export type MatchEventUpdateWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + match?: MatchUpdateOneRequiredWithoutEventsNestedInput + } + + export type MatchEventUncheckedUpdateWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchEventUncheckedUpdateManyWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + matchId?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type GoldenCardUpdateWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + user?: UserUpdateOneRequiredWithoutGoldenCardsNestedInput + quiz?: DailyQuizUpdateOneWithoutAwardedCardsNestedInput + teamPlayer?: TeamPlayerUpdateOneWithoutGoldenCardNestedInput + } + + export type GoldenCardUncheckedUpdateWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + quizId?: NullableStringFieldUpdateOperationsInput | string | null + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + teamPlayer?: TeamPlayerUncheckedUpdateOneWithoutGoldenCardNestedInput + } + + export type GoldenCardUncheckedUpdateManyWithoutPlayerInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + quizId?: NullableStringFieldUpdateOperationsInput | string | null + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type PlayerMatchStatCreateManyMatchInput = { + id?: string + playerId: string + goals?: number + assists?: number + yellowCards?: number + redCards?: number + minutesPlayed?: number + cleanSheet?: boolean + penaltySaved?: number + penaltyMissed?: number + ownGoals?: number + isMotm?: boolean + extraTimeBonus?: number + points?: number + } + + export type MatchEventCreateManyMatchInput = { + id?: string + playerId: string + type: $Enums.EventType + minute?: number | null + extraInfo?: string | null + createdAt?: Date | string + } + + export type MatchLineupCreateManyMatchInput = { + id?: string + countryId: string + formation: string + playerIds?: MatchLineupCreateplayerIdsInput | string[] + } + + export type PlayerMatchStatUpdateWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + player?: PlayerUpdateOneRequiredWithoutMatchStatsNestedInput + } + + export type PlayerMatchStatUncheckedUpdateWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + } + + export type PlayerMatchStatUncheckedUpdateManyWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + goals?: IntFieldUpdateOperationsInput | number + assists?: IntFieldUpdateOperationsInput | number + yellowCards?: IntFieldUpdateOperationsInput | number + redCards?: IntFieldUpdateOperationsInput | number + minutesPlayed?: IntFieldUpdateOperationsInput | number + cleanSheet?: BoolFieldUpdateOperationsInput | boolean + penaltySaved?: IntFieldUpdateOperationsInput | number + penaltyMissed?: IntFieldUpdateOperationsInput | number + ownGoals?: IntFieldUpdateOperationsInput | number + isMotm?: BoolFieldUpdateOperationsInput | boolean + extraTimeBonus?: IntFieldUpdateOperationsInput | number + points?: IntFieldUpdateOperationsInput | number + } + + export type MatchEventUpdateWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + player?: PlayerUpdateOneRequiredWithoutEventsNestedInput + } + + export type MatchEventUncheckedUpdateWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchEventUncheckedUpdateManyWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + type?: EnumEventTypeFieldUpdateOperationsInput | $Enums.EventType + minute?: NullableIntFieldUpdateOperationsInput | number | null + extraInfo?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type MatchLineupUpdateWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + countryId?: StringFieldUpdateOperationsInput | string + formation?: StringFieldUpdateOperationsInput | string + playerIds?: MatchLineupUpdateplayerIdsInput | string[] + } + + export type MatchLineupUncheckedUpdateWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + countryId?: StringFieldUpdateOperationsInput | string + formation?: StringFieldUpdateOperationsInput | string + playerIds?: MatchLineupUpdateplayerIdsInput | string[] + } + + export type MatchLineupUncheckedUpdateManyWithoutMatchInput = { + id?: StringFieldUpdateOperationsInput | string + countryId?: StringFieldUpdateOperationsInput | string + formation?: StringFieldUpdateOperationsInput | string + playerIds?: MatchLineupUpdateplayerIdsInput | string[] + } + + export type MatchCreateManyRoundInput = { + id?: string + homeTeamId: string + awayTeamId: string + homeScore?: number | null + awayScore?: number | null + stage?: $Enums.MatchStage + status?: $Enums.MatchStatus + matchDate: Date | string + matchDatePersian?: string | null + stadium?: string | null + city?: string | null + referee?: string | null + assistant1?: string | null + assistant2?: string | null + fourthOfficial?: string | null + attendance?: number | null + weather?: string | null + description?: string | null + createdAt?: Date | string + } + + export type MatchUpdateWithoutRoundInput = { + id?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + homeTeam?: CountryUpdateOneRequiredWithoutHomeMatchesNestedInput + awayTeam?: CountryUpdateOneRequiredWithoutAwayMatchesNestedInput + playerStats?: PlayerMatchStatUpdateManyWithoutMatchNestedInput + events?: MatchEventUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateWithoutRoundInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + playerStats?: PlayerMatchStatUncheckedUpdateManyWithoutMatchNestedInput + events?: MatchEventUncheckedUpdateManyWithoutMatchNestedInput + lineups?: MatchLineupUncheckedUpdateManyWithoutMatchNestedInput + } + + export type MatchUncheckedUpdateManyWithoutRoundInput = { + id?: StringFieldUpdateOperationsInput | string + homeTeamId?: StringFieldUpdateOperationsInput | string + awayTeamId?: StringFieldUpdateOperationsInput | string + homeScore?: NullableIntFieldUpdateOperationsInput | number | null + awayScore?: NullableIntFieldUpdateOperationsInput | number | null + stage?: EnumMatchStageFieldUpdateOperationsInput | $Enums.MatchStage + status?: EnumMatchStatusFieldUpdateOperationsInput | $Enums.MatchStatus + matchDate?: DateTimeFieldUpdateOperationsInput | Date | string + matchDatePersian?: NullableStringFieldUpdateOperationsInput | string | null + stadium?: NullableStringFieldUpdateOperationsInput | string | null + city?: NullableStringFieldUpdateOperationsInput | string | null + referee?: NullableStringFieldUpdateOperationsInput | string | null + assistant1?: NullableStringFieldUpdateOperationsInput | string | null + assistant2?: NullableStringFieldUpdateOperationsInput | string | null + fourthOfficial?: NullableStringFieldUpdateOperationsInput | string | null + attendance?: NullableIntFieldUpdateOperationsInput | number | null + weather?: NullableStringFieldUpdateOperationsInput | string | null + description?: NullableStringFieldUpdateOperationsInput | string | null + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type SessionCreateManyUserInput = { + id?: string + sessionToken: string + expires: Date | string + } + + export type PaymentCreateManyUserInput = { + id?: string + packageId: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + } + + export type QuizSubmissionCreateManyUserInput = { + id?: string + quizId: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + } + + export type GoldenCardCreateManyUserInput = { + id?: string + quizId?: string | null + playerId: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + } + + export type SessionUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + sessionToken?: StringFieldUpdateOperationsInput | string + expires?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type SessionUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + sessionToken?: StringFieldUpdateOperationsInput | string + expires?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type SessionUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + sessionToken?: StringFieldUpdateOperationsInput | string + expires?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PaymentUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + package?: PackageUpdateOneRequiredWithoutPaymentsNestedInput + } + + export type PaymentUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + packageId?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PaymentUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + packageId?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type QuizSubmissionUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + quiz?: DailyQuizUpdateOneRequiredWithoutSubmissionsNestedInput + } + + export type QuizSubmissionUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + quizId?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type QuizSubmissionUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + quizId?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type GoldenCardUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + quiz?: DailyQuizUpdateOneWithoutAwardedCardsNestedInput + player?: PlayerUpdateOneRequiredWithoutGoldenCardsNestedInput + teamPlayer?: TeamPlayerUpdateOneWithoutGoldenCardNestedInput + } + + export type GoldenCardUncheckedUpdateWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + quizId?: NullableStringFieldUpdateOperationsInput | string | null + playerId?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + teamPlayer?: TeamPlayerUncheckedUpdateOneWithoutGoldenCardNestedInput + } + + export type GoldenCardUncheckedUpdateManyWithoutUserInput = { + id?: StringFieldUpdateOperationsInput | string + quizId?: NullableStringFieldUpdateOperationsInput | string | null + playerId?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type QuizQuestionCreateManyQuizInput = { + id?: string + questionText: string + options?: QuizQuestionCreateoptionsInput | string[] + correctAnswer: number + order?: number + } + + export type QuizSubmissionCreateManyQuizInput = { + id?: string + userId: string + answers?: QuizSubmissionCreateanswersInput | number[] + correctAnswers?: number + score?: number + submittedAt?: Date | string + } + + export type GoldenCardCreateManyQuizInput = { + id?: string + userId: string + playerId: string + cardTier?: $Enums.CardTier + status?: $Enums.GoldenCardStatus + state?: $Enums.SpecialCardState + acquiredDate?: Date | string + openedAt?: Date | string | null + } + + export type QuizQuestionUpdateWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + questionText?: StringFieldUpdateOperationsInput | string + options?: QuizQuestionUpdateoptionsInput | string[] + correctAnswer?: IntFieldUpdateOperationsInput | number + order?: IntFieldUpdateOperationsInput | number + } + + export type QuizQuestionUncheckedUpdateWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + questionText?: StringFieldUpdateOperationsInput | string + options?: QuizQuestionUpdateoptionsInput | string[] + correctAnswer?: IntFieldUpdateOperationsInput | number + order?: IntFieldUpdateOperationsInput | number + } + + export type QuizQuestionUncheckedUpdateManyWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + questionText?: StringFieldUpdateOperationsInput | string + options?: QuizQuestionUpdateoptionsInput | string[] + correctAnswer?: IntFieldUpdateOperationsInput | number + order?: IntFieldUpdateOperationsInput | number + } + + export type QuizSubmissionUpdateWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutQuizSubmissionsNestedInput + } + + export type QuizSubmissionUncheckedUpdateWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type QuizSubmissionUncheckedUpdateManyWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + answers?: QuizSubmissionUpdateanswersInput | number[] + correctAnswers?: IntFieldUpdateOperationsInput | number + score?: IntFieldUpdateOperationsInput | number + submittedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type GoldenCardUpdateWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + user?: UserUpdateOneRequiredWithoutGoldenCardsNestedInput + player?: PlayerUpdateOneRequiredWithoutGoldenCardsNestedInput + teamPlayer?: TeamPlayerUpdateOneWithoutGoldenCardNestedInput + } + + export type GoldenCardUncheckedUpdateWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + teamPlayer?: TeamPlayerUncheckedUpdateOneWithoutGoldenCardNestedInput + } + + export type GoldenCardUncheckedUpdateManyWithoutQuizInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + playerId?: StringFieldUpdateOperationsInput | string + cardTier?: EnumCardTierFieldUpdateOperationsInput | $Enums.CardTier + status?: EnumGoldenCardStatusFieldUpdateOperationsInput | $Enums.GoldenCardStatus + state?: EnumSpecialCardStateFieldUpdateOperationsInput | $Enums.SpecialCardState + acquiredDate?: DateTimeFieldUpdateOperationsInput | Date | string + openedAt?: NullableDateTimeFieldUpdateOperationsInput | Date | string | null + } + + export type TeamPlayerCreateManyTeamInput = { + playerId: string + goldenCardId?: string | null + isCaptain?: boolean + isViceCaptain?: boolean + isBench?: boolean + positionIndex?: number + } + + export type TeamPlayerUpdateWithoutTeamInput = { + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + player?: PlayerUpdateOneRequiredWithoutTeamPlayersNestedInput + goldenCard?: GoldenCardUpdateOneWithoutTeamPlayerNestedInput + } + + export type TeamPlayerUncheckedUpdateWithoutTeamInput = { + playerId?: StringFieldUpdateOperationsInput | string + goldenCardId?: NullableStringFieldUpdateOperationsInput | string | null + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + } + + export type TeamPlayerUncheckedUpdateManyWithoutTeamInput = { + playerId?: StringFieldUpdateOperationsInput | string + goldenCardId?: NullableStringFieldUpdateOperationsInput | string | null + isCaptain?: BoolFieldUpdateOperationsInput | boolean + isViceCaptain?: BoolFieldUpdateOperationsInput | boolean + isBench?: BoolFieldUpdateOperationsInput | boolean + positionIndex?: IntFieldUpdateOperationsInput | number + } + + export type PaymentCreateManyPackageInput = { + id?: string + userId: string + amount: number + authority?: string | null + refId?: string | null + status?: $Enums.PaymentStatus + createdAt?: Date | string + updatedAt?: Date | string + } + + export type PaymentUpdateWithoutPackageInput = { + id?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + user?: UserUpdateOneRequiredWithoutPaymentsNestedInput + } + + export type PaymentUncheckedUpdateWithoutPackageInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + export type PaymentUncheckedUpdateManyWithoutPackageInput = { + id?: StringFieldUpdateOperationsInput | string + userId?: StringFieldUpdateOperationsInput | string + amount?: IntFieldUpdateOperationsInput | number + authority?: NullableStringFieldUpdateOperationsInput | string | null + refId?: NullableStringFieldUpdateOperationsInput | string | null + status?: EnumPaymentStatusFieldUpdateOperationsInput | $Enums.PaymentStatus + createdAt?: DateTimeFieldUpdateOperationsInput | Date | string + updatedAt?: DateTimeFieldUpdateOperationsInput | Date | string + } + + + + /** + * Batch Payload for updateMany & deleteMany & createMany + */ + + export type BatchPayload = { + count: number + } + + /** + * DMMF + */ + export const dmmf: runtime.BaseDMMF +} \ No newline at end of file diff --git a/lib/generated/prisma/index.js b/lib/generated/prisma/index.js new file mode 100644 index 0000000..ead22a5 --- /dev/null +++ b/lib/generated/prisma/index.js @@ -0,0 +1,557 @@ + +/* !!! This is code generated by Prisma. Do not edit directly. !!! +/* eslint-disable */ +// biome-ignore-all lint: generated file + +Object.defineProperty(exports, "__esModule", { value: true }); + +const { + PrismaClientKnownRequestError, + PrismaClientUnknownRequestError, + PrismaClientRustPanicError, + PrismaClientInitializationError, + PrismaClientValidationError, + getPrismaClient, + sqltag, + empty, + join, + raw, + skip, + Decimal, + Debug, + objectEnumValues, + makeStrictEnum, + Extensions, + warnOnce, + defineDmmfProperty, + Public, + getRuntime, + createParam, +} = require('./runtime/client.js') + + +const Prisma = {} + +exports.Prisma = Prisma +exports.$Enums = {} + +/** + * Prisma Client JS version: 6.19.3 + * Query Engine version: c2990dca591cba766e3b7ef5d9e8a84796e47ab7 + */ +Prisma.prismaVersion = { + client: "6.19.3", + engine: "c2990dca591cba766e3b7ef5d9e8a84796e47ab7" +} + +Prisma.PrismaClientKnownRequestError = PrismaClientKnownRequestError; +Prisma.PrismaClientUnknownRequestError = PrismaClientUnknownRequestError +Prisma.PrismaClientRustPanicError = PrismaClientRustPanicError +Prisma.PrismaClientInitializationError = PrismaClientInitializationError +Prisma.PrismaClientValidationError = PrismaClientValidationError +Prisma.Decimal = Decimal + +/** + * Re-export of sql-template-tag + */ +Prisma.sql = sqltag +Prisma.empty = empty +Prisma.join = join +Prisma.raw = raw +Prisma.validator = Public.validator + +/** +* Extensions +*/ +Prisma.getExtensionContext = Extensions.getExtensionContext +Prisma.defineExtension = Extensions.defineExtension + +/** + * Shorthand utilities for JSON filtering + */ +Prisma.DbNull = objectEnumValues.instances.DbNull +Prisma.JsonNull = objectEnumValues.instances.JsonNull +Prisma.AnyNull = objectEnumValues.instances.AnyNull + +Prisma.NullTypes = { + DbNull: objectEnumValues.classes.DbNull, + JsonNull: objectEnumValues.classes.JsonNull, + AnyNull: objectEnumValues.classes.AnyNull +} + + + + + const path = require('path') + +/** + * Enums + */ +exports.Prisma.TransactionIsolationLevel = makeStrictEnum({ + ReadUncommitted: 'ReadUncommitted', + ReadCommitted: 'ReadCommitted', + RepeatableRead: 'RepeatableRead', + Serializable: 'Serializable' +}); + +exports.Prisma.CountryScalarFieldEnum = { + id: 'id', + name: 'name', + code: 'code', + flagUrl: 'flagUrl', + flagImage: 'flagImage', + confederation: 'confederation', + qualificationMethod: 'qualificationMethod', + qualificationDate: 'qualificationDate', + participationHistory: 'participationHistory', + bestResult: 'bestResult', + description: 'description', + defaultFormation: 'defaultFormation', + defaultLineupPlayerIds: 'defaultLineupPlayerIds', + defaultCaptainId: 'defaultCaptainId', + groupId: 'groupId', + isEliminated: 'isEliminated' +}; + +exports.Prisma.GroupScalarFieldEnum = { + id: 'id', + name: 'name' +}; + +exports.Prisma.PlayerScalarFieldEnum = { + id: 'id', + name: 'name', + image: 'image', + position: 'position', + countryId: 'countryId', + price: 'price', + totalPoints: 'totalPoints', + isActive: 'isActive', + isGoldenCardEligible: 'isGoldenCardEligible', + cardTier: 'cardTier', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.MatchScalarFieldEnum = { + id: 'id', + homeTeamId: 'homeTeamId', + awayTeamId: 'awayTeamId', + homeScore: 'homeScore', + awayScore: 'awayScore', + stage: 'stage', + status: 'status', + matchDate: 'matchDate', + matchDatePersian: 'matchDatePersian', + stadium: 'stadium', + city: 'city', + referee: 'referee', + assistant1: 'assistant1', + assistant2: 'assistant2', + fourthOfficial: 'fourthOfficial', + attendance: 'attendance', + weather: 'weather', + description: 'description', + roundId: 'roundId', + createdAt: 'createdAt' +}; + +exports.Prisma.RoundScalarFieldEnum = { + id: 'id', + number: 'number', + name: 'name', + isActive: 'isActive', + deadline: 'deadline', + createdAt: 'createdAt' +}; + +exports.Prisma.GameweekScalarFieldEnum = { + id: 'id', + number: 'number', + name: 'name', + isActive: 'isActive', + deadline: 'deadline', + createdAt: 'createdAt' +}; + +exports.Prisma.MatchEventScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + playerId: 'playerId', + type: 'type', + minute: 'minute', + extraInfo: 'extraInfo', + createdAt: 'createdAt' +}; + +exports.Prisma.MatchLineupScalarFieldEnum = { + id: 'id', + matchId: 'matchId', + countryId: 'countryId', + formation: 'formation', + playerIds: 'playerIds' +}; + +exports.Prisma.PlayerMatchStatScalarFieldEnum = { + id: 'id', + playerId: 'playerId', + matchId: 'matchId', + goals: 'goals', + assists: 'assists', + yellowCards: 'yellowCards', + redCards: 'redCards', + minutesPlayed: 'minutesPlayed', + cleanSheet: 'cleanSheet', + penaltySaved: 'penaltySaved', + penaltyMissed: 'penaltyMissed', + ownGoals: 'ownGoals', + isMotm: 'isMotm', + extraTimeBonus: 'extraTimeBonus', + points: 'points' +}; + +exports.Prisma.ScoringRuleScalarFieldEnum = { + id: 'id', + position: 'position', + eventType: 'eventType', + points: 'points', + updatedAt: 'updatedAt', + updatedBy: 'updatedBy' +}; + +exports.Prisma.UserScalarFieldEnum = { + id: 'id', + name: 'name', + email: 'email', + phone: 'phone', + password: 'password', + role: 'role', + createdAt: 'createdAt' +}; + +exports.Prisma.LoginOtpScalarFieldEnum = { + id: 'id', + phone: 'phone', + codeHash: 'codeHash', + attempts: 'attempts', + expiresAt: 'expiresAt', + consumedAt: 'consumedAt', + createdAt: 'createdAt' +}; + +exports.Prisma.FantasyNewsScalarFieldEnum = { + id: 'id', + icon: 'icon', + title: 'title', + description: 'description', + newsTime: 'newsTime', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.DailyQuizScalarFieldEnum = { + id: 'id', + date: 'date', + windowStart: 'windowStart', + windowEnd: 'windowEnd', + goldWinnersCount: 'goldWinnersCount', + silverWinnersCount: 'silverWinnersCount', + bronzeWinnersCount: 'bronzeWinnersCount', + goldMinCorrect: 'goldMinCorrect', + silverMinCorrect: 'silverMinCorrect', + bronzeMinCorrect: 'bronzeMinCorrect', + isProcessed: 'isProcessed', + createdAt: 'createdAt' +}; + +exports.Prisma.QuizQuestionScalarFieldEnum = { + id: 'id', + quizId: 'quizId', + questionText: 'questionText', + options: 'options', + correctAnswer: 'correctAnswer', + order: 'order' +}; + +exports.Prisma.QuizSubmissionScalarFieldEnum = { + id: 'id', + userId: 'userId', + quizId: 'quizId', + answers: 'answers', + correctAnswers: 'correctAnswers', + score: 'score', + submittedAt: 'submittedAt' +}; + +exports.Prisma.GoldenCardScalarFieldEnum = { + id: 'id', + userId: 'userId', + quizId: 'quizId', + playerId: 'playerId', + cardTier: 'cardTier', + status: 'status', + state: 'state', + acquiredDate: 'acquiredDate', + openedAt: 'openedAt' +}; + +exports.Prisma.SessionScalarFieldEnum = { + id: 'id', + sessionToken: 'sessionToken', + userId: 'userId', + expires: 'expires' +}; + +exports.Prisma.TeamScalarFieldEnum = { + id: 'id', + name: 'name', + userId: 'userId', + budget: 'budget', + totalPoints: 'totalPoints', + formation: 'formation', + status: 'status', + createdAt: 'createdAt' +}; + +exports.Prisma.TeamPlayerScalarFieldEnum = { + teamId: 'teamId', + playerId: 'playerId', + goldenCardId: 'goldenCardId', + isCaptain: 'isCaptain', + isViceCaptain: 'isViceCaptain', + isBench: 'isBench', + positionIndex: 'positionIndex' +}; + +exports.Prisma.PackageScalarFieldEnum = { + id: 'id', + name: 'name', + budgetBonus: 'budgetBonus', + price: 'price', + description: 'description', + isActive: 'isActive' +}; + +exports.Prisma.PaymentScalarFieldEnum = { + id: 'id', + userId: 'userId', + packageId: 'packageId', + amount: 'amount', + authority: 'authority', + refId: 'refId', + status: 'status', + createdAt: 'createdAt', + updatedAt: 'updatedAt' +}; + +exports.Prisma.SortOrder = { + asc: 'asc', + desc: 'desc' +}; + +exports.Prisma.QueryMode = { + default: 'default', + insensitive: 'insensitive' +}; + +exports.Prisma.NullsOrder = { + first: 'first', + last: 'last' +}; +exports.Role = exports.$Enums.Role = { + USER: 'USER', + ADMIN: 'ADMIN' +}; + +exports.Position = exports.$Enums.Position = { + GK: 'GK', + DEF: 'DEF', + MID: 'MID', + FWD: 'FWD' +}; + +exports.MatchStage = exports.$Enums.MatchStage = { + GROUP: 'GROUP', + ROUND_OF_16: 'ROUND_OF_16', + QUARTER_FINAL: 'QUARTER_FINAL', + SEMI_FINAL: 'SEMI_FINAL', + THIRD_PLACE: 'THIRD_PLACE', + FINAL: 'FINAL' +}; + +exports.MatchStatus = exports.$Enums.MatchStatus = { + SCHEDULED: 'SCHEDULED', + LIVE: 'LIVE', + FINISHED: 'FINISHED' +}; + +exports.TeamStatus = exports.$Enums.TeamStatus = { + PENDING: 'PENDING', + APPROVED: 'APPROVED', + REJECTED: 'REJECTED', + ACTIVE: 'ACTIVE', + INACTIVE: 'INACTIVE' +}; + +exports.PaymentStatus = exports.$Enums.PaymentStatus = { + PENDING: 'PENDING', + SUCCESS: 'SUCCESS', + FAILED: 'FAILED' +}; + +exports.CardTier = exports.$Enums.CardTier = { + BRONZE: 'BRONZE', + SILVER: 'SILVER', + GOLD: 'GOLD' +}; + +exports.EventType = exports.$Enums.EventType = { + GOAL: 'GOAL', + ASSIST: 'ASSIST', + YELLOW_CARD: 'YELLOW_CARD', + RED_CARD: 'RED_CARD', + SECOND_YELLOW: 'SECOND_YELLOW', + SUBSTITUTION_IN: 'SUBSTITUTION_IN', + SUBSTITUTION_OUT: 'SUBSTITUTION_OUT', + INJURY_NO_SUB: 'INJURY_NO_SUB', + CLEAN_SHEET: 'CLEAN_SHEET', + PENALTY_SAVED: 'PENALTY_SAVED', + PENALTY_MISSED: 'PENALTY_MISSED', + OWN_GOAL: 'OWN_GOAL', + EXTRA_TIME_BONUS: 'EXTRA_TIME_BONUS', + MOTM: 'MOTM' +}; + +exports.GoldenCardStatus = exports.$Enums.GoldenCardStatus = { + SEALED: 'SEALED', + OPENED: 'OPENED' +}; + +exports.SpecialCardState = exports.$Enums.SpecialCardState = { + IN_INVENTORY: 'IN_INVENTORY', + IN_TEAM: 'IN_TEAM', + SOLD: 'SOLD' +}; + +exports.Prisma.ModelName = { + Country: 'Country', + Group: 'Group', + Player: 'Player', + Match: 'Match', + Round: 'Round', + Gameweek: 'Gameweek', + MatchEvent: 'MatchEvent', + MatchLineup: 'MatchLineup', + PlayerMatchStat: 'PlayerMatchStat', + ScoringRule: 'ScoringRule', + User: 'User', + LoginOtp: 'LoginOtp', + FantasyNews: 'FantasyNews', + DailyQuiz: 'DailyQuiz', + QuizQuestion: 'QuizQuestion', + QuizSubmission: 'QuizSubmission', + GoldenCard: 'GoldenCard', + Session: 'Session', + Team: 'Team', + TeamPlayer: 'TeamPlayer', + Package: 'Package', + Payment: 'Payment' +}; +/** + * Create the Client + */ +const config = { + "generator": { + "name": "client", + "provider": { + "fromEnvVar": null, + "value": "prisma-client-js" + }, + "output": { + "value": "C:\\Users\\s.roosta\\Desktop\\football-next\\lib\\generated\\prisma", + "fromEnvVar": null + }, + "config": { + "engineType": "client" + }, + "binaryTargets": [ + { + "fromEnvVar": null, + "value": "windows", + "native": true + } + ], + "previewFeatures": [], + "sourceFilePath": "C:\\Users\\s.roosta\\Desktop\\football-next\\prisma\\schema.prisma", + "isCustomOutput": true + }, + "relativeEnvPaths": { + "rootEnvPath": "../../../.env", + "schemaEnvPath": "../../../.env" + }, + "relativePath": "../../../prisma", + "clientVersion": "6.19.3", + "engineVersion": "c2990dca591cba766e3b7ef5d9e8a84796e47ab7", + "datasourceNames": [ + "db" + ], + "activeProvider": "postgresql", + "postinstall": false, + "inlineDatasources": { + "db": { + "url": { + "fromEnvVar": "DATABASE_URL", + "value": null + } + } + }, + "inlineSchema": "generator client {\n provider = \"prisma-client-js\"\n engineType = \"client\"\n output = \"../lib/generated/prisma\"\n}\n\ndatasource db {\n provider = \"postgresql\"\n url = env(\"DATABASE_URL\")\n}\n\nenum Role {\n USER\n ADMIN\n}\n\nenum Position {\n GK\n DEF\n MID\n FWD\n}\n\nenum MatchStage {\n GROUP\n ROUND_OF_16\n QUARTER_FINAL\n SEMI_FINAL\n THIRD_PLACE\n FINAL\n}\n\nenum MatchStatus {\n SCHEDULED\n LIVE\n FINISHED\n}\n\nenum TeamStatus {\n PENDING\n APPROVED\n REJECTED\n ACTIVE\n INACTIVE\n}\n\nenum PaymentStatus {\n PENDING\n SUCCESS\n FAILED\n}\n\nenum CardTier {\n BRONZE\n SILVER\n GOLD\n}\n\nenum EventType {\n GOAL\n ASSIST\n YELLOW_CARD\n RED_CARD\n SECOND_YELLOW\n SUBSTITUTION_IN\n SUBSTITUTION_OUT\n INJURY_NO_SUB\n CLEAN_SHEET\n PENALTY_SAVED\n PENALTY_MISSED\n OWN_GOAL\n EXTRA_TIME_BONUS\n MOTM\n}\n\nmodel Country {\n id String @id @default(cuid())\n name String @unique\n code String @unique\n flagUrl String?\n flagImage String? // نام فایل پرچم مثل Flag_of_Australia.webp\n confederation String? // کنفدراسیون (UEFA, AFC, CAF, ...)\n qualificationMethod String? // شیوه راه‌یابی\n qualificationDate String? // تاریخ راه‌یابی\n participationHistory String? // سابقه شرکت\n bestResult String? // بهترین نتیجه\n description String? @db.Text // توضیحات کامل\n defaultFormation String @default(\"4-3-3\")\n defaultLineupPlayerIds String[] @default([])\n defaultCaptainId String? // شناسه کاپیتان پیش‌فرض\n group Group? @relation(fields: [groupId], references: [id])\n groupId String?\n isEliminated Boolean @default(false)\n players Player[]\n homeMatches Match[] @relation(\"HomeTeam\")\n awayMatches Match[] @relation(\"AwayTeam\")\n}\n\nmodel Group {\n id String @id @default(cuid())\n name String @unique\n countries Country[]\n}\n\nmodel Player {\n id String @id @default(cuid())\n name String\n image String? // نام فایل تصویر در public/uploads/players/\n position Position\n countryId String\n country Country @relation(fields: [countryId], references: [id])\n price Float @default(5.0)\n totalPoints Int @default(0)\n isActive Boolean @default(true)\n isGoldenCardEligible Boolean @default(false)\n cardTier CardTier @default(BRONZE)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n matchStats PlayerMatchStat[]\n teamPlayers TeamPlayer[]\n events MatchEvent[]\n goldenCards GoldenCard[]\n}\n\nmodel Match {\n id String @id @default(cuid())\n homeTeamId String\n awayTeamId String\n homeTeam Country @relation(\"HomeTeam\", fields: [homeTeamId], references: [id])\n awayTeam Country @relation(\"AwayTeam\", fields: [awayTeamId], references: [id])\n homeScore Int?\n awayScore Int?\n stage MatchStage @default(GROUP)\n status MatchStatus @default(SCHEDULED)\n matchDate DateTime\n matchDatePersian String? // تاریخ شمسی\n stadium String? // نام ورزشگاه\n city String? // شهر\n referee String? // داور اصلی\n assistant1 String? // کمک داور 1\n assistant2 String? // کمک داور 2\n fourthOfficial String? // داور چهارم\n attendance Int? // تعداد تماشاگر\n weather String? // وضعیت آب و هوا\n description String? @db.Text // توضیحات بازی\n roundId String?\n round Round? @relation(fields: [roundId], references: [id])\n playerStats PlayerMatchStat[]\n events MatchEvent[]\n lineups MatchLineup[]\n createdAt DateTime @default(now())\n}\n\nmodel Round {\n id String @id @default(cuid())\n number Int @unique\n name String\n isActive Boolean @default(false)\n deadline DateTime\n matches Match[]\n createdAt DateTime @default(now())\n}\n\nmodel Gameweek {\n id String @id @default(cuid())\n number Int @unique\n name String\n isActive Boolean @default(false)\n deadline DateTime\n createdAt DateTime @default(now())\n}\n\nmodel MatchEvent {\n id String @id @default(cuid())\n matchId String\n playerId String\n match Match @relation(fields: [matchId], references: [id], onDelete: Cascade)\n player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)\n type EventType\n minute Int?\n extraInfo String?\n createdAt DateTime @default(now())\n}\n\nmodel MatchLineup {\n id String @id @default(cuid())\n matchId String\n countryId String\n match Match @relation(fields: [matchId], references: [id], onDelete: Cascade)\n formation String\n playerIds String[]\n}\n\nmodel PlayerMatchStat {\n id String @id @default(cuid())\n playerId String\n matchId String\n player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)\n match Match @relation(fields: [matchId], references: [id], onDelete: Cascade)\n goals Int @default(0)\n assists Int @default(0)\n yellowCards Int @default(0)\n redCards Int @default(0)\n minutesPlayed Int @default(0)\n cleanSheet Boolean @default(false)\n penaltySaved Int @default(0)\n penaltyMissed Int @default(0)\n ownGoals Int @default(0)\n isMotm Boolean @default(false)\n extraTimeBonus Int @default(0)\n points Int @default(0)\n\n @@unique([playerId, matchId])\n}\n\nmodel ScoringRule {\n id String @id @default(cuid())\n position Position\n eventType EventType\n points Int\n updatedAt DateTime @updatedAt\n updatedBy String?\n\n @@unique([position, eventType])\n}\n\nmodel User {\n id String @id @default(cuid())\n name String?\n email String @unique\n phone String? @unique\n password String\n role Role @default(USER)\n createdAt DateTime @default(now())\n team Team?\n sessions Session[]\n payments Payment[]\n quizSubmissions QuizSubmission[]\n goldenCards GoldenCard[]\n}\n\nmodel LoginOtp {\n id String @id @default(cuid())\n phone String\n codeHash String\n attempts Int @default(0)\n expiresAt DateTime\n consumedAt DateTime?\n createdAt DateTime @default(now())\n\n @@index([phone, createdAt])\n}\n\nmodel FantasyNews {\n id String @id @default(cuid())\n icon String\n title String\n description String @db.Text\n newsTime DateTime\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n\n @@index([newsTime])\n}\n\nenum GoldenCardStatus {\n SEALED\n OPENED\n}\n\nenum SpecialCardState {\n IN_INVENTORY\n IN_TEAM\n SOLD\n}\n\nmodel DailyQuiz {\n id String @id @default(cuid())\n date DateTime @db.Date\n windowStart DateTime\n windowEnd DateTime\n goldWinnersCount Int @default(1)\n silverWinnersCount Int @default(0)\n bronzeWinnersCount Int @default(0)\n goldMinCorrect Int?\n silverMinCorrect Int?\n bronzeMinCorrect Int?\n isProcessed Boolean @default(false)\n createdAt DateTime @default(now())\n questions QuizQuestion[]\n submissions QuizSubmission[]\n awardedCards GoldenCard[]\n\n @@unique([date])\n}\n\nmodel QuizQuestion {\n id String @id @default(cuid())\n quizId String\n quiz DailyQuiz @relation(fields: [quizId], references: [id], onDelete: Cascade)\n questionText String\n options String[]\n correctAnswer Int // index of correct option (0-based)\n order Int @default(0)\n}\n\nmodel QuizSubmission {\n id String @id @default(cuid())\n userId String\n quizId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n quiz DailyQuiz @relation(fields: [quizId], references: [id], onDelete: Cascade)\n answers Int[] // user's selected option indexes\n correctAnswers Int @default(0)\n score Int @default(0) // percentage 0-100\n submittedAt DateTime @default(now())\n\n @@unique([userId, quizId])\n}\n\nmodel GoldenCard {\n id String @id @default(cuid())\n userId String\n quizId String?\n playerId String\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n quiz DailyQuiz? @relation(fields: [quizId], references: [id], onDelete: SetNull)\n player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)\n cardTier CardTier @default(GOLD)\n status GoldenCardStatus @default(SEALED)\n state SpecialCardState @default(IN_INVENTORY)\n acquiredDate DateTime @default(now())\n openedAt DateTime?\n teamPlayer TeamPlayer?\n}\n\nmodel Session {\n id String @id @default(cuid())\n sessionToken String @unique\n userId String\n expires DateTime\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n}\n\nmodel Team {\n id String @id @default(cuid())\n name String\n userId String @unique\n user User @relation(fields: [userId], references: [id], onDelete: Cascade)\n budget Float @default(100.0)\n totalPoints Int @default(0)\n formation String @default(\"4-3-3\")\n status TeamStatus @default(INACTIVE)\n createdAt DateTime @default(now())\n players TeamPlayer[]\n}\n\nmodel TeamPlayer {\n teamId String\n playerId String\n goldenCardId String? @unique\n isCaptain Boolean @default(false)\n isViceCaptain Boolean @default(false)\n isBench Boolean @default(false)\n positionIndex Int @default(0)\n team Team @relation(fields: [teamId], references: [id], onDelete: Cascade)\n player Player @relation(fields: [playerId], references: [id], onDelete: Cascade)\n goldenCard GoldenCard? @relation(fields: [goldenCardId], references: [id], onDelete: SetNull)\n\n @@id([teamId, playerId])\n}\n\nmodel Package {\n id String @id @default(cuid())\n name String\n budgetBonus Float\n price Int\n description String?\n isActive Boolean @default(true)\n payments Payment[]\n}\n\nmodel Payment {\n id String @id @default(cuid())\n userId String\n packageId String\n user User @relation(fields: [userId], references: [id])\n package Package @relation(fields: [packageId], references: [id])\n amount Int\n authority String? @unique\n refId String?\n status PaymentStatus @default(PENDING)\n createdAt DateTime @default(now())\n updatedAt DateTime @updatedAt\n}\n", + "inlineSchemaHash": "97ad530f39fbd0a5b25054636137b2d4c6123d03a537c2ff3b9a51a4155369d0", + "copyEngine": true +} + +const fs = require('fs') + +config.dirname = __dirname +if (!fs.existsSync(path.join(__dirname, 'schema.prisma'))) { + const alternativePaths = [ + "lib/generated/prisma", + "generated/prisma", + ] + + const alternativePath = alternativePaths.find((altPath) => { + return fs.existsSync(path.join(process.cwd(), altPath, 'schema.prisma')) + }) ?? alternativePaths[0] + + config.dirname = path.join(process.cwd(), alternativePath) + config.isBundled = true +} + +config.runtimeDataModel = JSON.parse("{\"models\":{\"Country\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"code\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"flagUrl\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"flagImage\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"confederation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualificationMethod\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"qualificationDate\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"participationHistory\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"bestResult\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"defaultFormation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"defaultLineupPlayerIds\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"defaultCaptainId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"group\",\"kind\":\"object\",\"type\":\"Group\",\"relationName\":\"CountryToGroup\"},{\"name\":\"groupId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isEliminated\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"players\",\"kind\":\"object\",\"type\":\"Player\",\"relationName\":\"CountryToPlayer\"},{\"name\":\"homeMatches\",\"kind\":\"object\",\"type\":\"Match\",\"relationName\":\"HomeTeam\"},{\"name\":\"awayMatches\",\"kind\":\"object\",\"type\":\"Match\",\"relationName\":\"AwayTeam\"}],\"dbName\":null},\"Group\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"countries\",\"kind\":\"object\",\"type\":\"Country\",\"relationName\":\"CountryToGroup\"}],\"dbName\":null},\"Player\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"image\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"position\",\"kind\":\"enum\",\"type\":\"Position\"},{\"name\":\"countryId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"country\",\"kind\":\"object\",\"type\":\"Country\",\"relationName\":\"CountryToPlayer\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"totalPoints\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"isGoldenCardEligible\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"cardTier\",\"kind\":\"enum\",\"type\":\"CardTier\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"matchStats\",\"kind\":\"object\",\"type\":\"PlayerMatchStat\",\"relationName\":\"PlayerToPlayerMatchStat\"},{\"name\":\"teamPlayers\",\"kind\":\"object\",\"type\":\"TeamPlayer\",\"relationName\":\"PlayerToTeamPlayer\"},{\"name\":\"events\",\"kind\":\"object\",\"type\":\"MatchEvent\",\"relationName\":\"MatchEventToPlayer\"},{\"name\":\"goldenCards\",\"kind\":\"object\",\"type\":\"GoldenCard\",\"relationName\":\"GoldenCardToPlayer\"}],\"dbName\":null},\"Match\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"homeTeamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"awayTeamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"homeTeam\",\"kind\":\"object\",\"type\":\"Country\",\"relationName\":\"HomeTeam\"},{\"name\":\"awayTeam\",\"kind\":\"object\",\"type\":\"Country\",\"relationName\":\"AwayTeam\"},{\"name\":\"homeScore\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"awayScore\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"stage\",\"kind\":\"enum\",\"type\":\"MatchStage\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"MatchStatus\"},{\"name\":\"matchDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"matchDatePersian\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"stadium\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"city\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"referee\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assistant1\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"assistant2\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"fourthOfficial\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"attendance\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"weather\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"roundId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"round\",\"kind\":\"object\",\"type\":\"Round\",\"relationName\":\"MatchToRound\"},{\"name\":\"playerStats\",\"kind\":\"object\",\"type\":\"PlayerMatchStat\",\"relationName\":\"MatchToPlayerMatchStat\"},{\"name\":\"events\",\"kind\":\"object\",\"type\":\"MatchEvent\",\"relationName\":\"MatchToMatchEvent\"},{\"name\":\"lineups\",\"kind\":\"object\",\"type\":\"MatchLineup\",\"relationName\":\"MatchToMatchLineup\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Round\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"matches\",\"kind\":\"object\",\"type\":\"Match\",\"relationName\":\"MatchToRound\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"Gameweek\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"number\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"deadline\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MatchEvent\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"matchId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"playerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"match\",\"kind\":\"object\",\"type\":\"Match\",\"relationName\":\"MatchToMatchEvent\"},{\"name\":\"player\",\"kind\":\"object\",\"type\":\"Player\",\"relationName\":\"MatchEventToPlayer\"},{\"name\":\"type\",\"kind\":\"enum\",\"type\":\"EventType\"},{\"name\":\"minute\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"extraInfo\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"MatchLineup\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"matchId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"countryId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"match\",\"kind\":\"object\",\"type\":\"Match\",\"relationName\":\"MatchToMatchLineup\"},{\"name\":\"formation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"playerIds\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"PlayerMatchStat\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"playerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"matchId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"player\",\"kind\":\"object\",\"type\":\"Player\",\"relationName\":\"PlayerToPlayerMatchStat\"},{\"name\":\"match\",\"kind\":\"object\",\"type\":\"Match\",\"relationName\":\"MatchToPlayerMatchStat\"},{\"name\":\"goals\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"assists\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"yellowCards\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"redCards\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"minutesPlayed\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"cleanSheet\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"penaltySaved\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"penaltyMissed\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"ownGoals\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isMotm\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"extraTimeBonus\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"points\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"ScoringRule\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"position\",\"kind\":\"enum\",\"type\":\"Position\"},{\"name\":\"eventType\",\"kind\":\"enum\",\"type\":\"EventType\"},{\"name\":\"points\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedBy\",\"kind\":\"scalar\",\"type\":\"String\"}],\"dbName\":null},\"User\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"email\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"password\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"role\",\"kind\":\"enum\",\"type\":\"Role\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"team\",\"kind\":\"object\",\"type\":\"Team\",\"relationName\":\"TeamToUser\"},{\"name\":\"sessions\",\"kind\":\"object\",\"type\":\"Session\",\"relationName\":\"SessionToUser\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PaymentToUser\"},{\"name\":\"quizSubmissions\",\"kind\":\"object\",\"type\":\"QuizSubmission\",\"relationName\":\"QuizSubmissionToUser\"},{\"name\":\"goldenCards\",\"kind\":\"object\",\"type\":\"GoldenCard\",\"relationName\":\"GoldenCardToUser\"}],\"dbName\":null},\"LoginOtp\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"phone\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"codeHash\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"attempts\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"expiresAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"consumedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"FantasyNews\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"icon\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"title\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"newsTime\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"DailyQuiz\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"date\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"windowStart\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"windowEnd\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"goldWinnersCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"silverWinnersCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"bronzeWinnersCount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"goldMinCorrect\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"silverMinCorrect\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"bronzeMinCorrect\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"isProcessed\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"questions\",\"kind\":\"object\",\"type\":\"QuizQuestion\",\"relationName\":\"DailyQuizToQuizQuestion\"},{\"name\":\"submissions\",\"kind\":\"object\",\"type\":\"QuizSubmission\",\"relationName\":\"DailyQuizToQuizSubmission\"},{\"name\":\"awardedCards\",\"kind\":\"object\",\"type\":\"GoldenCard\",\"relationName\":\"DailyQuizToGoldenCard\"}],\"dbName\":null},\"QuizQuestion\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quizId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quiz\",\"kind\":\"object\",\"type\":\"DailyQuiz\",\"relationName\":\"DailyQuizToQuizQuestion\"},{\"name\":\"questionText\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"options\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"correctAnswer\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"order\",\"kind\":\"scalar\",\"type\":\"Int\"}],\"dbName\":null},\"QuizSubmission\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quizId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"QuizSubmissionToUser\"},{\"name\":\"quiz\",\"kind\":\"object\",\"type\":\"DailyQuiz\",\"relationName\":\"DailyQuizToQuizSubmission\"},{\"name\":\"answers\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"correctAnswers\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"score\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"submittedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null},\"GoldenCard\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"quizId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"playerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"GoldenCardToUser\"},{\"name\":\"quiz\",\"kind\":\"object\",\"type\":\"DailyQuiz\",\"relationName\":\"DailyQuizToGoldenCard\"},{\"name\":\"player\",\"kind\":\"object\",\"type\":\"Player\",\"relationName\":\"GoldenCardToPlayer\"},{\"name\":\"cardTier\",\"kind\":\"enum\",\"type\":\"CardTier\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"GoldenCardStatus\"},{\"name\":\"state\",\"kind\":\"enum\",\"type\":\"SpecialCardState\"},{\"name\":\"acquiredDate\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"openedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"teamPlayer\",\"kind\":\"object\",\"type\":\"TeamPlayer\",\"relationName\":\"GoldenCardToTeamPlayer\"}],\"dbName\":null},\"Session\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"sessionToken\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"expires\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"SessionToUser\"}],\"dbName\":null},\"Team\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"TeamToUser\"},{\"name\":\"budget\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"totalPoints\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"formation\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"TeamStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"players\",\"kind\":\"object\",\"type\":\"TeamPlayer\",\"relationName\":\"TeamToTeamPlayer\"}],\"dbName\":null},\"TeamPlayer\":{\"fields\":[{\"name\":\"teamId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"playerId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"goldenCardId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isCaptain\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"isViceCaptain\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"isBench\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"positionIndex\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"team\",\"kind\":\"object\",\"type\":\"Team\",\"relationName\":\"TeamToTeamPlayer\"},{\"name\":\"player\",\"kind\":\"object\",\"type\":\"Player\",\"relationName\":\"PlayerToTeamPlayer\"},{\"name\":\"goldenCard\",\"kind\":\"object\",\"type\":\"GoldenCard\",\"relationName\":\"GoldenCardToTeamPlayer\"}],\"dbName\":null},\"Package\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"name\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"budgetBonus\",\"kind\":\"scalar\",\"type\":\"Float\"},{\"name\":\"price\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"description\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"isActive\",\"kind\":\"scalar\",\"type\":\"Boolean\"},{\"name\":\"payments\",\"kind\":\"object\",\"type\":\"Payment\",\"relationName\":\"PackageToPayment\"}],\"dbName\":null},\"Payment\":{\"fields\":[{\"name\":\"id\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"userId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"packageId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"user\",\"kind\":\"object\",\"type\":\"User\",\"relationName\":\"PaymentToUser\"},{\"name\":\"package\",\"kind\":\"object\",\"type\":\"Package\",\"relationName\":\"PackageToPayment\"},{\"name\":\"amount\",\"kind\":\"scalar\",\"type\":\"Int\"},{\"name\":\"authority\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"refId\",\"kind\":\"scalar\",\"type\":\"String\"},{\"name\":\"status\",\"kind\":\"enum\",\"type\":\"PaymentStatus\"},{\"name\":\"createdAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"},{\"name\":\"updatedAt\",\"kind\":\"scalar\",\"type\":\"DateTime\"}],\"dbName\":null}},\"enums\":{},\"types\":{}}") +defineDmmfProperty(exports.Prisma, config.runtimeDataModel) +config.engineWasm = undefined +config.compilerWasm = { + getRuntime: async () => require('./query_compiler_bg.js'), + getQueryCompilerWasmModule: async () => { + const queryCompilerWasmFilePath = require('path').join(config.dirname, 'query_compiler_bg.wasm') + const queryCompilerWasmFileBytes = require('fs').readFileSync(queryCompilerWasmFilePath) + + return new WebAssembly.Module(queryCompilerWasmFileBytes) + } + } + + +const { warnEnvConflicts } = require('./runtime/client.js') + +warnEnvConflicts({ + rootEnvPath: config.relativeEnvPaths.rootEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.rootEnvPath), + schemaEnvPath: config.relativeEnvPaths.schemaEnvPath && path.resolve(config.dirname, config.relativeEnvPaths.schemaEnvPath) +}) + +const PrismaClient = getPrismaClient(config) +exports.PrismaClient = PrismaClient +Object.assign(exports, Prisma) + +// file annotations for bundling tools to include these files +path.join(__dirname, "schema.prisma"); +path.join(process.cwd(), "lib/generated/prisma/schema.prisma") diff --git a/lib/generated/prisma/package.json b/lib/generated/prisma/package.json new file mode 100644 index 0000000..b02605c --- /dev/null +++ b/lib/generated/prisma/package.json @@ -0,0 +1,183 @@ +{ + "name": "prisma-client-49385eb0fcdd57042a26789a1a38ea389dc814b2f500cfcebcca17b00a9cad78", + "main": "index.js", + "types": "index.d.ts", + "browser": "default.js", + "exports": { + "./client": { + "require": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "import": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "default": "./index.js" + }, + "./package.json": "./package.json", + ".": { + "require": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "import": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "default": "./index.js" + }, + "./edge": { + "types": "./edge.d.ts", + "require": "./edge.js", + "import": "./edge.js", + "default": "./edge.js" + }, + "./react-native": { + "types": "./react-native.d.ts", + "require": "./react-native.js", + "import": "./react-native.js", + "default": "./react-native.js" + }, + "./extension": { + "types": "./extension.d.ts", + "require": "./extension.js", + "import": "./extension.js", + "default": "./extension.js" + }, + "./index-browser": { + "types": "./index.d.ts", + "require": "./index-browser.js", + "import": "./index-browser.js", + "default": "./index-browser.js" + }, + "./index": { + "types": "./index.d.ts", + "require": "./index.js", + "import": "./index.js", + "default": "./index.js" + }, + "./wasm": { + "types": "./wasm.d.ts", + "require": "./wasm.js", + "import": "./wasm.mjs", + "default": "./wasm.mjs" + }, + "./runtime/client": { + "types": "./runtime/client.d.ts", + "node": { + "require": "./runtime/client.js", + "default": "./runtime/client.js" + }, + "require": "./runtime/client.js", + "import": "./runtime/client.mjs", + "default": "./runtime/client.mjs" + }, + "./runtime/library": { + "types": "./runtime/library.d.ts", + "require": "./runtime/library.js", + "import": "./runtime/library.mjs", + "default": "./runtime/library.mjs" + }, + "./runtime/binary": { + "types": "./runtime/binary.d.ts", + "require": "./runtime/binary.js", + "import": "./runtime/binary.mjs", + "default": "./runtime/binary.mjs" + }, + "./runtime/wasm-engine-edge": { + "types": "./runtime/wasm-engine-edge.d.ts", + "require": "./runtime/wasm-engine-edge.js", + "import": "./runtime/wasm-engine-edge.mjs", + "default": "./runtime/wasm-engine-edge.mjs" + }, + "./runtime/wasm-compiler-edge": { + "types": "./runtime/wasm-compiler-edge.d.ts", + "require": "./runtime/wasm-compiler-edge.js", + "import": "./runtime/wasm-compiler-edge.mjs", + "default": "./runtime/wasm-compiler-edge.mjs" + }, + "./runtime/edge": { + "types": "./runtime/edge.d.ts", + "require": "./runtime/edge.js", + "import": "./runtime/edge-esm.js", + "default": "./runtime/edge-esm.js" + }, + "./runtime/react-native": { + "types": "./runtime/react-native.d.ts", + "require": "./runtime/react-native.js", + "import": "./runtime/react-native.js", + "default": "./runtime/react-native.js" + }, + "./runtime/index-browser": { + "types": "./runtime/index-browser.d.ts", + "require": "./runtime/index-browser.js", + "import": "./runtime/index-browser.mjs", + "default": "./runtime/index-browser.mjs" + }, + "./generator-build": { + "require": "./generator-build/index.js", + "import": "./generator-build/index.js", + "default": "./generator-build/index.js" + }, + "./sql": { + "require": { + "types": "./sql.d.ts", + "node": "./sql.js", + "default": "./sql.js" + }, + "import": { + "types": "./sql.d.ts", + "node": "./sql.mjs", + "default": "./sql.mjs" + }, + "default": "./sql.js" + }, + "./*": "./*" + }, + "version": "6.19.3", + "sideEffects": false, + "imports": { + "#wasm-compiler-loader": { + "edge-light": "./wasm-edge-light-loader.mjs", + "workerd": "./wasm-worker-loader.mjs", + "worker": "./wasm-worker-loader.mjs", + "default": "./wasm-worker-loader.mjs" + }, + "#main-entry-point": { + "require": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "import": { + "node": "./index.js", + "edge-light": "./wasm.js", + "workerd": "./wasm.js", + "worker": "./wasm.js", + "browser": "./index-browser.js", + "default": "./index.js" + }, + "default": "./index.js" + } + } +} \ No newline at end of file diff --git a/lib/generated/prisma/query_compiler_bg.js b/lib/generated/prisma/query_compiler_bg.js new file mode 100644 index 0000000..cb53b24 --- /dev/null +++ b/lib/generated/prisma/query_compiler_bg.js @@ -0,0 +1,2 @@ +"use strict";var F=Object.defineProperty;var j=Object.getOwnPropertyDescriptor;var M=Object.getOwnPropertyNames;var B=Object.prototype.hasOwnProperty;var N=(e,t)=>{for(var n in t)F(e,n,{get:t[n],enumerable:!0})},U=(e,t,n,_)=>{if(t&&typeof t=="object"||typeof t=="function")for(let r of M(t))!B.call(e,r)&&r!==n&&F(e,r,{get:()=>t[r],enumerable:!(_=j(t,r))||_.enumerable});return e};var R=e=>U(F({},"__esModule",{value:!0}),e);var Ge={};N(Ge,{QueryCompiler:()=>E,__wbg_Error_e83987f665cf5504:()=>k,__wbg_Number_bb48ca12f395cd08:()=>W,__wbg_String_8f0eb39a4a4c2f66:()=>$,__wbg___wbindgen_boolean_get_6d5a1ee65bab5f68:()=>V,__wbg___wbindgen_debug_string_df47ffb5e35e6763:()=>z,__wbg___wbindgen_in_bb933bd9e1b3bc0f:()=>G,__wbg___wbindgen_is_function_ee8a6c5833c90377:()=>P,__wbg___wbindgen_is_object_c818261d21f283a4:()=>Q,__wbg___wbindgen_is_string_fbb76cb2940daafd:()=>Y,__wbg___wbindgen_is_undefined_2d472862bd29a478:()=>H,__wbg___wbindgen_jsval_loose_eq_b664b38a2f582147:()=>J,__wbg___wbindgen_number_get_a20bf9b85341449d:()=>X,__wbg___wbindgen_string_get_e4f06c90489ad01b:()=>K,__wbg___wbindgen_throw_b855445ff6a94295:()=>Z,__wbg_call_525440f72fbfc0ea:()=>v,__wbg_call_e762c39fa8ea36bf:()=>ee,__wbg_crypto_805be4ce92f1e370:()=>te,__wbg_entries_e171b586f8f6bdbf:()=>ne,__wbg_getRandomValues_f6a868620c8bab49:()=>re,__wbg_getTime_14776bfb48a1bff9:()=>_e,__wbg_get_7bed016f185add81:()=>oe,__wbg_get_with_ref_key_1dc361bd10053bfe:()=>ce,__wbg_instanceof_ArrayBuffer_70beb1189ca63b38:()=>ie,__wbg_instanceof_Uint8Array_20c8e73002f7af98:()=>ue,__wbg_isSafeInteger_d216eda7911dde36:()=>se,__wbg_keys_b4d27b02ad14f4be:()=>fe,__wbg_length_69bca3cb64fc8748:()=>be,__wbg_length_cdd215e10d9dd507:()=>ae,__wbg_msCrypto_2ac4d17c4748234a:()=>de,__wbg_new_0_f9740686d739025c:()=>ge,__wbg_new_1acc0b6eea89d040:()=>le,__wbg_new_5a79be3ab53b8aa5:()=>we,__wbg_new_68651c719dcda04e:()=>pe,__wbg_new_e17d9f43105b08be:()=>xe,__wbg_new_no_args_ee98eee5275000a4:()=>ye,__wbg_new_with_length_01aa0dc35aa13543:()=>me,__wbg_node_ecc8306b9857f33d:()=>he,__wbg_now_793306c526e2e3b6:()=>Ae,__wbg_now_b3f7572f6ef3d3a9:()=>Se,__wbg_process_5cff2739921be718:()=>Fe,__wbg_prototypesetcall_2a6620b6922694b2:()=>Ie,__wbg_randomFillSync_d3c85af7e31cf1f8:()=>Te,__wbg_require_0c566c6f2eef6c79:()=>Ee,__wbg_set_3f1d0b984ed272ed:()=>Oe,__wbg_set_907fb406c34a251d:()=>De,__wbg_set_c213c871859d6500:()=>je,__wbg_set_message_82ae475bb413aa5c:()=>Me,__wbg_set_wasm:()=>q,__wbg_static_accessor_GLOBAL_89e1d9ac6a1b250e:()=>Be,__wbg_static_accessor_GLOBAL_THIS_8b530f326a9e48ac:()=>Ne,__wbg_static_accessor_SELF_6fdf4b64710cc91b:()=>Ue,__wbg_static_accessor_WINDOW_b45bfc5a37f6cfa2:()=>Re,__wbg_subarray_480600f3d6a9f26c:()=>qe,__wbg_versions_a8e5a362e1f16442:()=>Ce,__wbindgen_cast_2241b6af4c4b2941:()=>Le,__wbindgen_cast_4625c577ab2ec9ee:()=>ke,__wbindgen_cast_9ae0607507abb057:()=>We,__wbindgen_cast_cb9088102bce6b30:()=>$e,__wbindgen_cast_d6cd19b81560fd6e:()=>Ve,__wbindgen_init_externref_table:()=>ze});module.exports=R(Ge);var h=()=>{};h.prototype=h;let o;function q(e){o=e}let A=null;function l(){return(A===null||A.byteLength===0)&&(A=new Uint8Array(o.memory.buffer)),A}let S=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});S.decode();const C=2146435072;let I=0;function L(e,t){return I+=t,I>=C&&(S=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),S.decode(),I=t),S.decode(l().subarray(e,e+t))}function w(e,t){return e=e>>>0,L(e,t)}let b=0;const p=new TextEncoder;"encodeInto"in p||(p.encodeInto=function(e,t){const n=p.encode(e);return t.set(n),{read:e.length,written:n.length}});function x(e,t,n){if(n===void 0){const i=p.encode(e),g=t(i.length,1)>>>0;return l().subarray(g,g+i.length).set(i),b=i.length,g}let _=e.length,r=t(_,1)>>>0;const u=l();let c=0;for(;c<_;c++){const i=e.charCodeAt(c);if(i>127)break;u[r+c]=i}if(c!==_){c!==0&&(e=e.slice(c)),r=n(r,_,_=c+e.length*3,1)>>>0;const i=l().subarray(r+c,r+_),g=p.encodeInto(e,i);c+=g.written,r=n(r,_,c,1)>>>0}return b=c,r}let a=null;function s(){return(a===null||a.buffer.detached===!0||a.buffer.detached===void 0&&a.buffer!==o.memory.buffer)&&(a=new DataView(o.memory.buffer)),a}function f(e){return e==null}function T(e){const t=typeof e;if(t=="number"||t=="boolean"||e==null)return`${e}`;if(t=="string")return`"${e}"`;if(t=="symbol"){const r=e.description;return r==null?"Symbol":`Symbol(${r})`}if(t=="function"){const r=e.name;return typeof r=="string"&&r.length>0?`Function(${r})`:"Function"}if(Array.isArray(e)){const r=e.length;let u="[";r>0&&(u+=T(e[0]));for(let c=1;c1)_=n[1];else return toString.call(e);if(_=="Object")try{return"Object("+JSON.stringify(e)+")"}catch{return"Object"}return e instanceof Error?`${e.name}: ${e.message} +${e.stack}`:_}function y(e){const t=o.__externref_table_alloc();return o.__wbindgen_externrefs.set(t,e),t}function d(e,t){try{return e.apply(this,t)}catch(n){const _=y(n);o.__wbindgen_exn_store(_)}}function O(e,t){return e=e>>>0,l().subarray(e/1,e/1+t)}function m(e){const t=o.__wbindgen_externrefs.get(e);return o.__externref_table_dealloc(e),t}const D=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>o.__wbg_querycompiler_free(e>>>0,1));class E{__destroy_into_raw(){const t=this.__wbg_ptr;return this.__wbg_ptr=0,D.unregister(this),t}free(){const t=this.__destroy_into_raw();o.__wbg_querycompiler_free(t,0)}constructor(t){const n=o.querycompiler_new(t);if(n[2])throw m(n[1]);return this.__wbg_ptr=n[0]>>>0,D.register(this,this.__wbg_ptr,this),this}compile(t){const n=x(t,o.__wbindgen_malloc,o.__wbindgen_realloc),_=b,r=o.querycompiler_compile(this.__wbg_ptr,n,_);if(r[2])throw m(r[1]);return m(r[0])}compileBatch(t){const n=x(t,o.__wbindgen_malloc,o.__wbindgen_realloc),_=b,r=o.querycompiler_compileBatch(this.__wbg_ptr,n,_);if(r[2])throw m(r[1]);return m(r[0])}}Symbol.dispose&&(E.prototype[Symbol.dispose]=E.prototype.free);function k(e,t){return Error(w(e,t))}function W(e){return Number(e)}function $(e,t){const n=String(t),_=x(n,o.__wbindgen_malloc,o.__wbindgen_realloc),r=b;s().setInt32(e+4*1,r,!0),s().setInt32(e+4*0,_,!0)}function V(e){const t=e,n=typeof t=="boolean"?t:void 0;return f(n)?16777215:n?1:0}function z(e,t){const n=T(t),_=x(n,o.__wbindgen_malloc,o.__wbindgen_realloc),r=b;s().setInt32(e+4*1,r,!0),s().setInt32(e+4*0,_,!0)}function G(e,t){return e in t}function P(e){return typeof e=="function"}function Q(e){const t=e;return typeof t=="object"&&t!==null}function Y(e){return typeof e=="string"}function H(e){return e===void 0}function J(e,t){return e==t}function X(e,t){const n=t,_=typeof n=="number"?n:void 0;s().setFloat64(e+8*1,f(_)?0:_,!0),s().setInt32(e+4*0,!f(_),!0)}function K(e,t){const n=t,_=typeof n=="string"?n:void 0;var r=f(_)?0:x(_,o.__wbindgen_malloc,o.__wbindgen_realloc),u=b;s().setInt32(e+4*1,u,!0),s().setInt32(e+4*0,r,!0)}function Z(e,t){throw new Error(w(e,t))}function v(){return d(function(e,t,n){return e.call(t,n)},arguments)}function ee(){return d(function(e,t){return e.call(t)},arguments)}function te(e){return e.crypto}function ne(e){return Object.entries(e)}function re(){return d(function(e,t){e.getRandomValues(t)},arguments)}function _e(e){return e.getTime()}function oe(e,t){return e[t>>>0]}function ce(e,t){return e[t]}function ie(e){let t;try{t=e instanceof ArrayBuffer}catch{t=!1}return t}function ue(e){let t;try{t=e instanceof Uint8Array}catch{t=!1}return t}function se(e){return Number.isSafeInteger(e)}function fe(e){return Object.keys(e)}function be(e){return e.length}function ae(e){return e.length}function de(e){return e.msCrypto}function ge(){return new Date}function le(){return new Object}function we(e){return new Uint8Array(e)}function pe(){return new Map}function xe(){return new Array}function ye(e,t){return new h(w(e,t))}function me(e){return new Uint8Array(e>>>0)}function he(e){return e.node}function Ae(){return Date.now()}function Se(){return d(function(){return Date.now()},arguments)}function Fe(e){return e.process}function Ie(e,t,n){Uint8Array.prototype.set.call(O(e,t),n)}function Te(){return d(function(e,t){e.randomFillSync(t)},arguments)}function Ee(){return d(function(){return module.require},arguments)}function Oe(e,t,n){e[t]=n}function De(e,t,n){return e.set(t,n)}function je(e,t,n){e[t>>>0]=n}function Me(e,t){global.PRISMA_WASM_PANIC_REGISTRY.set_message(w(e,t))}function Be(){const e=typeof global>"u"?null:global;return f(e)?0:y(e)}function Ne(){const e=typeof globalThis>"u"?null:globalThis;return f(e)?0:y(e)}function Ue(){const e=typeof self>"u"?null:self;return f(e)?0:y(e)}function Re(){const e=typeof window>"u"?null:window;return f(e)?0:y(e)}function qe(e,t,n){return e.subarray(t>>>0,n>>>0)}function Ce(e){return e.versions}function Le(e,t){return w(e,t)}function ke(e){return BigInt.asUintN(64,e)}function We(e){return e}function $e(e,t){return O(e,t)}function Ve(e){return e}function ze(){const e=o.__wbindgen_externrefs,t=e.grow(4);e.set(0,void 0),e.set(t+0,void 0),e.set(t+1,null),e.set(t+2,!0),e.set(t+3,!1)}0&&(module.exports={QueryCompiler,__wbg_Error_e83987f665cf5504,__wbg_Number_bb48ca12f395cd08,__wbg_String_8f0eb39a4a4c2f66,__wbg___wbindgen_boolean_get_6d5a1ee65bab5f68,__wbg___wbindgen_debug_string_df47ffb5e35e6763,__wbg___wbindgen_in_bb933bd9e1b3bc0f,__wbg___wbindgen_is_function_ee8a6c5833c90377,__wbg___wbindgen_is_object_c818261d21f283a4,__wbg___wbindgen_is_string_fbb76cb2940daafd,__wbg___wbindgen_is_undefined_2d472862bd29a478,__wbg___wbindgen_jsval_loose_eq_b664b38a2f582147,__wbg___wbindgen_number_get_a20bf9b85341449d,__wbg___wbindgen_string_get_e4f06c90489ad01b,__wbg___wbindgen_throw_b855445ff6a94295,__wbg_call_525440f72fbfc0ea,__wbg_call_e762c39fa8ea36bf,__wbg_crypto_805be4ce92f1e370,__wbg_entries_e171b586f8f6bdbf,__wbg_getRandomValues_f6a868620c8bab49,__wbg_getTime_14776bfb48a1bff9,__wbg_get_7bed016f185add81,__wbg_get_with_ref_key_1dc361bd10053bfe,__wbg_instanceof_ArrayBuffer_70beb1189ca63b38,__wbg_instanceof_Uint8Array_20c8e73002f7af98,__wbg_isSafeInteger_d216eda7911dde36,__wbg_keys_b4d27b02ad14f4be,__wbg_length_69bca3cb64fc8748,__wbg_length_cdd215e10d9dd507,__wbg_msCrypto_2ac4d17c4748234a,__wbg_new_0_f9740686d739025c,__wbg_new_1acc0b6eea89d040,__wbg_new_5a79be3ab53b8aa5,__wbg_new_68651c719dcda04e,__wbg_new_e17d9f43105b08be,__wbg_new_no_args_ee98eee5275000a4,__wbg_new_with_length_01aa0dc35aa13543,__wbg_node_ecc8306b9857f33d,__wbg_now_793306c526e2e3b6,__wbg_now_b3f7572f6ef3d3a9,__wbg_process_5cff2739921be718,__wbg_prototypesetcall_2a6620b6922694b2,__wbg_randomFillSync_d3c85af7e31cf1f8,__wbg_require_0c566c6f2eef6c79,__wbg_set_3f1d0b984ed272ed,__wbg_set_907fb406c34a251d,__wbg_set_c213c871859d6500,__wbg_set_message_82ae475bb413aa5c,__wbg_set_wasm,__wbg_static_accessor_GLOBAL_89e1d9ac6a1b250e,__wbg_static_accessor_GLOBAL_THIS_8b530f326a9e48ac,__wbg_static_accessor_SELF_6fdf4b64710cc91b,__wbg_static_accessor_WINDOW_b45bfc5a37f6cfa2,__wbg_subarray_480600f3d6a9f26c,__wbg_versions_a8e5a362e1f16442,__wbindgen_cast_2241b6af4c4b2941,__wbindgen_cast_4625c577ab2ec9ee,__wbindgen_cast_9ae0607507abb057,__wbindgen_cast_cb9088102bce6b30,__wbindgen_cast_d6cd19b81560fd6e,__wbindgen_init_externref_table}); diff --git a/lib/generated/prisma/query_compiler_bg.wasm b/lib/generated/prisma/query_compiler_bg.wasm new file mode 100644 index 0000000000000000000000000000000000000000..e9af24fb10fcd73f8bad63e834eb52a9b870b681 GIT binary patch literal 1950269 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∓D#ITedNfR?{4d2G|p13aR-${t3_MGeBx%@FR5LTU1z(paObvLR~seI;>NgC0(Vle@sUR!Hx>!Z zZns}ErvY1v+W@JxV<-n?0R+qsNX>WFDxM7pD+}`ig6Oz-`AM^_1URe!DNe?mA)0%? z0!oerDbcP@%|_)s-{nJ?f5-ky8^+d_>NeB`h+9KV7dA!@1cBIYfI%bk2`+QpAiNx7 z4@IsoceF{SAsfOxu?ne4P8#F%VgPC0`4J6{j4DN@qU82wp;43^_J)L7NyJuoKbc`Z-oya0yCd9@S3LuS=Kc;}@Fm^MviX*n~OiNZAm!o~*TS#{$|D!=+Mu#8lFtSgH zNJ~COMFaJobZPP@O&QIz?JyAHJYT`%)!VQhb*WqCb~B}#NzeJ&K$XN9w+p)CD8f)I zu`PgdhXo8401y{=@=gFO$celVYWUi1AT$h#8m<&Q+KCh4PP`Cy7Ewmn(MCVUWGHI- z5xnCOTBdE~2)Bb-V!YMzUH|!(sPaVB@>_LrPowDZAm(RZ)6(ozKcPfsD|1N` z!K-=Uze3xEpIa?IQn?t#r81r*4m`dw;&4CN`|ME4INPP5__9KVP@eT19B9AKO@$>j zXtb!*MHUi(nu~|C93yf$C3)V@#H-N~Uayfo9k^J5Q!E{7kFgdK*-od0#72?M1BY;j zC?so@?O;PSl-74ZSJo8w`|FslhAg)cDg%v*pv%UXYu=$<%Z%F~$J`>KvmM%oO7m=5 zt7bd01EXZK`3v^4tJShDHQThd!nH?F$=(0u6BCgIR;F3G)8g4>DOc;643mQ3iiS>sz zG7w!Efs|Y;qKa{rXxcj+F|<9_rvxQ}(;9!s+9bEKRy zUFq*+CHYhBVVN%P!gm8E&uP+W{}dw2iod8S(b$W>w3}Dln|ybrK6|cY{L1N-J|!mn z=Zk(I3EaoPAb{M`9N!FA8o+>vtpJ{@yqvt*0o)`Fl(be}AFYTf1*#V6$g5JpyykkM z!aU1$y21p)^>jr_@}_vEBBgp$e6E6#$8}I=h%yR_o-HQtT14+iAEr)ny!Z|-b)9)y zOlvxUk#oei$0?T{jR$Ve?J-AWX>>I3aK7-WwFjX?hgq zwLjhkenc6Lnn5^wWKN*;w!c3L{sQe6B!VQCm6<~mg5OW;<+Mdb!qdEycql#M zUt92-!F4V_S6p1pnc^fe5xl^id=duAP6Ca_fLijpckZ?n1lwacRbLU@rz2wJxD6Q# z;aE)+3U0jI@zEFODjdDq1<^7B6S^`4+kMtId^u9Jt$K(pZxAdCZIC@G@ujS{P9f95-t!*ck1QfaQ9x{=6mmYhxP-E)bx- zoT%XVPNd`ekvPUk-0att-3SR1T(knL;7mMXS7bqmPsvnKxb=N70Go}Vs*cIlp_tGX zlL7>PS@4AN)x`zrX^a&TKz&03BvVne(=pWu(lC2QOl5iz+w0l?eHS3Y`{x zk=!q*ohUoS9S8U^^+QM58ScvY-C6GBZP$EYRcp31O$daZ(9{o|jCO60PMZJK4Y7@i zAF2^A;oM}S2H*jp$+@7Qc>?rxh29%6i}XA(JFaoNzTM0uwH?*1v@1@kCiD2BBc7R5xwnh@phk4F^Ct@M*5is2673LT?OMI%q(M1Sg@rs=#wE z#U)mcFh>VDc(f(^+9s)7@=42(QJf*+P0}+jwTV;|DDsq5m~TuCM>YpFT>1oV4HLd5 z6_M*Uec7ze%7#_RUss`Q4T=f6qm?Feu~jNlPS2&nnr+9f%2~*BVUi0EH4)cgKHltx zdSlyAYocOOCOz+h(=tZPB~8n6ZCJRVq_Pe7KliJ0R7{&wnBn7=|BM&tnx>*+xHGAf zb_S%2N=|C$9F8JLM~K6Aw~1SrkiD~VE($8<)S6A{Hf)BNT=#Ip+5wRbFZP94MRU=F zTahsBOWKC4DLkDKIzj8-C0PB;ilRBpS{Fp=r%s#d8D*$9@C@Q_R0ID92>z~8=_;(X*kvb+azqo4<}#O6sqZp>E>EI=hhE zRS2k!>HM+;eJT*x21j5l+vKw3Y7>}sAP^WCc%UQ9Y(uq~+L-jYX4xXEVsfe>+B8N) z(3m0!XP^k?idzBS6%U{Rrx`+O%jc4s8@UAqtCFR7vw4j}#)_8^88+qt8Gi`bY$<>Y zb8`fa5~*3QJr`vw=JqMa>HGtXWD9*-;`)@lgni1XRifZKCOO7S=-ehKMTnSN@^sND z35RhaF%jW8CcGRmvM>`-c5b`y4l22mv|i3G(a0Z%`@N=W!rSZ7hP`&-ZH$JY@Z0O0 zxMOB;&{4G{w}%Wdj%gLdIPzO!oZLf_VH~G0ON_Tw%5YTwr1$k^1jsl&E+b*zpDBai zlz#Ha+@I%1j`3(hkMM|^`?LQI#XY*``LM1Zr|b|v_&F%or%igML^=1UTxGn2gv<@f zPtCMuknQWzjJuI+h>2q}*&%+DtXbd2bD9|pb6DS{M`S1Dv!f<9p1PGz8!lp@7&yT$ zS#E$Uy$IxwT zDMoU_DP$Ye>(RCcoAqGKg102^MNVWqw8?Rzgz(6Y;cHI5dyTns!FKTD(vI`1)fiQ% zsO5OI8tzdw_Zrr+sV@1mKe(mXt61!*a`0x;G%nc{N@8TB)w)v+0w@Tx* z*xgqv@;`jcg|1>OKQm^D*-ufnnWebo--OB2wof1QZYgYOlBsQ}wM8&CiRoMkWha%@ z^p84%!9R1GJ)e}-kG`HN8?N^gE)k3f0e=)U&LdJ}s-hBewzYT;0#fG6lky!9GILj| zkOO|)!|#Cz*Y+vRZ>$VWbIpb^@kFW9xO@Ig3D7{;a5-BmSMnsww!9)WBNVxX@0#&{ zVLmC5g%=O|F8s?xwH{L_ymK%oF4%ktWt5oHJAWXxQJK@&7JGH2W%*~=^<7f=l*Gj| z9-=b}bB@iE3@T~*j6tQs9Hh1O4qIa4H(@@`ud5xJKsHnQFTj(0)LhD(rH;%+4ygjF z$svIm7$2ruz){BZkoAntn}2Dv6}T_rl}qS^+|E=3KTiX5@HF#W8c$d9%sLO!$yn|M z`lJ->WB~^GoLe2MgBc@|e7(sJh#~o9sl}`+A;IlaLFis(r`(!2SG=$PNESlBRLyI3 z!@uT^F_hmsL*tXrKKsruYZK5>{WPHfZ}XdN6Y;pNIz)l1G^v9s!+;#nbqzvFSG;rl zg%GlHRFu4DgN{I=2z}rsM|R)3ua4 zMo-5rmv~}c#hEa&8Ce8H_2AQ}Ue<6oD~XO&&DDmi)^%7{e4#_SLb8Lp;vzj?bXT2< zYc4t~Pj@uzP&l_jCEWP0J;LK2RudhqO2dVAi9Jz&bG8Yz1<)~*)Cr)^MAo5#z4Xde zVBRe6kb*=z|L)@}w(k>8X zWUHjuEO8(Zl%2uSx|TfO5h$mzDQny~*}|dBvym`Qw$f~^&k`ABYh4l#Bl)v(VZ#lq zY-lPOF~(%$x>xhSnCMLgeI*Fd0%!^8KEOSz0u5CT9~&0Pbhd zd?1caKC^iUY9l|QEfF|I{r)UQ757oYNZIq*s3!p?7C%A4X>n%!6gz%Wn$Ixd!J&}} z8F*k68DdoFv-gX)z-HhnlUtH^?K~ywQ!Zfy2ejPAQwXbM7B4wEKA~x?ouo|BbF?g0 zq47Y=Ht~8|X0weaDK%*#Fz}OW+ZZ8aAvUSlNm7ciHT_coO!Lrmd+!Z^eL6e|)b5XL zD+#=&^XtXF7j9of<;3o2Ok@@NC~Vn49BxC3yxu3lD-1a<8`ca_gCE2Z=w1hP zMY}wp>&!c(eeLJxtx~`2e@}46TX>++5V4_{R6i%8Z83{%HN52W6n()AOj zryk>H2d0jO2g1}56$DcZ4m%i31d%^=jguP%No(c~GzZ?$_RO*;Y5!EuS z>mjT5q<*rXo*&(25Ke*I2`DYti^TI%q~_;K3`rT0gajclZ2Ai?xWjlk3*k!0$iCM7 z8BMlE%8rm78FShnuMyRf&5}6TetUAR?Fpx9@O&^hX!z}DxWxp-(izSEbr`jaFoEbw zMw$s($uz;JS(fzoiuu9xM^8FKZDx@Q;4=`A1h9V3;EZr$Sshd*8gMqy2TN?97)@S{ zuQ&O@WX|+nPCmN|Ga|@N&DT$&?xTTzmaKO20-3`D8g6qWQM0+2AoNJeCdJk?l}aBk zgan4R5s6bu?jRmRxU4u8-01U}Q9;Twf6JSI13`*|R)n}*&veXXOG6$Xv<0+X!RTcd zZPKxGrL5bTZXn4zA;IUYcUbme=Go%IsP@`1QhYf1d+w18M9wU#bT}BWn>ri}Nbe2@gGpMmip$B71f zxjZ#wgYOLU*0|9)^OhGrj`TpZ=DI0e9hk@X*&$bsh6g4wR8X|bRU{}8a9Gcn9+CrV z1e$2YnrFh8)-?Z~6&iMiNd~M@i9SF|p4Qc979RYYPrN`F9uMe=ji&x=PClbUBsi(W zRg}qQr-}j&LiE-XSr$-rk&;*qi^2<2)3`jC(EwAv7CvRp(lc^eLF zjPz{KJ8^PA;q3Xy8Q{@CvNNH|Ibf@@5m%Wb*7n|0DbuUmt+sL7X)2CSa;(Ubo@uKd zvKGwjmIf&fU=I4p#ySC}S@1KfLREFvRplzlJFXfI2PhF<#Kg5{;~35-t77sODXmVG zaRc|8K_S=6IX{%9fKAYX8&&CgGkOJ9oDJF1^*CT6(&(GX;XaWfqEE*33Sl<;lMap2 zeKLZ4>d+|7BcxXT>eW&A6Geqwk5qOys~ZXtV&|p$C--Tg$*I=6`xfh115P!l6pE2f zHi#E3E-9FkbvYDHQH$b=<%YrY`5wK%xmHB?`ouD2M!$HuPcBnV^NW}J)H1S>Xa1z+ zu@^Z4MJFwX2UFpJq+&H&dPlv_>YNK9o5Iit|6nzTb--HO$;J&2SzQq%{wekdBdQ~; z5MCS)<`&9tj96CShSTxBwN#nJFAn>WWwmP&A|A53eQ|Xmd&)`RcF5EsKsw{P%8a!7 zj(S6^kaFBym6-(Y$=89ZY~|!WUns(>Bd=*S9Z=L*RXgTU12*s-s5pc3Gu!_)V+(#N z&i||)?bSOl$WMaC&@gz&ZzzQqr-j-B7#Ns&(pL!Z=Z6tXoP2!|I~+b;vqamoVP5|- zh52ti%*}c5%$md1!t--41)k-6osH+!FH@KUp0N?@9%kkEgJ7p(%Ynw^!Nog7%{TJ~^A zP|68S$}F(OS)iM7{ig0nE38N@!gGq1w!Zd&LhZy>;;jCd37ju=K(;#A?9EnNqO5XS zL(P-0W#iWLa;}CdYdm>zk@iRQ=qM<33y%7vsXVKdjt3qpSNom=N z)eNwb-&iHP@-#}9x+qt^LCxZ^jczq#$vOX=6$z3EyYU^vGP4ajltiQ(zF8!)9<#Wl z1MD28dXryU<73cYYLa?kO+J|O&Ff0Mh@Kv%@O#lw=n?i8O0>{hB`=f+*a{IdP~|+# zyziY_Kt9(R*(#Cz%aLq{1K9##H9N?lUl!SpUq!N|@#Jq7DLe6%k?nYkYys=a$yR$l zE=sn-R0r8sr8sdKa5jm_G)v+Aj*d%(hbCjWT&md_-N_#zd>wNFwzUu{<`BLc*^O7!{yS^MbEJ4TPPfPRB0W8CqOM9q4^$6g zge#95!=z@f(g^?LjX#2E?Qo_&8 zC0|{viVuXGB;mT{+|dqj zM*;Wyo#48zB$I18I^mx_-}W>+hL&X!TiMC{*J0Ui7R4o@3m~W*rc21tY*UfH6Y4?n z_BiFStTcW2&gEEv6IWWrOkTwq;K>$eBYI$#rGGFO9<)d*P5Ll```Z3jAdf;^vzY)U zypuhcvWk=E*I6EMpA)qEIE@Td(YI;iqkSa$i}l4EK|rIZg?42jYe~$!6$a zz!_P(^<5}%0tbvUaD^op4j-qP=eZ_^Y>*}vwPr)}U2NdVn5n_?iI`GwW28ly(oF>| z5A9BpvjL>~YCtD~lK>rUhQk1P)~25bQ_ z&;MClmSKqLG*Cd?%Fx)*MAO;qey2Jzdt|6Dj$dIwacx?*JRn(P zD`j}g$7m#P_t+;s%_D0Ui5ms7eekRaJMMh_()vz$x(BnOzo*< z%gS1|jPAxAU?{l_deIER!6rBJWd9M3CP3dh#>2kt+Ck3an+0;j`X{w$-5`nz3Wsk0 zm&RKPOY|;|qaraf94JgmmF(>CV+EEQ$P}huiU)ycQxN(Ac4_o`FBDMIn;TpX4?)ecBtzlHM;8WO1N|tM6BKvEx&oB#VIz zi-i(NoC-?4#`e38?~D50o*PDO|DU{=$B~Z1e2vFwNE{^?hPc18UT`L%6l@bE+}>LGfX5!b<)w%^&bjF?-X)mKuKj!yu`Y{l8i(E@zcT)9y#CWE4t9 zl*A`jdGrx0|IpnO)Vc089;nLL3YN1)k20<^g@;vpoPYBOFbobJEeP+5MD2wMO4;WM zyR*mM%#WLPXTSLKk63TX>IF^F1r`8>1}-F+7r0og9u4=fNL(R*rb7nAS;_Vs^vGzJ z5S_n4Sxk-D%x^!hnKMrQa;fB0^?FeIm3>8}v8Tixb+EaSM=yTzoBx+IuwB{X4IrkE zU0M0(>-wq0o!oH>0ZVWG>pSb^?7vfxpi}-UG5D;)m$F}?pQ@B*3G5X~R5ybbjika8 zdBuNw_lJSxWyH&S>P1ze3N`*bExEzBPXx(X`ryW1l?d>myb_Utt)(jUgq*|`faq?N zqMh)i#gstF!at+|?vWEE=%a;vkxlm;vY`r3Hr<|VG=g);CVoVXWsYnpX=D={*{Hmc zjlzyaHYzxWZ1~2=#=dc7L@w-l)y)x)(dH$itAu9ER_*@1UBXgXH&id{Gl$^a>`9pwJcoO_;umz1Bs2 zVO=CksP7^%7QSe$#T$HOowTpCqt5Y$!nm1G%jz8&;l$JG^PQZX0>v>@oZsNw-=#yh z_WbvzO(PJJdd0+oCl4P9%y{=B^_W3y?`3SfFUTG5Us@jp$R+hq1sCj}A{H|mPxhlt;da1;NeRi^LkFC;6pJ={3##r?KFMf?G_#3AwmFbEZx#IWN( zLS!1lD0to&iDDqKl088>KvYDVz9EE(25(JZa_s10;fEQ2AeS2dKiFQrH6dF&t^z9JI1}1!lc#9n`#kpXwDV`hw6;N;M%WS66}uV8SaIeH_|3s zotRm1PSB%dJQoeNWfLytG9IrM>KgQ6@G3a5(QWzB=`+61p7BZ7fZ@8q3mh zV|m)`Nw$z(XK9Ml`mV;B>^j7E*-ee6ev~GBj-Q;>eDMcAC_HTAv+8adMX>eU{RlrA zyR&{hV8ZOW`w>0)DuhP*@tf;RGjX~`Td`;gVF*r`KIg$!9V~YDHrAp3 z>y*lrAk>2zarVR?(3LIB`*kI^p;5#VPZ4COFp5~`DT1?}pHsP2hnPol#sL{EgAjUI5iHb2o( z9U$4^^L+KmRd|6%u-CE`*#R!eA1+okm?hcAs5M)Zd}$RY+tj<=#tj~i>G4wcSchF9 z)1#?#uN#lX4c z>$E%&0}uEp*#mx58|%@K%E=jWiD3;XThoF)w5(m^g|HpSF7gfK^k(gFWX9A0 z&$91N&N5dcDV8l;+esmrtfsZn(l&;O%MOP8lu(x>d)?MmS3S)H({=chpEe_h0hw*W zTZPj1tT_@LNF!Cg1E&O{v=p5#)SDf{bj)6r?WHnvvAcfkaP62s;@#GcNI4s^pQ2`? z0jy7C7=*~A+C;D#c`Ij*d?2E2#V6ZVEVG>0HJH5LVU#i%@;^D4NL{y-e+Q7h>iK>Y zd2OQLIK8Y69Y^4wy*Rjrb-{#(1-?`@O=>=`BRn5jAJ_u0+*J}UbY`dk_hrFhvR z3B+`eJeR5_2m(E^h+ITlXf$0o;FnXQQ?T1|a%cj<6g3)GH}vs?&L(<5(+Qppnd}7* za_r$12A!p42Bgl8>Jn$7Q}!TDE6io3+mYkw?OKRM(#X{AQX$Q`+CT497D(C@PH@f4 z>NOju$CTMNZ&W%4>I6dNb~U;W^UgOe(r%XTZ~{*Bj?qDcK-$fACxzNMHdEdMx^+77HDZMZWR)ozOPQlZlOZ{cice&m$RHQIv5zpyJvog`FW;IjJ}v8d6^ZkGij)_armeB?n#Izgpi>6Ujq>V^(LgTclpUi$y&bagV{4i@Dq@j8Q`7FjNe_7gG5>WNrjZs%4y)#L#9Z&#}9EYqmddxuaObsF$FOktC{k zM3o{+txklh2~jiMcz%CVuA~Ot_0m-Ss%C+&i)lg9G^-(e&AC-JLX=3ohL=vH#!ia1 zj_G?5&&Ux8pw=;cL6{lmXX9s?M-*zC4I%%tH-aI3a~35rJE|E$NBjMABYM>ns}zPi z0qMzKTVRc?v5CntPMbS!jUR7h>5f~Y#~ZhDDL&r#ne6XoKK)J-cxL}N`Q&@!#?tH$ zzB2p*+D~@&^G|-c(pa8V(1`eYV{>!kwsdpjdj5Nz9u%5e8n4%nYV*3rP3e}#*7Ul@ zHmGpdTxmH#TlgU)y+NdSl}ju5aSH(>JifH@MORu*w5e^Y2&t_iOz7 zwf=qGzhCFyulMg$|DJ>X(j|<>7Q6~up2dJYlrBxT$WOMbx%AMj>D!0W?3t!L$ddoo zye56Ed$&RF_(Bh_O9X`X8eDcLU7lX&z*%l((#_8_?SY_bq&K>E6$AA; z12s->Iwo^Z@PR}lmB;Fxr)^;c$Zg)(ybdrj1<=HiN&B#)AJw z^|hx14!SVZxGvr7yKqQVyKW6NwxqT6H4J?1P`WC8jU$Uyu0OXv({!H*>FJx?JL_u- zUU*nZ-^7>d%xgkX>%^*EO{;>cDaa%AU=10aD0{$M#dM;qF6Wi-u0842eQTIwp!-N5~uCzz30ZB=27pIBn<4q}D z3pH;Kgpd;lZEz?L)jSw@2qbo8Cm1*)MqTc~g}(Ir%rfJg+@Q5sDqLw zBaF57b^0@bXod9jjqaWGHSfzC`BI(P8j4yc*6wOr6;$o$yY7aJPMFj~0Oa%?tIK(% zbOTqps}qRwZWyNP>6&yK4X!zqu1>c(a8^4|uYaa#u!}zW(_7p-N3~mxXa>?-_;L}T zZVN>L^%d#rT}}SqG&EMJpVB<%JiIE6xVi^gaJV)Ak}({xZz#|0>U5E-9ME22Uxh}X zZz7#lozbAH@|mVVZ^Yc{eu>WM5#4_UrKzg!t8%4*tDZK2*BY*>G>@oz4W(hifLd1? zsDxT8OG$2f(^rT--k8$0Q1kVH5L)zIhYc80QG;Qf!E`LkXh4Ru=({T&5NEgOyDC%+ z0Fel)qcp%SQr(U;N}e?6ZJpA<)LAzGi&a9+-1gHH@ZX}oF6yY+=zCjwy@q`@eQ)I` z$JaCTeTULCeZ3=$)V@x41TqxT(>J(x)>lv8)$|Q~sm{DU6tzweQ)N|9wWIGoH)M3e zq+UCHm(=CFQo6y88doO}<=rq$_oeI8n`m(Tp>$n(lLKd+1NC*!G+pliby0e=d*`T@ zA>`pJ)0_EnBcR?CiUR7Z(sjF<{QuR4#wPVsn&<09@~N-;l`S}28vw}|zS6#-Jh$u8 zjjnP)dzC>H8iBsoizu74%(%EJpJ~2M5E?PJx<8P<&avXI=Bp@8ReioHR~oqb(pLko z2bR)2qVDySh6w{|U1^{aYOO3KxlPhni9X(t(zU$ix%Ax!8!)C&gAsp|!E`LkXh4Ru z=)0P}Qk>nQ@1{`kN+1$Jb(99!jjG#`#(*ac2D^{az|>hc0E<;Z&D<`cDd4|Zecjkm zv(fiWsq6SG`TcsSg-*|HY?g*>y6_N22-9hgRfAQ5X5o}Dtde|sz|ue>yUDBZGcC5l z`hb!h(>HdcTCul-o^exQr8I8WC2efSgv9GeM1Y)*_;BQN+{OhbG{#{{M$64y$P2rX z3x388T-X_bCnUxDxP}WGZdY(2BMwPZbsAm51rKG7%X-`cTv8>Mk91BJ&W`lD?J=wO z=@tb|N9hg9Fc77$*&g4|W!v`nJ}z4o6da{DZIAEb@_Ll-;FKv#Th!@9nK{2ID$wuAsIfNzgybblMszq;PKJ)YL}dUC?) z`ZL>OIZ4ykk;qur9cmvcZJ64Y-eMMH~gY>3I1Gi&Fcj*zTQ*WSj$hM zS@g8dPuv^&sWTUL?r#5Nee097^+{jrlTCawh)b@mnQL0#fR)h9wXJUm9LOd*ziFr% zuuL`G9@@pNYAR`W034S=sIiBqz7Onj#*56o>qy?zt{V#lUhUY0FRj<#Xb&akntQW# z7w0K9{LN;?Os()YM9VKvuk|+@c40Se@Hgo$45w@S4SA+lrknf?L05h0Du2WNlvuam*+wN@t-+VTJps(?8lYqb= zJji|zHg&;*swC@rloeOi*(fG&zot&>Ca&iYiQ+K~cB3Yr+- zmGAA;uW`^Iz$X8&NPSD`CaWGw?$(>UyUAkdAkzTKxm>~&e6)|U5S&4-OU@L&90X< zb<$R#*;&E@mG5Je{l5B0CNDg%f-_KEK8`Cq4Se`%I|s=~2?+poS!2of@ccUp+G-TE zT#arE6coOmR)4x2AtG7k`Fe+ay-Z)<9KI%v;k;yh@&n|$^JI(FZ@we0?ZpW7rs?6+Kq zxjw9Bl%OWMIWSn_LqBztFiTPA z)i3f*wFweK8b;V`4*J1zBJzCVVe7F(3lG^cq`^5CIlfxa!B=d4b+V&3`{E&pDH0o% z#aF%AU+Mw;E(t?j{2*#il@71s?bq}+(c;x`G5O>5xET7Jfa;TA>T4+JII$|M=D$4` zN_7(~ZIY(O13J$n&p<5ljQcH7wWAV^E^2IB@4K_V{j&Jl#>_@c;E>29C#Nr{IRta( zm_Hgh2)2ZAM6mdC$Z*dCp}Zsgln`lUCRFLH(7z`b@Yquz99WRX7tN2Zj2re z^(NNCTK2t`a8Wa4nrdq%HWG2H5#|D^Kwff_X*p2uUKVaF^dlQa(UK%(Ci@8MG^8NZ znhsY*Pd?0krz9H_TDmp7B%jvQpm}34%O{7G>W1YLP%6!;2^X+F$_gq`jW;5LSS7tN zQv4Tp+uYq&71oL(kM44BILu5+YQI}mZ4$wPNzkiM@rBy9VDkL5#fTbAMYsJpz48kEzlD1zYqJ|Z?fEsPO= zEM=suSZw~1){L$@Vo*pxS)m1f3!)LjKJrUrAX3XijsPBT1d!?^)p80DyPJy?JZ$6M z7sj3P58BYTk2%58QQMf)QH?osMT3K{TjSk#dp)&&J!tFrmoe;0=OBVW>Pr%ddFiVH z;=-UavX*(3m3u~>q4rDfUA35HXZI~hpP)^}Nf`N+F%ZBDBawV#jS#WKF+`$>Sw7N$ z*!ZbGuqy-Sq{Rg(1LNC1(p913jR@l4Q7SRB$4v(?iJJ~iq$;$b0h0AYBFDy4%4d{} z^PRLz<4>ub>N`*NK%3A25;*EjzPbXaBT3+*{xtABGL1dLj+$z z@*WE%*It2OBErX=#H@Hp!;u3DAqOBy%w7*6TD-tQ{{EznMj7$AcKCJQYzW`&PlV=_K33saL=qMW#?{Y6o!nZ52#6og`WpSmXbx_ z1_=u<-;>3UHqgO2pP$u8`K~`VyQyBXfo;9XZ`ce+AcYs|AZo(!zh$GluWlEJ>?-ik$-ejAHi%bNKdqipY+A2C|=2a zM~1v9>fVt53o|^l!-Sq0GKrFG@0ssIZ#HcDYCfdpSvJF9B*e*P$aOB97|vK8jPd~; zVsn8)tMLTLW{{eMLPaKf1s5?>4a-%)z4Uh78`)4ak*YM}Uk=*WONeW>5VR%^*CD;) ziW4N3z0UA6J2FrQV>dhU^KeYt#1^?Eqj7d5&z*-YV&FfQpZ-jBoA?%Ys46_qj6p0u zN6bgC9@jy(ROosxYEzh`F7=43Qvf55jtJG*=FR%;USC2+qK?p=0>V;$4(2486Gf#b zb#rGdeaWmACeL#bBtW#YX);V=Zpy0PUSBGWiSMp2{-4-uOw*C69LQf3BfU8-7=cg1 zp~gA0Hvd(CvFc_|uQCxNi^`<-OOmzx7g4unP*f&+jQs-~Bu#QE6aEdf6%eHHF-X0I zk(~gEnvSJ05tL;qclZ>dptb~^35-qqfz_3y!{AdhqrNIX%2yO5qXi}$YJD;LN6}mj zn$tv2@zYR`d(-YbI|pftXS^(laGlxMIHE45=mfeyZ#$Y8d}AD7)l|pxGhP6mE-Hlq z4^GfqO>Y=Q6s>B0DzluJg>-?=xx*)_ml=+TK)yLiY`&YLCB^KXq49H^ zO^)Ug(f}h>i7fPU+#GKbC7g{%I)!;XO;s;xJ}8Viw~G)pThdG!nad}bbLnZbjNCjn zMbG^_c3g~VvUk!(HA?=~45MQ_S63!gl(@Z0_AbfQo_xAk0K8eUvdiG@%|-=p_kvPo z!r+}NRUEhzEpU$paDNnX#f&g;Fk7}5x(*0WXlyxl}R0gD=X~M zq{=`pRsL7WOO^3>mQNAirJrvuKj0Y^M5wxJ~M9GFLRjBp4VsI!FOQ(&knfHtfL1bvw*UbZ%5K zjMWLNtdv!=G(Qr@^b=`grkhzqSo%@& zANA^9rPmtZOR>H=#{S2i0EUv-Sn*AJ<}pMN`QNo*fX_%ZL5~#;0k#FHL{^av0Yxgn_up|7fJoqQ*Ou78|iRP}%0{XdwUqI=wJ;68bJP(Hy z4V&RP;V95}O93ZHcir8F+4DEUf%W)1*0Kxx@TWNTk0 z-yy$}%GWi6Z7B>zy*I%k9rEj>re_>Krg$${pGMJi|kc|KIL39=wB z_-wY}L~Mh>WyQLa42nkQL+x$s$uptaS=R+tpy$*xoBety;nqiA4(zvb4pKO)x?pE3 z)>a6uC+~it<$uhGT*By~emRTt)7i-E6j%dG5E)F~q&euWpcy&5A`f`7b;u z@ql#=-T#UT)OD{wrBZhGJEppE&+Z`Pyq^7$%GfvPP27JVzh`3N{(bqqD}PA$71fEs z&-*{reXM(&6>`E~XeRjQi_ZjyL+4Rks?if!L7iT~R;5+$=Mr1<(&Ua0Zno?nTtXqJ z@?Pe8+jz?6U`nxig8P!oTjZ@^3nCxx*cI@HK(TuGR43zoLgR}qVaoekG{IerS<0!}eoeeX z;%bFIK`xM#=Px6e1;IjiOHwDZP{A45ZE8U0BoD#OQ3K{E3I>aUd>kyEw||VV*qi_w zcD4g2Z}$SsAH5&>HZE9wd! z5I&2fOdckg{bGz9P=Wi*bbvDcU zZhGjdO7-;Z=bbB}@2dmL@(WVc#!hr=bcE|o4YOA^)^UPcPkJ&x zW6~3wSC}}+U7w3xgm8}kXf~O#>^Mi-BI)NNv!z!oEeR}xIn6?0vYjoZ&30_JP|SpE zlhX9cM3ds)oM`eY!4(Z1NV*DQQn7Nf0SM5xsmhQzgQntUEoEcSoFY7C=XmT*PYvLI zys3aGn5)t%u}`Y>vB989W4tb0>}0E$g~V|5UakYnJHU8i2DIvztKq!rKXauYo^Sh* zxs+Z>Z)O5Dzk$MXoYm@|2nOtc*)SXt4AZ%}VB^b&mk9h!+lS68fjR69Sab$je2Y91 ztzHYOXVl^WG*)Mz1V`K@emH)mA0E5X4~MVx!_n44zsiYlGNlWin@G9NVsA zc=@I(orU-A-?X%e zvtzdx-;#Cl4R#BW3gnq#T2nmJK3%aZM!9Mui&e<6lwaYj)=cpz)NBjDx3yPK08D%J zV@0aR#r@4SuF{88C!JG94zoANoT7*|B6JipWevYgWp0e_rx`h76_}X3cLQyqKNXri zN_|1oH{%ZEvV({`p0i&kW>sCrUpehjfFP^V#KkMCT9+An77NzxQZg$3h{#_qC9FzY znj%;%BNSd|+7JUz939qLHSJH{z1rN@QMG76wo1py&WPQZl0AILlDLJl^;pOeu;OAi zfWgyyH}LZu;|Y{o^=F&IlNO81$p?f*6cL`EEkY1nXNt}8?(F7YAa7`iVYY+t{z3!C z)HkWYD6t!Ddo-c(m|$$Xl0$3t-DD)NQ#%%uTS6xcGlLPR;r@J)t`g#AZ5>rUp%p}4 z6Qq{yw{QiDoFg6(^s)WG(xa3VMM(Ook|Lt4P}!@=-;(h)&{e40 z88#;+&5Nto7FNcw80L*Frz_nvBCQqvZO(A5(KWkphI1STpK3+l9N<>*1T*P0wz51h zhGQb->^h_?u{OzfR%nq9=ub&Qq)sK^tYk|`2!{X}N&TsW*{>d40)i{L{`_jjQooD8 zNXwYe-FL5MJb$mKByu_%9-`6UKKB_?uQ0fTo@!4Z=R9bY1FF~Ad;G38;lPAZWw#c! zRI*PO?oPf@q&xvoz*WSTz&qV$zbogzd#@xwBPoJT5sF z!MLu-1~&EC^{}X)c-2P2RSB@_TsaJz(3dB1GCbzFy%ZAuk4E!|^e5=OmBxpXk|!$V z@U7I6wQ>-Z@)*$+=uub%?OMi5ayrr7-sXVwk0|$9MOdqmA2M6<3&uaBhjQt<#E;1- z1#*fSootZQ1A%NW?AB#vS{FTc^T(sHF6vk%BCb1HE-9>gOg2Xas4zR^MWKTle5D3r zHZe{DY3?{Iw8m1VcrP7^5NFNUe8&g zF;{P1CF24^b~%6yUkXIjU>~r*nmRTzkt82!3Yn4wLI()5q;o{nS%Je*@-7KU4@4gw z>TlTYCDPNS{~vYl0%X^9*7@$od35*b$8L4&*|N3Iv7AW6vdv)ZU>nftn}?0Z#AICD z+&ff}J4Mx{)Gi7ckFW2&PSm!Qq#+7Xf(S~+H8imbYe1POpczCWNIR%P1DZhr0ZK+Q zbb`nTFf$Di84VH9{r$hS_CEWZ?zU`C0&}gT_t|T$y&m8CUh7-m`qp5lZhRc5Dg>=L zKp7RzbVkH@JHX%&Y~BhDxY`3FI<7E4P|IuSUJe(NeK6@vSawFtRa`-{eBDf^bq~@3 zz}M}$PEuk6uSgD&gV{VghYN zz?>PIq$+}`(h6||)C|nR7-=mZ(fw%Ye2iq`5O$~n#zlBtqg0D;Hi{ zsw$Yn(VMA-s60N*fhqZLC;=>xk&2*$^w>#DB^Pdm5)Fki@_ad@SV@!&nr%vQd-r;9 z5^yAsbp|*S0S!WdU~OLapd7FirpsK;w0-Jf3>VSK9fChwtT9?Zm@th8bZigaDK8_Y zQ8Jua@^oif6;*KTDDyxSEeHmSBtpG@=ot`_oMCBMgZfel*`0E(-R!jq*SdcsH9cZT z%?^2?0bz{gquBxDWm#uTOiU)M(YD2o)#M|KO&xJV3LY!(TM!wA55|npg&P`oZsaWp z97;!w^CM_54cAiG(;>nIUfFopvwy+$|rN_d%+rQ;3H5`3nzjk1 zEwKo4f@#di2W`Ogfu?wgBMKN z$fDas#cP>1kQlLRyp{<3d@7$|Q|L|!VrVu867}%3-mDYM{el3fMT&uf?x@KU5KA~e z=Pe?w=i?d!BY?gzDU`GYA$h8j=>Z`KRrJtS0WexJxq2g# zgPOi5A~X8DULEjLI_r7tN&Eq+SP)zkJ<|`Cp+>OfTGkd^@Vt@i*M^X(64e0_26!oT zWFp{LvZuzwNf&dC9Q$#*hrIABD|B32bQZWhEd92tMHx~{6fg^?Y%W*|hMr;0aTgJR z{yx9!Nk;;Meg<**?e35kdy;xoDWgnHhmrV;TFhV1jclc9$A@}ZaFx}H4;%mOWx4pE zvkhR($JB6-zp<1#)E96H%Qbk6OtqtA9g$*NdR;9XF*7t18x$`W7vzBwC`HJuKqBhw z_jQU+`U=NF)DalJUraZQqD(sD@-IU3(pf*fbPl>A7*Oep>?|~Ov=ld9R#*C@y$wiT zCl$1EHJDP@cF02=$wIzK__$>v{eq@$_}c%_*LQGj?Zd zd$>Q8l}6$&b$TFX#fGK5>K_J$*D3HiP6LE_>D;0zPuxYc zVWt#t%QnfCsd`|XQxf|B;6WiL0BVwM~uJ;rVQmrl~;aCN7Jw z1-K;x8hIJne zEz7d4>XB93@M&eO#0@mYhuB)Iv`U3p8&@UuUVsU@-cpkh5LjxSLpX{v^{k$RmO7v( zK%CPPhZl7fa@udNY^mv)xZ_RIj`-gTid22r|HgS9OQ8RKM(GFnZQ!Q|ZkAYljciU9 z3c7Q)=7xn1XJwd>c?d(-0B@xslQMQ`l`LIsxRNDQVHu>lU^$001iE@qPq5{Hs#(y& z(Ctu3=E3m5r_!!kU4)Ok$q=2PzW@Rox0cT2SS_J>K}9IT z4HC59B(*pvnYfd*ow!5I!j=N0cG3tjwd``cL~QUR0GZYt;NL>JP54q1lb_9tA5*}~#dWR6a4vpNIoCnk0Wdi~eoqbsSp;rE$ zFJ57heBp7NA3LCgM3!HE-_l`sqhgyj5EyEaX&3bwV)2qoyO|vjw*crZ-8f+g<50#_ zMVOU2ZH-WTKbQfsvm{_CtPtG%8Ym}R*Qg3_vlp!Ji&AauRzAL5uCsyw^}1-LX<1}k zz$WE7hXoB$XjIRB9*zRa41jTUI>cWa)oI+{B&v)~jTo@4AK_9DkeF{zmIwf%?qm{W z%#e+fYPeEG2xIDHr*1SWXZG_jC{Wy3tG-znAW#}BTvfQ)a|z{b$~Q}$;g_Lg_SDvV zWA?>PzCHU20e8TAEcG38NK4#O%_62*(;7_B%+)2TRvlseEqRGu1WgfzgW=AyOQb$Q z6Yej61~>Vgvc=mlvulzoz{XwpAQ{6xL)b&LD1rkRn|Pk&0Nap$oUglgf!9yqq|f|t zT;Fqk*fH?9-7|h0iM|(8@wM}pBH0%pwd}Mc9*n~sJxq&(YEglZj%+qep$!PyNXG~n z#Dxii7<{y7lW~^LHQ|*dXcxI1nJG47w*om}rJ=?Fnd*I4IFLz%)$C`Wr|t+um~t;N z-Xr7~&VE)_bsO&@ZSpb6*>OQY6G^v%V}aG`F6h9)VaDLMz>PJW9_SDlZ?Ue17KCIQ z2$aXfY|ylKJ56oi0(Y|sly@de`W;{%U4#Rt$FY`m@yzrL6u^LN5_t;%TtfVm zo`}AadLqnE!0an**e#&o8uKk#@2^`547lXI$!##+dt!DUJkB1@+0;!5Fn=3S02)%# z6_hbK4Ik37Zh@!f&X*>rin=9ChU+oTqm2$)Mh?$|m0!g9(w27Tne z=P-zxe9Frn+@wy3nIHX#F1k6+PaQour6j!9;mn!|Fkb@tB&obX9om@@UzfTtEB@{! z8XTun%jU7qd(MVnb0?|T^BH3RXRW8_8rg?B0`o$%;Am`0$u28QlbTf0jOr9O@H9z{ zK*0B?QPL*nrCz$c&`>G%zOe8Pt!PJWNcrn&Lo-;m;agDsD7mJ-z{MFSD>)PPPPlwi zfyW{!uL@jgf~d5Ml&=L^lWL1{*1!g+S|O~jYq0^+W@l~`a%*XyXXui*bI-y!W^<&) zt^DkY4OIXt%c>&#fKB2KpXj#l$^OL+`4%rJ7aN7D#QFrO*D%p0p6-zvX6`4U?gw+O z-o6#E4;JXAQN7lWO1LBPTwg&pNn&wBuZLL$=wY{2d&?@WQTbRsu2q@IMOLWB zOnLzCxr(aRGRf31y4>>54S18mt)3hc+=Kro22Uy7hoz34m_pW|x`*w9?DEm~KO%m8LwqkGZ(*|5m>uj6c9o5>_HIm6)xLrl3z8mJ>80Vl(Gly_t$iE`YXbu!eH zPjgN;Nfu@y%JaLUH<0~py4yI)+dA~YblpZf_e5{R9P*nsPSVL%k5;qdw9)ia}gVjIgTXRpKb7hIsC1h<*ug7TrtTx9UgW) zo#=}-p+#&)=63KZ5`HU0ll*iZC7Z6=j6j2^E4hZVn}95)1^B;8dIOFjJnq9^{f`fF zmS;$dd;|fh*-xyKlaaPXw6RI7B2c55{XWZ8MvS4u9X7#RcPD9U!ITVH!)2=TZ(LXy zK2yi8_oc9;{1Sg#YY^^(MTpM)xf+y&CZNyz*`(X$7I|cU&h3Q~EU0>1b)7QR7E?)} zQujhfc%hG=X6YTmGRQMxA!W>L`{6aRhleNe(oSq^0C~x{B`-Tk_D3DT1;7(FME)w6 z2CnclsH`?T85*mAiD{_O?avh?9nL5k=Qp@Y!f)2yvh6MVDQXt2#$xO`5bYiOYA(7@ zce<+mlQM%cq!R)&@60b;UxVumxbuSauTSuPf_Ir%lk8{oD&0sQ%rh^m0QYc%F-s^A z9wk$FP^_bM7e?>pRS9@($R=*+%M_8VZ& zuIPA;&x9;Bn)nGVqO_VL;}bd<7ojjLh^25ZlXk&sQ@wZs}?_RYN9iuM(S>Xa-mj#&fdUp2f72t!F1p|!}f#O zSj=yY;C1!Fkb-Lr(dAXju&4ye&3=H}Q4rKuT4Q72OB+E6&#wfcPMm%GCgW3X&X{x0 zC}ttkV$3NB=b@9ndNwAC7D^Ja@9(QMLxwA+miBQsXm1WiEpgVz$qOcK5$Y36oPTr|%jP_JNh#>( zY7ieKP2~4*H4!CYu2$!2%hWEZZ_Mo_xZ3^?z}4<{3q1Z|xEhD%`mz1ha5a?fUef5R z*F6&$gJ#o+2h-pCa-t~mzJ!M9F{)5Pcx4~3O814c_Lm!-|guf-W{NoK}UyhZ}G;W0P26`h>%|k}aEXIK#SC!U3IDY%=!3 zf%pWri=Vi^`f-bg<9i}zBy2*At0#V7T7LhfX*AXkfMG(ayDBI&tY88NLTa^s_~ioq zl1^5b41C|@Qvf)%`jcWHHYaAIjYa+*qp(9k zI7>Ze32&?(n-cO4_eg$K-aW**Iv*IWhKB$9jlK3)v z9Z}MkLA!I(tq@h(mYXM$-@-8lepYIPv~xo=*}Bjg&NpyNqEAc0@g#d{1Vj&_*$~(- z3>j*K2Se0ySESc{ypXn ze(Kf!f|eZd@`#9p<)>cA*Ci7JIIC%R7&#P9hkZxAG3a?q1u)@xSWg=`9%lU3UOIo- z{?1OZF{=Te;s}N*f9MyOnrm*7eFYBt;aOjIr<>9_1Q~b6wr~Ir-zZ2d4}wan@26}x zrv{TMoFA~gqhpAUm?TV&SZU2hY1%vHBq+}Man!2!6nEZI=DR7X`Y=0%XPa)aodAk7 zrNiz;E621l0(Ig=`ft0J{HAK#y=24~pW^J~4Jv_U){M@~KE2<`7wVgx?5w-1<<67@ zF7;yu4Qdt;4cnTsnxd0gP+rlDT3_1ex?P0`VLDc^L%((z&!Xd)C?zUz8<@P+prmikyxyWpKG{w zaA?`G<=_zQ>g8R;H**oO@JTD1r$#WKRXHk48?vC2f=l92V#eF5_HX?~`%mXIlR!HA zTVi^7MXn^Pq5@-0+L`zICq177{20_#o{{vjWU-|cy;UjSTb(D8C#L2=4)O0}ryq#o z%JR$x%|@?8_40B>vOd8|%t^Knb>i`TI>$Ce2vMvYSh()Q*K z##(1sOUWU-wP7^-Bd%c0hjykvOjL$3QtA8wlH9p3{tly^NvuaU-Mkpse?kk?D8-qebnc00SjcU(pQoBLvD_%V@JfZMy0Y1nI@p{ zX1_40igqMFq)lUWLoaWak)Mvh{<4pc;IJ`bAHj)ZJZdN~OO*IzcV1^Qc&MJAH3!2X zJH4y-|1797$hX-baVyJ?aXL)OofR*#iSKl99Dlvh?3c*q*uX}Z2G0W_3h2a~Te@p6B85V!`#Z}0)23!hijbEs;g+23f0IKb6<%P3+>O6ZNH2d2u#SG0hu|Ixp ziau@P16$sE)|R(~OMEZ)=FYJ8;aPVNxzij+KwlC0@`4xJ$qqlxU?C_@EEo_@t!GOw z3=IR+Va&)CT{YPoW*_(e9KBbjfsQQ50CSNkwX_e*}*;^ zJwk+>4vhI(lHB3V!CQi^vGyU`cfv4EY(jk-E&4VpC}gK^6bvrX#U06|&3-@XJnm2| znnbaRKuWKM#QYDb4bhKPR8-?Z|NADpR%Q$8yJsNdG5w!ocP)>Y&;Al2?(@-aT=P#T-?Dea{hxXd2Z5k7zO509XD~u@beQ0pBsjXt9k<)Mhcjd_B^c7u{bbsU5+VjL;Dl<;gI*iWVRh()Y^_3o*So z(Hp*s#rv;1g#v4k5`#cOu)-2I(!MkB!DXXbv(B5TW)GQe%^WeK<2zI8fC9&)99Z4F zXd4e_UT>LURK(r05PXJpOIti7XSXoCCe4BdtYDg02}MXc77X{>vM2kf;3Mf|9P9O( zzk5|g)N!=FClD5eb|U4}hf!-bq-%W1JSsV0C z2)t%NxC4P8iZ_V~ZPXv734a1hv?E3$Z?VJ?PgL#>2f&;QWDPQ${n zT?7?}E}ov!){ti->JMa?{iRS8IF|sxL4jVOw2pgTc4AxrnHwuWZi5oYDW=dVp#B}f z9LwD|MKzI*oZd$PT4x(d3b$<{*)HBin5FEqEE-T+r~>ZJWc;4yVu!s2`7XD#ir%mz z=nWocw0IiKo)d_~Hti%jS`Kq51wpp;;)k&sc0uadS0vh`>Nc_uw|SR&$x0obFm1&0 zG39pidn7g+#WeYHr8P};Wp&-lYLJHHRV4Kl(?^ih9N;oZjnFbltT`9peJ{J!pW%btLc^lvB4Aao>^jkwOjG7DefWD%KDe64)Rkih8ztK^%zqjO^Z zfb_JUl60aWO-?PFlV(k;-Ib248bI8y%dm7vCfo8$tPdj{^2K~ZJOpi26|z$CX+ATA=IwIyLKJvdF zQeW^}I_`0mTDCxoCM*)4`#hW&psBAj5_49^Uqzy&5WcKh;p3c1KGB|)qEkx!Zq;J^j~rwGE; z_|a7eLP&Q-Pe5>)D@3qn9rl{ItOo7aP!J7)z8UoCnJNQ6OC;p8fP_**)9g@0HCJ?4;(hOC@&FuPSz0%h_jdWO#<0S2yno$jP{N((8bnCV$_M zM0$TT&A|QEHXhKLK6AMQ-daiQJly!k)EV6e<8 zv1yzO;)OqX58iaPRWU~>wy1#76R1S!TpQdX^US>R8-4-cv_xFwV${wE{I*j;9$bzT zAB6Rx^~g`Ep$P$ff34nb`HTvD=ND$?U6&&avI6$#0_(G1*qnWRJ(+fbZr_iYDdGm}2cEOxeLa(WR}^sxI%Kt;Kjk~st*6c% zQFJHyTqrvOfO}_)!AYw?7dJ@cqtMe1I&oum1z@o5&wk#*S7z2b_W|rp+0#TJi(2aM z?wRev@9dAaSoAEjJsat8=+8(gZ>#^qyEs2b4NCjrfKCH53iap_YT6u$g<^p-u1WC< z)@&57^>2;4NHrs(eBzdj^BbKH^n#gWpqEY=13RU&AY%I{TW)H&1K^FVw?Qu({ua>b z&~c)!eLjzHd>U(8ALvCcSIzBQEG^ zcJm9rNs<&hv0G@xgsnSDvX87w^9wOY+J`L$B*;yaLRLzPu{*?-S2C;vi`^KQ>IB}p zCO77o`5$`#Gdc(c=a7HrI&dSF%d!{coN^~nRQ8;fr0aAda?#t5U>`Gv)6&Nh&oMJO z`)tVD`L;r*2w06xeGROxskMCKm0&erw4~aEHqh(?{-SPg@EQ)1&9FD|8jkKA5@A)4 z7ld4ik-7*}?vy$>q`Ja32Xw32Y_uju-mfmCBmwnZvTG0l4U7$Nm$Wc}3 zFKy12x4^J~>+3@f4RteZQK6Lzv+#QTG3z)&fO;hM3_pZBC%M9M!RiTy=5xXXJVSp^ z&!<5kTL7^dKcfUbG&P&P5Y7i&65^<5C%8w!V-}?#6d7hguA%Iw+N{v%nzbET9um`B zK!<__??}$2=s|SleA?D{u&`G~+F8dp+9x(%eTTMNgueRj_70*~2y78+Zj@n83tks# zS&SKdJ-f#^wvWMizn?-TrnH9S)1}xus)@4>%cyKEs+-mv&@*|oLuGIAly2)Uw4bkN zx@-mUxsDjbOH<(B-4O(cBlb%dd#?_|q&nWM4NOK6vHC~5Ff4(SOxc~A5EADnZ5KOu zV6veNc>K(tE0>d&iASv^n9%a&u!1n2hXw5&$wLyUj!^~7XLS;A?I3Ip-zs5r zN@=&(g1goHYE>nu;y(RRj9IIKP%+tW5D1s@a9y^X*P#)>B-I=BnFn?*0L@)kUROc~ zj=tAq8-XyyA~1U`iU_p#ruU$N2(*6M{EbNrhBe%Dt8D64i;R0dfdb+fPJK zL%TeY0z&XuzG$8S%B$~^kOnTFeNbmo_$^A|l%lFNCU2Q*q{7P-!=tZ;VVSfgSZyh7NA|kM9_g?+SSf8^Cco0*IZd<1 zHKK9Fs5xUf8%T9v)2^^1!Ak=?pLOA<_kY332opgonT&Kv#aBT}uuH;k&D5`)augH-qtgD(nA+$dlW4q@zwZsS*Kxt>;_cMn2 zC(|w7?y!)~sLE4m_T{{lZ!mWf#E##jq+b)OtmxQegQO?lpqy=sJty-Po{xa$?!vM^`!|&&~8M;qu3Y9j*+1OUF2{Y5BtPmX-vR1)N1^IRXEZvp; zq=JMS^G0xQ`{$kdj}cRrl#@`#=Wq&CG0gt>p$&+0T6}O$g($RBJ-ebS?}E&}Pj_^w z!|FVz-Q;_kqtZwJ8;F_805Y+%Pv=7CIn!6%qP_!5$=U@8L48J@KU3*E>NcS*r@#9> zo#A)o!|xzhoqxZMgHp_QJ})}Yk>OQ4&wX75lO~ImEc97y$;~ApYhMo@rT|J*?-IX{tvX( z^6lC`vz`upM|!=UzW>$tluoVeDgI#wOT&yejc|KAyl0YeTSug#2|kBsP5G~a>}v?y zR|zr>j8xlPS9Hr@raxP=4{jR9XwT1EoY}Q?X(n%Xu+-&oI~>(!11|d0PXqJ@Ko`27 zRG>E-iZnH*8byS=lQBTwqJ3u_j8WuXln#QQ5MPOf$3VIp0>H*m*7$`F69^!tM!#BJ ztzNFo=&2W_AoK^yv~@O5TX{2*mtDaewZ^V&Uf<1?1LDA^8d22dR9AL{5s`?u%Y#V4 z0wCuPgzopYD?wR&UIIildKgh}sL>D_GN3D;uU7R$3EGiK4`XdjivtGS5n({he0TZC zZ$&OyV@@>6>YQvaH%8XnMLkhbk80npKRdGDp{FaSx4$ag%@?|G=tFBjLACdPXV=1=5uP}rNu+XjG5QgruzheNmN(K^^j?e}nX&hxXw#Go7)m``+T;cw zS0*Puds1tUyKQ@mjB^o6i3ZAr+9)3SMJROwQy%(@3n-WMPCF!>D#J!VgGmj2o@$DkH|rz3(v!U zy8@mEElDE3geSc*c*^du60RpD`hlyoDrqR!@)2p{*6^jK+P&25YxejzuvweAzNWha zTzo|>1wAGp%!{icjF&C5PwyYNGcqVKX481UD#yV~EZFpB$z%^JrYaA4g7X}r5PS`> zQ>Qu~u!hP&rfF0G+y-LxO6(ZT&*JfbK&ovAbECcb!1lmLG%aGPE-`X<2gwY>U4p;4 zLtlf*+3mNe>g?jdpA^YTi~YoHu^p_GzC+W|I-I%G+}b_lvsI~#4tA+*O--=btJZ)z z-+WaHOE8>khkKVeIEG<{N8FEDEhu7l{CBa<7Hbbb|2xyyo0x!9h1YlyNMvB$wpqwd z=wLk1Cn~QkABc-rsr8CTe$m6^)3Kk z!U7v#J)kGlXLADfh#FsFZhQ~@H1OLn$*>0$?U@pBUA1)}sbY}n>I!eCRgXzF9auC8 zsty$r)H)-<>9Kfvo}!!;55!}5U_#a)CdP0o@$wa_pf=F1N*e^1PoKy&E;`w_0vl|} z8Yr<-bO*Z~dIx+|eH8qID)Rwp2Wx3la+0lRQ+_J$lL?;_hisP0eG*L zp)N5*4XYSA!?MF|)+&dWO?&u6Y+9qJX*K0R^rWhQ3!{@7oe$g(FK(g(_N$@AMJi%7 zc6}8iq-!|HA&C_1v|%=VP(reuCvx&HQ;SgOw0xHRXcPj9uU zXLeTLC16(Nk7b9s&PfL{boBN#TY6f;m~Nq0Rz5yio`<;465)^l%)26;z#rS|WRJ2v(NS z*?vy3)iCvBXUp3ll&O5{|IQ=6CE9{RMSN?#iD^mmsqd184hK*2DNmmdcVe7N=8bMi z%jcfQACdS?{)C~7LXIet@l{!+(tPW8>6RT|!PaU8rb$Nm*0O@5Y#n$8hT2-KV)J(e zjg&rYu2ykLq9Y=$=);+$sNyW(?e;=J5O{r7ol;-W{`4tNoXP6P@-6I${on7H{>(>S zxKw-R^z6_5yZIBzld827zo0v@;SS!IhV);=-zL>9PUY`KXu;BjGEhDUZ?C2$+F^;5Txm@Ujzdd^`(_C=nq4MoXG(Ggrd^40G z><`1=0z%-+1{D1LY+#LqclIy}X!HJdrQlz1S zP>M}H&oFe9y{D8X5&b2dT$fV5v%xTdp!xRX&bmD7QVd(m^D%x)?4t6-N-k_|kI`kh zvJ7#$O>+gRh9GQ0l`5(lVm1s-Y0x9Bp(#oQ*C=Tbyuo)SkN21bZJ=HAyOcG=WGuu` zS2ahglPJD%uaZh-M-v&&v&Ys~L}x!t8Y3 zsgX}GxIqn$P1oxU&NCN~&jwdA7Y(k_9@OB*8JrN-4^D{;Zm=92Sz&O4)xi<$XYIkk zVXwzrZE(0R*x;aA1~&#%#xKComcgwnkaD+h{UuNmI_sIah6Xoi0)nBD%c>XE(B@9b z46looWPfw9()fjjH|)l>7Glek%^5a-z_~q_&FO~@hRbs0&xt7qoA_6%E>1{8uu_8_s zA?-2~%nR%);}F}1|u-o%EGK!YfP}35}dlLsNab0iXpe0W9 zCJtHRWN%{2676h*AEFu>w!{s+B}XiAV{hW9C2s0X9J9pDl|=K%&9vFv;siZtm^u!> zZ+0(4EINVgmiq}^m2ZC3WU3qGv{GNzrjSL1lZ|~@8$%Xic|%{;hLF|Lxs2Yn)`zSi zZlmqXnhaT-)t%_enh06)Xza^c7qU?I$NRFzLlzq7XkXT7$U=Y1`m(Z+g_rACU)EU2 z!d+~*FKaktv1A|Y%Nh(>EbIsRvIcw>^wbAY`fqjhX2W6BXZ2x09O1iB#_K0Ut zHlZvqX*~9*eet6*3drC*Oo9rgRxowz9>bKl9PQONY59#WQ`^((4ChogBgUS(=b9pe z8eJTQ5MV^~m8Fxk0NA#=!h<;HH35ia+&>3~R&E~+yq{cT&N3BR&E%NDo-(%1iE6Y#`Rt1wZ&AoyJ z9;x9Et$AxQ13_71uH(IoBh9{w@jUY8RXRj#F4o#k*C-aBfJ13^Mt2zVA@Q={w;l!! z4+D+M!@zi92?OR^FkqeLo)!cec}B@%oQasZ!7MF?aFcZkjl`?a#FV9)}L%|2{h(s~~tM1cEn3v70O zCIAAjO95WQ4gkK#Q-u5MX++@c!BhM0XD_6ka+L(ou1&!j+(+zxr}?JPOT|gOs7%3G z7q!~j9AXPW;YzSg@MiZEKvAH?CIY)c3j7o!@2|sRXb_IifXP_* zI4-S0)YM($@iJS20ym&;g56V18fa{L7UULHVeH|Jj~A>e(Z$;Q_fXCe?A_nS8msm9IC?(y5 zSTv)wqJpwSi5NWff}8=Q`=tP4Wj(bCAUN)^3`M9IKn4vUHIGNUbOFMP2MCvF z36JWX3ZYQz3QR(hK_~;pQfeYaUmeE40w`RjT8@cJ>3Hh`MQ=SoQ9?gZsud8B$d?E} z>8rqiLRtVy^-Fn%Sz}$GK)W7G#E*nDgDa3`(8K5(gEYpf{{MzF(nN${0f+R8_K}ah zS>~V|g=J?lpwnx1^s1?o^xg}z$@x>+3*4Dcz7S=9xTS^ih_274TnMbB`HoLPb`tNe zNcn1>H2og*ETK#4+gamJSIecFOT1EN?9V4MODZO9@s4?a1MLq|MK;(?pPcR(H)}cRfVzzFd08&|xAJ z<9%8Qk;@llc?I+hk-ODBK+^3m-J;Tg#BWd8AUVmPty?C*U+rHnO|2DObcG`%81ybhZpXcAWzT-gwF=dUNps?xhdd{kt-FlpNVGiG=d*KnyX~c@IDMucZ=^92zLxQH0B!(C81d zP~?~g3hOev#is&4yIrRMUlPgC(L;pbD^8`F2~f4}MjiSRRqm&2?!sAMdH4&z&7zW| zS^0`9etjp+W+7WUKqnXisN>-|&r=IS&YD9ZEJ`|T7(R>R2LrS$=8>H^{q(ypiQBG_ zbeu^S)VS*k*lMYVxlA3ibqmPDQW^<#NeIYOWTpV4FY3uTX~FMet?)_Em#6GYaSZls znKGV4WY9n5E^zlnfG~?o!x31~7r_v*8?5d)5_nY<)Hd~9uY>|4!`gyJxg{?2tr)7i4!L*YKn-CZ&<|m$qQtf@EyWu}gOyX2FX#(ZvdJQb zV~VM@nEKh2J>|BlLwpzyh2LdAnUetUQCW?zU$nZYv8)S#o;RxBNqu)E7tDmj#SZKz zz9SQ{(wZ6S)^Nch82oJZCW%Xx?{+9;i<7kru8*h~U&SfO(!31~3leeLwqZ%_~H%{3le(8rI{$uLCC;p;a zCE+hxqrQ(T311Zw);ZvYssNZky{M*O8Eo1b(L*SdSV{CI=EF3U#MDI`rT`;*IpM}3 zm}e6J&?gfw)Ip>P1>mG_#*?Kk-AmeoJ2fY7pWHe`bmz%dGNp&zxF4rW1=Uhgj(-gLD2vAuz#IsGxHO-jCG0K2?VN&afSDF$rwxQ9kT1+Ivc?4P82d zWJP?-T2}YHnzvr*OW~*W{IE~5TUm4`mzwiQqlF5G`qmk{D`opzpV-I5O4D^XRAXyg zD@u4KpHN)if;Qkz>|YEQ1f4E_ohyG`EPl}{H!<=T0xhYMVJdc!%^Nsvb0ZC+hPq(d zSXYBklF=qe(pAu56bhtOy)huIWwdUgu)VViNm;N_h!tUW5}_~T zutEnyA=nug#`uN*z+1dCB!wz9^?gHS)lcr1hMZ)7WtW%ET6~3TH*sZd{7$dg1pOv* zf1~{rrv1#d{};=;lluc#k^pG;#9r=2K63s{#0++DTqbIP&RpZC4Hif4GTsT^B7w)4 z8+iQx>_jtFOBqIRT}Dm<8n@Kz4O@#8bp+;rRC zJoT7-JVT&N>>f4xp+%m2B6!U3JADhklQzr1PRf2>M0eu08CNMkNdc9VN_E5IuC|w! zvrh8nDWy))pw3_*ff9^6FsCjw+-@UrKqZ|gyhyKzXTgmR?wZ_y9; z01d@hFz{fH6&fg^2O3la82B-1KN$KZ@1DcZc^U2~3L>VLNrq!^iKeVyv6*_j*NwUu z=P=n}paaU=R<<2N1_*odXv#+mK`V(nwpK7k!N?|A6ahris68$!##qBX5j={C=fXJp zNyA&q(I_Mu6DQ1Pb-)PptEuL>42lz)+EmmV;0NI`yIR-aNz?^aN{P4A-B~B*L+db& z>x)g`x^+s|)LDj(?I=UslKut=ihYog-mmV1#Pow7tf0Wh2=krc05E%J-uS=v+Bm4p zrH^_qAv9{%imEJD%5W3xVZSPRtWyJdYcr3k&Byls@O6WVuW8UOG>sLP z<&>enZ(O6qCx$+{fJ+@#G48m>EBRcP_)K@HH+}rEPAbit^A_GO-`2 zpMI$Pf~cg$*vQd}@l!7<6HG=%F_pMpp#sN9wrBc0wnF?1(T_H=+2IfKu&J#P@r<9!|WhYpJGMB zy>w8h`55(42{<&cw*$h1oIPxy4NZ|8>uMlAEpQr^<5}YUo#qruEWLo)X_JCqTuCPy z(uCFT??BALeqft7VTQv0M4SWt4w#A&7l;%+NEz|@x5zaBgfAFNte3!8Vo&WU=l6asidm8grpWz$fU*u?N0sJOlt~n5-*-yE2FhV;NFzB_J#Ktv(g_ zU0^qK8*qhR!j%HM`Q@>jl-b1OF!ske$%qPKCyseD#IAJ_8}Vj{&A~hz)x7u#C!t7K zgMzgQZKz#NjZv_T$dk8ppfE=2jyn;O5fN?dR%lC`CET)t9S!QHpY|RA2W05jjdx&TRGNfL@fMoVn`DA-yO?IR~pR z&+0`f$~jzpIieS(DCd}7=EIAgWzGq`91S^omc>r#<#@=^vn+O6FDFBeo@KE!dRYiL zdX~k`>18qG=vfxKpqH~DN6)g@MZKI4IeM1GUewD{$kDSbc3Cf%LXMtgv8#Gn4mo<3 z#r6y5uY?>u%VGzVGs_eMSCZW{WrfXYMw&xlG3YS10@L?x@nx3IJCc^+q|EVveWS~;{(}4GoL}J9YX$bKxp$%>8~2r0KdU}dhfI0WXI`Mic_e{` zs@zpbCD72G(9~8DXdqH4(9EoE38g?2KFrf?@o`-`%oIykGtE>J4?YIXbU>=V$veiV zSz^t{N?y}nh~ozC-T|z9Dapqv4yr1Ih_=s5W%Et))29}?LO7mSi>sK>1fr8K5G7riPu(vi^TR6C2G9i&^+Ur14r3VM-hseqAaGX~k$4Ux((=MH+* z)4Jum&*6rmUC}aQGpmBESz1St_E$yPuIR6IXuKm1QFpuSN_qDmP_(qE_GO+j*Zmh$ zytu-eC%UHl8c*%2-R@6Z4Bd|bBymG`CJzCVM3IEE-&(IN>cnC3t0rot7P)tM<0vKr z4?fISv8n59rbtm|W%sx2OQzY{dn;mjE;Sy(`GNaSOR7NuoIrc=E zN6Pc|w(Q+3n0&zBUJ%<^f_PVSvz-&TJGvP}zzJMNoW7Q5eUZv6e1NWFS>VN8#6$t( z6_VINW)~AvC2kXdJnYpacD=9ATZnqFKvZ_~xTzibOm-Lll>dPue^>Ou7?aK|a*8ti zYGb5!{}D{(RyLLmi6mnc6{!qHlxR<@FB!TU(i(adxP@LlR8rK#RHJq2uIT%;(&YJ8 zMS~y+8v>Em5jcq>B6?pF*b>4_WItfQM*slzw?m57dC?t9DE1tl@(ZU|iSiuG+e#S#+frEob zp5e}d&zbrBbZmBLIX;@`L!t;{4I-gc1^rZo$Jw1wwsuX7mCGsfK(ak8Fsvav{w`vx(z8%2p{>APboZZQjC5Z9D2hCtKP=C z?*{_m%jRAworcPcgZcU-AB~>gmOXu=a+bv!Y)ei7)JV7tFKPL1`6vLSUD1KgG7m+y zu8R4$Lbifdz+?6aoYLZO5>_(rH^(IN;_Ro!IyJj!q>$5M3q4YpHesWrN)8iRNk9KO zMha`bUM|;$Lj_~8B!ECAfPD*fG{Ry)$_`D1r|35X>z=!NVf_HP+av>ycS_8?E5#3UbA!z9|!_S0+;Dm59`o zh#?d|uSBG#WJq6@GJ&wGC=-h6w?do1yO+efqlb6^Z2q!M>0U$_XFoqOj0Tao)>^ry z6)0YfS1!6LL2X1VYL=@VR3WzNIp?zaV1#i7x-MU$BX6}mM+81N zDOS`4uKLAPh)xU0b=5Mwr0U8wX$|JnKKmLtE-@^&`Sk>SmUxOocA7ld=+C~$O-lGK z1rhCezh*PIzJkGN_T$?nn5CkKB@27)^MhJQ7@Av^*%vUtXYcNib{TFh65uwCHl}tl zgK$Amp(2aE4y7ivL+oG!BYr|!=2sD1C4btN)Xxv4>% z8GX!)B`nL$70Eh*;t%e{FITgWnqZm*4N0@GU^C#I*r&GbP%=bswl!t_QioP@Q>rPk zt4A0J^c?&w6~UFPR2MA;Rw{*1K2@+%14dw_0%8%7xn=@D&O2;tP}t`w3YB!ERn-lW zSE@&>!i-y^N->)yw@uR6bP!MfU3_|b!OLPb`cS|kt)F`MnWjXG=SZhMF%*+4u4yPA zT(5n)z9Xk_$Mzi57xOozo1$It$RVPbr(a3;s;iS%W7}{)I3DcVPsXSFaccZK+D86fO1h7I&32DLV|3&F7 z@^|be7y8QEeTj!`daH>7saS;9JP00fGbQ8fy(4mCoVDpFCI@(%1DH^hv4&Ba3T`T| zEx){x#R_Df-t4ialB?O3l4mYZY4)32ysovWkJjQ|P0N<(#>x7+`L70LVNf^4yfnzM zyApV)dhw7&P$PVq@T8~9rruRLMHP`Rpe}2DT|h{CQB;K*s=c}z{WS=O1zn&YS?JbU z(E%M*?U$m4&M#-Ebg)O$3?_=+L_qm^x~AUZI!AnscTFW5_t`BTI-0*dg784-6)`X@ z&WmDT4B}j3WxN7_7j6R44;n}1%Mb_yjY_BIA<02+X~Qsy=ZHmh80toK$eTKFPIS9& zj0(I^tW;0jizesfRdS@aqz{JC6XK%jd@zij2pLW1gJJYU$Y`z>3`2)i)lg3`jHX*9 z7)H~r5)7k>D~dkv35L-`q$#l{7)H~r5)7kB+zOTK35LEj{Ph8M+m1bB@_U4_F^iCKMSV zG(rGR#Q+fJYwn6dOpI8u5fT=Yv5$_B5Cg%-#1LJFvOO^|Vjmp=#Vo|c5UqQ5TE@hn z{@$1viq+X-psAaU@elGo23>v5eGM07GC%U&1RM|-|2wlEqn$nGPW*W#;DGWzjiRaN zYI%RmKK5F9*zeZL;(*^;SsVmjD~o^wYh_`CUMuS*dcRgyb*M75aCTA>i+wh1-R^H% z51`<(0q~eR8DNF7*&k{EJVmsNl-7!xWbjx42mE&-;6V6J0SEB6osp?SJRW;0%<3UkmlCHO2Nuf?aHv$G440!|ZG`uPgX zxQKB2AI&|_>egad==C+c7C?o_Nx7wx5;OgcJ*LoCYw8vZ(Ce=$e5XZ0J_QVYHB!5) z)iAfA2OgBZ6dLC@jrO|Ot}N0Y|D|if*iI z!GWZz!A7)OPq?un7y*Y(IOh!)MFCEuVD*MosN19&y%TTO(_f25-Xg} zF1KH+EZkT4>IQxuBP=uaa<`x74xY|=$!vPr2<#^ zUw`pEwm1EO8$~lp_|qbR{Y1TA(0g6?W1Ca4`!l^K{=RJG|3#6nodeduem~_RGL@?n z87T`KE#Uc;{mcZTW7-uoI{PZKz-Da&YiTQNDXcang@No+?_?}78EHPUBMOjg?Tk3P ze!e>oJyXEPy;C4(u5t>_`zgS8>nzlkJv9X)sMC}IyEF#2El>mT6*IFoUQ$|7H6d5v z%TYQ_1|I0Lqobs<_vI~-9DZyQhZZY2);d9Eq$UI0HUg>BZRF}UP(PmtFU&0{c&jE3 zIHWHzZUP;yGH&%{77WgBy(_(f4JB{f9m!v5XL>$V3x0-bMX42-K){r$-$j>hGN+Y4r8XX*nunL_!2Pq2G2d)7{!b;_nK;R zB~!3fZDe4H(~Q^4iLDd7m~U<x!x5 ze6Q6x3z@8#N|<`~*Ap@YGm#c*Tt&eAE)k1rszhAx67dGtvaOlb`D!td94xJJR8A}! z5f`-R9S=C;S1{8aBIe_lAmTYrU&2SVzvL$+nPZfJy54Ji0rIjZD7G=6+@_c4*=ERW zjh?}}!dwU>Viy&Z>0uIS!BbdgZh$?Y4q=ZaAY#7JyXV0=bZ~{3&O?E`@ z0zkzht9sg={Mp%N?=xmqh4Ar-@3sSTFG<*w|_0yEcucG&5m@#)n z=G>R$*=-TN0K_;#37SKkXfC)_#YTRx?p4u4TJ7&&X z3no(+>SB01)3f#Vt$y1J%k3e=tebsCNA3^uQ@3kBt0Xweiv&=C_cODG5RScEZ>50yeOumW zck+7sro7hPo;TY!=V@D4i@Q4|JrhUM)kaUzC;`n1RVgNza zN#`d>Vc8Uv;+xo_mfCmQU8&SQjT(2jW8B@&B-w!rztTG!X>laf;{3Fvo7V_`tu3Gf z1%rm5BIpE2k)<&%G;IfQTRg5f`Ugu# z^X`a6mASf_yP`X`fV0piCwvRK!~)&BXvP|0In8MF^9Qt@?|(kwclh16AxBj0!7vu} z{gB3C8zX)!2mM$;2y=~MJRAVF@uWpVJ}1|%yNzdH&GA4duVg$3ABDLIU<>1sM^6|J z5fbbt<2kQ!;K*rnqH%DSu+4|&#E)c7BdP87^fn8hkLABp;#9noZF80;R^wz_I52DV z{e|(o{nW=?+wWPc2?Mpr2d_{X{aZ{F#9@fr5QhAh6zkiQ?Xu+`wDjdr0ZvasK$RJZ zbFy~Q?p@lpw?0uT{R=%4Nb{CAA`(GjQrJlW<9USE(QhmlFh~FUyzxQ?5gd(mT0}gY ziPr8Ldt}+aWS(|KPja>$09!c?>t)nQhu?&aef9bd0u3zx+BE@<;{uKO0U9x|_8pDOF^9Xeb zgy3W{q`~UzAA~$;mcUOhMIz=U&A=d$6B@}=!EiPD0FMMG zqmT2d%zfnP-(fDZW#pW0TsAUkcnF$g5%DD%&*)n9mo^;f8L(kl5ueR-;^<7Bmu$18n25jt_a+sC7oUK|VAN6S9o zU)32}9ct%8FOYO@zEa7NP|3V1>5BOR4$p>c0<{F!yzBCcG5)P|rb z8iN6rbK>bwtR3b=Ei#@JN^ysu=I%#TD#b{*DuQ0Bfclbs?0NGeUHSaOsz5lmRH^)j zeC2O1@_=+_-Rez<_lO3DsN%e;DDEltaQ*>b)7z-2#QjP~io+=q5k)>WXJBFQ{m1_6 z`&u0X|EltVn+{DADgYZ7fVGK}*raZDq~Ua$m`lB~1>lD7Ip1Ov!+508PMVXtzBpg~ zVyLgQIHXF4+83*3QBcd;nQp6H<>BVWQFqUj`1S@r(A{`&fNd6cE|7q%?C$diI3riE zmDhX0d+!RdNr2p{*o19`&eFNEaTA-K>6@JUxMXCIoyRM(^Mse35==pA!u_u+HLp{f z=Ax9EE9(1ukeVM){+^}gok6XOaSw4HLA^s}Nk z>s%1xVW$Nx1-zb*FOB9zN2Tlr5m*yiKGX7Cg=ygMTq@j0J=5^`dA(_2={S-P=UG1X z($lh{+{>Mo(dxA5jDDYXJ-YU^Jok$EgveOqM#C0n_vzg$*0bDAUb1BR!PFobr2I$z zoEr;Kx$P2^<@is)`**kt(&}~9-M_ve9obiZXZ$2f@r7X=|F%bU3_=b**VK@GxV3fh!#;h5q84ngP~DO+`&Z2GeYKKx4; z7eDaaXQLCi*?hppZTNP-bpzw zpU$QS=ANX2Y;O7*8*R(mo|)Eu+w7MHl~*KPRMO(v<~wy;`IBwk!K?GpIo-fl*)>^+ zu$t%OXWSl|4knDJIMoxeMW;?`SPf1Xu>&N^ACzO;IyGPW*z~pd8EVv*5m? z5her)gBmU!;3GZ9^$CZ7l+HDPmS8m)U`6NIYm^#lAR8<|CUsV4d10zl2e@>yqQ)O- z0fhXUIo85OfGgdIt3ewEVRMAnbh!Lc_otBu;E+IPwct}O-yNO!(Uc9fg{ZsP&Ff+$ z0Y~YY@F>Lsi@}oGk~Zsn?$Px=&&+O|>}DXULj&<_T*>)_CO!2d=w#fXJi+PY+CS-} zQ(TFiabYw+Fm!2PvX3z^Zraee20?~=@*R{I;$YiUXCfbelF<#mk?V`dmO?fupV)?* z;7(CbCGBQv1m^K?(A`>+6_;zd+cXE-LK=KGl&8D$Lh=8qyrZnw=1DBI?vd6s~9wrY%y9ug0I;pU>7Qa zYTnGqAZK8}PP|=vFF@7z%(RXHbq|>~2x(W{vACIj%{!*w@GzB&Pw-#%{f|DXMbGqx z|CM^jpGQos`y@Ux96>xiOqcU}J43%ISO(R7r3 zeJmf?nGQ@xZ>2tdiP`x!XoRHflW+LoA3WIj-R0Rgd=y}StdZxeu+DU5v=OKL7g2u< zqn!TZPhb1`-+k@B{nsCSX8O0D{qS#J{8u0Rh0jxS@`lL%TiypHl)v-%+oC9szcosx zvv=>;w~c3Loez`m!+R0-`0t#&5;Fkdxfalgq;^F)5UJK8;>1H;eje+x&)b<;W-8KM7@Od|(f2Cm7Sqd? zdMpTK?RCP60e9SdL)J~lPx6`NutcQ5@y1(OPm)6TciqhA>Bq{0Z9m@N_E>-iF;K*v z#Mfy^OdzEVX@I%(UMSA)poUp+>J^Nntj8WmUYs7gHXtV#M=5b(&q!1c|Li<3)CFs3 zdLBpo6V*H;jv`%~b8yz4sPbA}xwwvSN)hk`d`DNvTk?)cb%!^cP+cHWu-fM|d08`( z1_1IA#Zcif;Sot0!fqp5+klayacI*u<$_;67v^xQLXhglML)0^Tu=B!-k*pa<#8>z zPqezU9h_1p>f0IWwA7IJ{iw3_}!NhYM+h zaKcD#T4a23R>ZV1RAK=qUIG^6=EG*dLjwR{><^{+n6`&{=YNa(EA?3UgMe1U!SaNQ zwb+jJSwHGbOo!F?2}G*(+D5{@kHQ=APyk&S=9V?+XE?ECy%gfswT**-ooUCZp}3*G zIwFxn;0E}Q7uJToNJL3%wXM5}eUo}=%*dM@^qiGD9g+R){!C0*!YD2s!j5qq2S@Re zlf&Y5^*15`6|~D>>qR71Iw;3H+&^Dq&DCnJt+^K{sejtND(N< z3QT27-OwYs9cI9xN8ZBs`H-+cKp|lvK!YmM%Vem<3RaC&3lu42vKsG(wK1dF zf0KNVPNUGz=pP%y658@5>YuyU#QlU&K6ML{LyT2tbF8UG_9-yYS2_EmxcrV^ zm#tnK`yQkuRvq*X->N81e3nr@^#tQdeS=i^^b=Mib=}Ju8;%mo7$g@3auj|{7)SgN z_jT$7Qoz!EJ52>vOf_24+jXrr?6 zV}xj=ej_BFp_FVF<^&8(3GCFO2eGv_Ug`ok{QKzxxB>!Q)#bsAQ|mZnlJJCIHAId^ zIK7XJO&g_)U zV|h1Mj*SI?@v35MNf=wEu~B^nh#@kFK~u+^ind@R<0z8$U-KE3Of;R+Y|sm+p3O_@6s@EC~KjH}C&TjS>l(7NT z87!(w|3C8H1T*GI50{rW%x_0!pHQpewyZEC!hrM1Vqzq?{;;;s~N70u)9-0qRhI z2pVuefI{Z?|MuSJoO`QE55FL*t>rrRoU_kpN z0#G&8r48GP5j+kS2DAP{!>u6-b492#@Sa==Ve>*5I2W?0Q#c2Q9#xOh9wwC=(QPAAXt<9QIWC`p{?8Lv58l?(Mbty zHWJ2$jqn1|?G*NU0O_-&TdI0~=ypF=+Ol*@i#e#Thi+#S&dfi(X1e9O!dI%LNVoet z19V#~T%cRw_FI&0LBy5m7ESR2(d{grS-{}4q+6g$oWe3v(vs+J<%{(`xT7*6t@ISHmvxInkU?YAi1f`}{AEuo7Sh;HXca|}L9x}~b; zhi*ULT7hn9F(;$zq1)4%U&=qdW_inZg|Adgk#0Y)_(*Oi6bl#VR=E8ZrCShjWxB=v zc!B74adnQtXGynI_59H7sg>xK7IQMX9=bhzLq2MO`daNPYu#-v2cNI zh1+jYx&;weq+5Y4*SW7SEy($~dWlfSZnhs_UlUUojQugp+>QE0zB|M_)W`@RKnZrASi>p!j z++oU+(?G+^q}!68NR?}G%%k+Bx0mKs@wBg4RahEth`DjqvuPYWesc#@>mz*>hBG1{Ci)~v0>miXc&A%8d(!m`0<3Y#FJdaL|zl=K4A7|mWKL1~!I7B!A^Y7siC zdOBOw+&{xnva-?Bb#q&pHj+)3@5j_OjQ*H>s zBIwX%jGp&2vETxw%jAqNp}v$T2MI&akb)*;hq~%4A?&PW61fyFZOn^l*Lih5F`weJ6Z51#nfPjh(pUC&ZmDHQMola--D& z%ZzrDO-7W6wq<$2GUpRTNKKSKhw_$YNnu%%tfze>)fUNm5L-}6VvBUn2JXh81ny`+ zAt&=@a@n$Yp-_;Scj}J{hC!HhW!JDuLn}OnLPn1 zl4+JNyL>++Eu|V&XvS)yXVic7G;Wi8A&r~paYjBGQ?a>7`jXD-fuZ~A-UU1L#YlpF0uO`jnqS8_h1Q^ zy^RuN&}47xa&K0`sP{_w+bj#|ttO7?Q?z{|Y9Tk9QLK>PExjwq14r%anQBLMS^e*pbt-YiRqMFOymM;!i1f)*%l zQ$>%aWvxNlp7)VVTfNb1i<*{gcJbtt=h0OM+}6|p^lY0GDIh@Nnj zCmE8A3oIwr;d!$wFg{p7?sM$Wyd*sn2~9Udlotmxy+N<wnXyHqP;8c+jU*&a&ul{5XJ-!DM>SRaUd~BXbl&>J*8kB|*qv z_HO;TmfjQ+c$f4=>$Rk|23J!JSZ3|((wU#Qs%2*KDQHIyCe1A{#_U!pYL>u(pGR5; zE195|j~MR5$C6=+N_)*3l590SE-jWxC`x?Bq?c?j=(H-?WNI?VCLNBDf!rJm4|bM= zWMsg8(SZyM?2i|S;BdjpKH{wG0@(4+mQBz#6q4j1lDbN5N({(IYDs+}sn#_tle>mQ z-jz)5$FGW5fSQ{<#*7S2NRtW}c$1^N6i`mKO##$HiM*`RmU^99A(8hT8=^IjR&?~w zJee6xjYd1K{*Od6lGMiUkBh^; z<4BrXGX7nWB}=6gviV%L&8u@**%3v8OFT=aALle?ZFo^5mQAkK0VPOqbCgNLQhLze zDTPFza6OG~IKr3ZAN~(Nyz7%c_2gppZM&vE^qaFsBPH@a-mgE|>!Jk6GF0xQHpYUc zPe#g^;STeJcFU7b>XGK}nGC$km*Yj3bkA>A9*BR>wjQ|(v}iv$y#xD9H>3_&d=M%n4Dy-YyjJY zC^XF)XRR@?rhVs#5^a28Yl!)2&K>V*5)h5}jPyStZ*+9p|o z@azKw?wr~iy_-nL$lVW$DcJ6WueA9Nl_)8$UzbWEU010eTkizM4lPZFN+y(QAf1TA zR=}4Qk{-7?=F?HXgJNkW9r|jx0YC;E(ZAqf)|Y|XRVekQ;0AY4joq>B4Na5Hql4I0 zzuxq998z=7?k)*)T{YY#buK;nu1}WI&FSU$e9~pmrwe+pCEYg@9?ZPkN*v4{9Hne} zYr5~fp~MB1*pXh&O8n?C9&AeIf6bS$BoBbBqXV!Qj@VHsY=-+#U+`u-Sb9^>=&lT^ zm8(4dh@&(QT97{tr2*l|K4%n-i2nF5{&!%rApmQ{FtRdesE<*SkgLXoUJ!z}+rI8QYusqdGLc#KKfRmCcTC4tA;IB0-X8WVxJ-l;h$i zye~0v?>IIu#WVI6qf|EKKg^M;i)@!0xbTVtzbL#qiRBiMkG;ySYuP78_v`4C&F|w{ zSO&uBsMj%SXo!1B=@Eq}9a2m3J)PhUA^n_SLADruLMmn`twS3(l6A%oQ~W<#kwLXycNKQ*I(9>}bL>{y z93cskw0Hik4d5VGHRHHtcy0hBAbJ=i$QctXq-WJq5r=>RRobyiNz;sa4Ut#R(-1lI z#Y75Y9Mef-Z0)edgvuI*I3kiE`|+BG2*ukF8y@QoqzbUpA;hd3Fpls;)I-$QNH#=1 z&4^xF zq-Mg-+8SR`ateuh%m^FV2>Cc4VWT+00-bU;K(02LqEnt+jZSTZCcr=p zE!kRY3}=okGx*D`NbntF$hlB`rXrOcf}Ke1EGtlDhAY!>ROxpJ9X7aedj%<2M+VqI&eBXrkne;6N~4wc434mN z%}PTf>_};}-3ZAkCtqG{(=pRcTbMR-9gONUT7n*s*)EK+GbgDLBPs03VUltzLr&)F zkb;f7Z8-;NR-UYsE?V8Qdy`rDqfsehTMUeXZe^olSu!E)gmMrbvK1rA+A@$ll0lhK z6rjv^cf;KHr%Ji2XX^*rlDrr*s+54QWl5IO?=+5P_20{s=qYld^14V&iRmYQ7HmBR z?m&U0*0=Ti5oX^;!E`%v+4@+0E$gV12pv%cV!dja!_LA;)@vkhc#s-#|5QJppzDQ6 zJ{L#9h^z*ZTF^MN?`DQ`{W}qCdK!Br-I$v#@7>}y^|{E(0(bi8=MGPbe!3pNCCkmu$Z*@tES~xt?Q@dm?#^XmLu5NzS6YZ0qRg^n3g-J>ZT%j9JVo$ zjX_gQ@SgvtkxcoK5Z+YTF4RpligSfwA!hKLEB zT=SIN^#BL9fuaHqtP!)kt^0(BwdaWk4vrh1tpcFw`9EZ;r0u6lF3K=r2yO<5GII(F zEb7B3J*wa5-S5--y+CyXQ*zP(SgK(XMBb++OMuulP01}OHyCm%2dA4KR|x!I@h&r2 zBI?p(;)q6V^EM9k?e@~g^h}E$7>}C}7Ud00$t@TmtLcW{Wh0 zuHn6=Sii6mB`p{weNB|q@|3ht?opnEWE&Rny*5g+g#*}aMn`TnFYEZ>7*9ud2G|w# z!h&%o-9ovrjvqQ2EGIf*Tv{7^#qF3{#RcQkJ4{C{zeV+PKu3;Z{G?l;BSoV8ESYVg zMH05r1hZup1X+&8aLcn$AN^bFf`}C$=%!^(3pepU7>zNTW|71&o2F#tP|nS!xyinh zemdk7?GM*CZ}quZw|QUR316;QpPNK;^&Ru|X);aq4a~a5eqSk!9h23f8qHSe>gT9d zV1|5)jOU9PWUOd0&y|<~Y71i3c9j~QCW{92&0((`K=jJ9Zl|q6ZMztyvjwmm@?e=& zB@VsA(`vM4vrlSO5OljG$#9upNxw<#X@*DCH)E~+5kqowYaq)gXGSfC8J1})N@P`Ebr^v^km#w_VGokLsj5XNY|);Tn1T4)kY==8|cRGJx~ z;F8_rmbF%j*xWe@M>%8`XWaZum`$TOEZ*VR?Ka^sVA&rp=PBY#X7)qBLl)l_tf4hAJnl109|e3m>Z@oBMPG8RkBhOp3Xg zGdC~RblQvwGzBq`KIYUx3A070n`Q4Q;Y#yjA1Ii*2MVU{L1*d~Adh==g?TX?4aRbn z+LTw6QPq3aaeKY=O z8?Duh|7I{D$&L(A7+t-wRhwl@OKiTR7XPIr^)1YSB+c~vJK1>W zC&yVS&NPc+)K-ld_+xPZC?JY_vMN2=c%-Q^xh?(^n0E;uM};X;7pjey^J9{LoTSJ$S%iTZY# z*44R7+E4+*fW^r5_@kTC2@?LkmS}Nswpo87blw_m#zSDjos)Db3St?w={08^>(Cym z-3HKhFz;E_5=<QSG0M0cyVvMq0}+3;~S{LxvjmRc=tPSR(#oda?`@ zGg1n$HDC_cW&l?gMNBsv3yu$0RVHd7!PD|M!174bTCG`j+MK*0?)I$ zdcx3A5_&e}ui)2clxn9at24h``M~%9ZacDg&q(^Lk^9kTSP0u z=NyCCji>57JsXjY=Xd+@KWMQiZCw_-fa6QL9{N#rM|;mZ=_hDCx`Sj^|6rcYzR#D_ z&9!t3)Nzc*>6Ep}4a8*0uMsK0Rqrg;{q^+aW|k)Z}U= zg|@)WQU>}Iqv_~xu@kPP|2P3n`S^tP-=2<#O;1vFKfC=-S+@-r=$R6qd0g- z8+jNWGsJ{4UhMN5;9IWoANB%4#>-5M{OjzOGa6HuB-;0KSfd2f~+;^k&zf z7eti<7WK7efu3qfQMc-*0iggoC-H<(LC@5h*MZHxBzggUb~^w+O*5Qi;84CiyBrv7 z&*0CCDL_Jb^mRd@;s9K60ImRdZOr3j9JPo+GzE{NE$0z{ApP7Aa|QBDXNXk1w#*@5L!A9`-4 zPkVi?N`g^v1(ob6sGyRa5=7Z9Clo23DsmoV=ZCeOj^x$v_DKsd>J>d92=*b)b)AX& z?f6HuZV~%8mz{Btokf)jYOYi@GJ2b8VV?fKXfae)&IVgmPuSc6B zZf1HN@(!6w!zqD$oqUregTr&M%>K|0mr8TK81&hxUlw*G0R=&mfUxTDds>iAPs&ERe(n2)h=l-`wtbiR3u7S{!u@v z8=E*SrdCa1NUiRD%$ed|a9=z37DunlY~#m_8&S~d79)iM%1g`f-@keWCauGtf{4yS zcaDphtepbu$@PHs1b)yUF#?v1y$%kumzf|-*$X8d%uc@6UfehUnNjfw&(Kja%>N%V zDX`54&~cx?mx6jrx*20a#<^G4m_3=o!Ilv*Wh%5UWr%#ksPXdI9@qhb&R#=_q^0<0 z8Uva~Vz3&2gXAI2bO;&DI(Whp)+P4EWbq$h-s!bQ%txV!f5@%Mi98(9>RUip81K1sOR!J7us&i8^lpntNNs`wfPC*g?=OcZFWuM9KopfVqIsW-b;A3P~VfD{f*C; z{MIh)BNA@TDjk~*H`Dp(zCHals7_6CkllNLt0ddBzjDA#EqTd~3I__-k{9o&EOJdR zAH_ zO_Nc8El)Hwex6mbD5H{3>_-(J+oDJ3I0i|HUZh~QQ?>#NCwR8g&FBsWsJ^zzh}CG0 zwXEkbnvxBf0#ybM`@1M(MnNdL6u&)DwP$O90RZb@?Pj`;v{dbZl(4~(5`ELDUm3@J zWz)4^8E0Ruw*4-@m84R1W19@7cKVxTrLr1sHqbqeuGG=z{Au!XEqaZgbZnAJo-ExR z<5)K0f4E6v%nGNc)UJD@Je8>g@|11GPNskpFxnPaY*iXRruSk;%N`2X8bV&?K}@`VY4Vz(rN8|96ioA zU{lDR*A?U+_t#?_N=o`Bn>seq#zRbAQ{SR?h~#>a@Vk)T0w_v8wR2QNP{uPxR>D<< z2W*U_U&b&Rtp@JkB^;W&##9dQiHIt&gx$ds#zbC| z10K4gAvNVj8!>sA#uFx0fCmU-Ur0x6O5+jq#SQT{?TD`u+kDp2eP~!BEx3>CBrN*t znb!G1%ff_BNiVIXmjSZU8O2$fxr(#2x78_t4CeSs=L^%hwoVM@O8HG(kxm>JysF>q z*|EQ%gK%3v61S~!`GD4IjF*TyyhE+Zz@$XouIl%SrsI!jOL0A#jruR%rTtDhX;lU= zNeT9q2`(Yf%^n;^c?vVPSYC(y+}bCZl6()>U=;t;P5eA90F%@~b6cam&G@1QagK+Z z;y zsq~P;eA{(wqL1o0?r)O5oWV9^+P$0Mf*^K*A;Cvg#4}{WvWZn&HISU%?!l65H@G7@ zEhcD*JrVCzz|#6!GDgONJ@-t52sNfLj-?#rV$37gpV&=0nvAA(&2snGZt5kBu#?tc zq&k@D(iMWZjA&$czqhG3iXnuo0e5NCixS(VS+bAc5HMz6i(H6|rCK`T8Vs6<;G{NX z!wRD!`qiH35yxZFTVhJ(D_s)*o?!c)QO9kP*Mx!MUl)mq!Ug!Grt_HMBO<@E?9bEZ zda51RN1`P<(cV!x4QzFez|Fdh_a@km>nD2pJ>4R6eUyIp@eGhHW;xwu$)94UgprOU z+5^;SD<>eFUZVTycE{yWa`UYv?Y}p1Ye`Pz##>7S7n4NkTy&9R`Pw^5Yk7fA=!;)@ zJ}%Zabrwb~h38>Xr=$x&XiGPjy(L)`p27RjuZV(O7`s%HfF-b{6g{s?=79zXG#Mw| z8Kfpsa)bCCnFwWLR6vJloYQjij~wYua^+*p#C`pVQ3Wb4(NohL~kSU z6Q+Mo@?dLp%6LsIc2=w;+0=0?c1HJ{D`%_+D;djibu8yu5i}X(VMSv-Fkvjm6-G*w)&6F4{59eW)zKFp_#bEA1C$YVI;c_V@2@JHoD3^rKVkvV=SF_cwJ5}D; zD=?#B8k#WP0%L|5r@~G%a)xWNuY(G61j>`s27qnRnRf3bNhIcNLs$)&ellM=))&U! zpuygY&93O#N&}-kGu_N!t1CGQaLI_n5qybLc+jtmigD3zlo>*>Fl_)cC^IOi&GEvz z#ExDKL@Nte>`f`j1d-DTsKr@pB4ST-h)6Bzp+=*eoDy+eWoGJw@DRe4l8KY8;`Lav z31#HG;aCUS)7fyFyy*54$3w=-d+2FFXQT`pDI%2LEj-)q%u{iwSKYZd>JH9iVEiPc;;hEW3^GF!bWz?&JL&tMAex zRvu}6a82P95jDlUR3g%aJ8~DVP%E_Q-|!3pj6G>~77k?|vw#QXs5+BNlSsxuw{qH5 zFw4r$EGuVb8Jj+c>vR-p+03%6Xl2)^D1k7u0$hN`WHkGy+YXyPlADz-@2aab3CJqV z54%Wg$K26%xq{r$jEMI*6G!}%utN5PiKAWh5mPkjLfboqzpyD9do?J{ik0L8SM&rU&3a$hWa4eo`sRbu=i#!#+oYU|`5Y z^HvH4XHA1+6xP$j9rMsQt#xaZAd0z6FbRdJe4r!#>u3n3k~(6Ub$SM2+rfhFv)xlRXt@nBw-1BFAD6f zC?TDNV0%#F)OnaWB38+$EA{l)Xs`lC)uVbkH){5XI)>PS%<0WEvw%obTX!NcG>2zc zPp567PY#;OQt=cgAs@EmWr;*EtAm}jOY}mpgXfn0owOYo^%ycbOo!6LSk~UBQtPgM z&mXFnZ~2~840Q!c3;_L+^zxUP`sk;#XK<5_ZRD{{RU>tY0G$^WVKa?a?goEe$>R@p z;uH8S;vkIY(fB=R7FM-jD$mF`0PQ?(#!u+x?XH8D)InybtfS}PJZ!@F?CNNz`$rrJ zI(itr0-aQ$FYX?~4mWdzxUL93Clp|EQgp_U#&&-{ zt*4hv^;Hr76(aytUuZqrnSvOJfwrUYAHs#^ECD1XJC;Wk{7XkJP3$C!fyBhF4g6OB zv}8xeB}Ig7>lp% z{AjMm&+x%gc>QyaFJ3Y}L(!~7f;@^2XUAZNaRwOJcu^+-=>bkcdML9DoU}H|01AB? z4oNSQWztYaE%L63Ckgp?crEJnt3##nVZr%E&(`XjXhk>wjd&4h2GjBOg#A6)h<_CZ zaRivo{Wd(lEj`D@cwB;*)+l|jV_YT?h7Z~4w;Zp9poz(!!|NgipLfr-ori@r6tDc(RMxv+15nX3CLB7Us1Hc#I4)7PJh~O4!5pjkG zK|BjF6{WSJm&P%Yvv@QDSd#;KoQC@%^JA`kGsWVs-~(7673unV4MV=3BKP7yz%Ppr z^tf{(+9^HhU%^=F4H3;-x?zC{zje1{BANoDxskd@a_iA!9FPIc+=mgUGg&$2V5gic za-oGOajbpizX^J;ugI)m75NuJ9Uel=V=+JU98cc_=!wfyQA8wnBtCJY^cW#QTWV^3 z37=~f7#fZ#I4wYPO|ssXE=E3Bp3V@`3|&_Vn&B@`eGj}IK<;yx{UmFz$`L%#Gw*^8 z1IBl~diwDm(Fa&ThohS(s~AO`&P#I<;x$>{uK>A85=2?-Dp$vlqZOB{g|7}%^<0?6 z_t1m2OpnTBn3GE3%3lJ09sE2^hD%A8!f$#g+Yeq;l}yu-3rN6KXD z!MLNnCO{Sz9QGw)8EX6!aEBDMfmWhH&~L*JBk_lC0uXdd-B_xc(NuwshGfC>sFg` zkB#xP74(X}q=4F96MwjowntzLsbbMYrrBpC9TXlFg$qIsW@!iPniQSF@! zFe)t?&^je7@A%iWcuk-4fuQ>yv(g<9i)FE6i)E)=GomQ?NfIzU-pB-qIO=G_I0`-? zg%OJugSI+BB9&9VhY(e6W}M@tpr-gDc_fNjbGC$(o2Y~P4hsO&8MXD51OlfZma@sc zh8Al;2GxhCNIDkVU7n}n-F73%DN7Lx$CD-$c&Ndw6xYKX!DhVU<0y5gxC#8TsDTOK zIRt{LAt>MsJ&e0<{HZMzu0G`C_}nN9>AP$=@y&0R9@sV*HC#OY7_KAhu$|=jE z!A#<5U2idy9#J@_vHZ==44-Lp8dW3gEX-oiZyYH{>+%#-^VV|9_F8^fSPs!X+HI7| zt*Fwij>W5LYc$bBJkFe8h{jKI34WN`|C1=J1o(_i?(E`yihvYrNpEq$kq|9))=`TZ zs8V*$1^18;L~OxC{Dg7Ayv}g+_0&T>Z1a>=#8fjJ8~?AG~zFtrYMX|GG*{P?cm|Z zw1xnTjn>B08$rO#am-~!F7tE!&&DG(tuK#(q|QjS)~;{fv~k1u4eQsnnhj{8lAdJJ zRQ4dDrfPbdb*+*vf|+vqh5z{3QaU2Q5H(rU;V&NMYvjHu4emmQJS-r=ycW-G>AYBU zz%DALJGJy%9T|UZSL@%^9##LIs$S)*K3OM5=&N4Uu~qVX0R9Oak>6uoY=h4Ko8R<| z?v~TX-a!RpdEc6@g56z$KLa>*T_1Y=K7HMKhF@bT-s>R}s%40kbU(*y6+qIN&~P0j z|N5hL!gU78YyIwL)z8Y3erl(brS09Uhq1#Z)6o+P| z_HsG^)tOfK?#}K;m2o5DbN^wYha^86wGY7OWu-qSd+24Q3rebT^!fJ3t`}A}sd`79 zg|WHX3b1;n&^qFzMkW0_vzUIZEH6~^H`oxjm!4KWRs9vEUn#$;^mTrx&pk{H?!z#> zX@rxgS(!4P0q)ap2XOVAu|1L9X+?&JtaGDa#?<$6DEXVF$9_Q1P!4@E!w?9<3M?aN&p0dWEzl=-K6&6 z;hXfY_QEyQT+WBWnm{4*({~q>#k!01gJTM+hTqu`q=jl;ov=K zof#TS+BV*HUmwudO?~aH4xo!V@)n{f&s!_SO1y;#?G;4Q z-JsLJJWHY=1Z(_C-?>kgHw-d6XpPQgs&=LJFar zaEgwev6q?HPX4|llfMJ9kI+d5(OgV8?nDS6I>*r?x|%oR>iP@8rl1KjPQPMZKXbF9 z2Gy7=dng5Ycok_r?4j7_PUy(o!ISdoVc!19rxmb4+_Zwso_$OcvOP`lpQPLVjxE&) zefff5)Ximcz_}5|kPXH_KGwHGvGImFm@HJcufueSg$plol|`_qD+bJYf0d!eq=B}( z)4cixrZ_M#^mTe#Nv6?GXB3&8W_DZr#jX?W^9{~gRZpb4i2XTRrb{&0$6q}06GO~= zv>Y*-y>sHq7 zMd9OLB{I(dmi18s;yDN$F%d?P@dtINqL#12(I~xf23^KanO7UM9p*yreZKN?yHrvS z)W2-)D6hasTL zO%)+tjxt5SypEeGT&r0bWktpe$>HwMJHcJS;&US#wE32R7Q=lkK9_*IV6`n0^H5kn zi@ZCwHcn!RXVbA!X!LJnqi=!~O{zO;E~v%jyqg953g4Iv{+{=4&bOU+v)INf@ZJrH zXY!)VyU|tNjW%^v09`!Hz~$X&J&AcYt`oV3Q*$0pgUM1noR&NsRYSFVC8gwN6+E1G z3xEZ-3gaNLGz@ou^K#HCAie~&+9iM0kXwX-ow-G9PVMT=+#=BvPLXeyG!Ew!9VOca zrzm0$shpnOHyAVvg}V|s<`ij!^5HZ>IYo%TLP)YOYRDUDW|1uknJ~r=3JeNxUMor+ z2^pm)F|rpSrYyh(UCAywC!xkUE2MV&>7X1483^7FEQ*8oY)B6ao%hUS3_KX-8p(hr zK@m`q@vl%3hBxqG5rsw(g8{z|lTyJ~Y6iUu$U_2>P%GeNG=vza|4=Z z5l<*^oxsK@t}UV<*!;_hC=Byk=HIuZJ)e(=!Z7n>EebHtJfc8v1C`W_N|uQz1OXpH zwvYlbl2Qi)TefgdGG?Z}hm>XIEh<;qlGX0FTRokIeeBUJ$%<3qM#*fKWLUsx)4DQ) zcTsh5U9>CfJ}In5@IEe5L_eE-==?%pIB z8WqjF6C|N?BU+zRNk7C@```Wv=_q4dXL-Ml>mjb}kgA+T@~tZA8LsjK&S7#%UmfMD zljz|X&YNc~V9`#jU~&OY<@Fzy#2`(^lz2Mz1?KL4ezPbT`;UWY#z>Umrm3LZq4M1v zM`IF;Y1*yPY`Nd%2_?EFM^V&eZg_LJJjnq*e9Z2!b7k9<))Z(p{?!_Em%WHISuM?4 zjTbF{!rzh9@j*5gWV|f+sxzUWUBFdVX(eV>`gMH7>^MqD$P%n%H^d=6RviJ~?8J+X zwSh7%myRhR1K1+5yRNokJyT@)GwmbjQB$bL(!{%d{l#jvH)D&{D(NvTgUd{Hc97-6 zS=-MSq65H{ZOkd`sLTn%Si;Gwq9MP^J~Tyz96ybwmF7LJD>NiI&R2wLm_L>lb{5s| z%Mw_f8>PVqG^^;i1#L13X?FauB_@Cl&vP6z?C0Ovsx%^qXnPeu-7v%4I*GZ{Ovj`* zx+GsPJI_SFr2x0=7r;|Ob{3#yK(m${O8;$E22{s?0<}UrEeN+`kL&QF+OTWNu1BT8sxN}`hfX?xGMQb`X?2hK_lS=zQOM1hR5eh-s{*?sOIu=F%0 zQ&RjL&#cp&zL`_;@xFdJhUA0bdje9sb0;Qn%jp@( z65$+F0Tt|<04L)K$FP}us19Pu`zWhKlu2C4?j?@ia8-~FpAS@pdvbjN+kw8h3bV-2 zl}uLu-JM;dS~sYSlr!Uz=Yv2~APpWwg9LCbjp+<@N%FZk#wxgU{Q^WQ1*8ExuE;X= z3=Pde`NxXFe;CF??PpC7GwId8bIhWnWh`Ev0k9G%jHU*Gr8J^{X}~%nU=_m1%K$ke z$maoAYy#%yP?i9Tbs7KSfOS~F3X_0Wr;v;%2E_l>zgvm2I74RzV3{~2@d-a}Z5|Xo zY!9+Uv>4mW3-`yh`4O^g{BgJc=@Q1J5|&$IhnukT^MtwKF~Gg7dkOBW^aIN)m&_Lw_I#Q%2Gax z1qH|?JS9W)JTk(Z_FYwssEGquRk_mYLr2b=s6r|w$euRE6O|o!M9G3I7 z_-}5q7;P3?BEn{~_gW{=xv$T>HU1gVCrde0iZUT>Hk|9#6frhO18W#X-N6iG#fw+t zIwXe`rhYmdjV3QI3pSmTcO-FGPTw9>oG@54Im(9Jq+|I67DH)Ydklr>c5!;WC|Q<^ z4bhvN8t{Qxe6BcCAkP6?qKHw7tWaG>8D=)1m2Jol`k5v(Q^~9PEAr_uwbiw1Yt#%k zN2?za%{9E!QS6}%x20b@Zeglbs5gvi+X*2S2dpy*F|{$|N@M`g4&=qYnjr`XgYaNp z+38%_Ofy%%pO=MN5K)C#j29jmRD#zp3rnW;1!@rmnyYR@qTg6vOb(o)h)DyVU?@6X zraCIIEk5wpeaOiuQBRRj?x~yqap1@d3~3f|0VB6Bv`W>4iL>-1Rx~H=o8;p`#fr`1 zUu89h!66e?`UoWb2bx8>*4qMK&nzl&I2Wm-}$IAw> z3c02}51ka+tWa~g6k1SKB8~rjFX|AOw{+Y_$}znVgA&3A0~y}EpB$~S_^n!^7fRSA z99s)+Br6YCCZceQ_bacKc+0vkYRRl z72{qnx**{>r4l>LLs`5|fAJSS=k1cg*9xh!zQHux(Y$d*y40qyOyyO( zZ(YBs!PAiMxOF#W?RC)-lyGFS8Bm5HW!(I{%PF<;j3M>cFF2$OC_|891gPhN zR%r!=fwc2-j<~KAMnejNIUm2;As6=&)QHWx6Pv{a9Gy_vG7C5`Uo>mLhdNX`X6lTd z6qZ_yhHo=@>-wQ^OZL@SHW(ZDs=Lxx#2akUh`d8A}(F%03Tuj}%fUHxwHQ8clQ8%OSYo`^Pk{_zNyrgECevBjitDi&L zEm`1lXE#IRF!bn(zWbu6&)lOy2sA=V;X4N9&|iz+{~|4RF*3kz;s`p>?icf96Yc0k z3%k#=>P$2tpv7PEa4uM(9#Wwd8qt&@C_3;Wh1Kn9W`M{8RQ;r_Vk?k`){U7iFH~W$ zu4&!PY4$IyJ_qY=>;MyIZT$28Wq&Ne!M2%ZnpA81h|ITA)+J6o%>IU~1X?EptyXU| zTkVlfca&vY+y2!{Z^2^I);cUPF<%-}SHrUy+(QCU~ zW}o6i8*#2vOE<>?Qx);gZS1!;^_nRpoA3j|vby@M!NM&StZkxF732qKt){c=vcsm_ zzA7?DnXpjGgqd=?yZManS3{T!3$~*yEE>`ON z@4i! z?|JFclV41^wEQc(o%U5o_HiJ z+xhKjMc7=a>>*QH)zNmRyLYxBk`F2|R2S^;2?J8$dY` zJ}e)*-;-8$cke+0mYuA(K;#eu+|&7<=cVm8sO{HZx$W0?-VoG`V|OB38ET~0P#R7M z&A0M3t=dJ(IQB#~3uPNZX-z9;=>PoOSGkn5MNl2>jyc-~_)rlMlY)qHeYZ6f!c+*@ z-Pv8*_l~0{?E`8m9kf1&mA}SttCVD`HP%*CS(h6{(!UOHcT%f0c6`-QY*{vm8-Q$= z%K96|mF8`LvBxpSfXA#1NuGg1jN^|~nL`F?|NS+TE@!2`m(pz0$VtXg=T-WWsE>uL zKtyQ9v3fOSXTGq!-SG=&ELcovkPpxkyjWs~WI~xWP%G;R*-uX?K{^f*!RIk!TekYs>@PN@z_HLd zFnCZ@>epV|O)P_o&0et3rzuJPg|MN`B%C?g(A>RB5yhQ1(V`vBw3mY6%qOcjSayZW zVKYI4=0$p0PRVi#&Y~eJ>0Ad(`aZ?xa-`%2`|?T^V(nZ5a?FKsk`hNVG{8e%|1KHaN?0jUg^I~wxngPWaORD zZ$Hyx+Wi~n@+jc(3o!uLG2T}3&aJK6$hX8CtTo_5Q;6<@ob*doH zmP2*nbvMUMQCK_Y&|??^I`ATzovR7oIiSTlf@b{xir{J0PLn!Ojn5~Y?=TiXcY9zu z`gfq5V)8;8N-qxwO_q5=uuVV&59H7{Ik?KY;rX`v?VWEMq6szWkV`j>YPMUyB!*tn z!H$F_eCoop7DL053I@z6R86HHr~Zc9W@Ry1`2ls67)T zXo}8@)S@Fd&EPm`Qp%+XKd&ZD1iq_F6Dx(JN8F_IY;DWNL&K7OMP}j?EKq%jP^l~< zR1j5H6)N3fp|ZPsGZTD}ZVc6BxrQF(S3px<9g-_lCqYZv(z4E{nAXgX%!@1VXU1Jr zE2Bo8lO)IzNIJK#0D+G^3kbM6pEC%ky5|l8)HVo#?<_(f_@2P%xF8TB67b12BW?C( zJT1``T1!C?M^ev-24IiaSLdn`u@XnXq}Og??1yZ)FL3cPA~N8fP7RLywiQPHNsT-N zrLS}3uFmId7ykY(C@FRA<8-BD-JFFtewYb4oIV@{{pL3B14ImKe z%zlX}!|ieol&XaXrx}FFVZkvikGKO)bGLzbfyWb8poE>k`zC~^xuEF*?KvP&B-b$HX~0gsNp|uy@9g^FfblU-%)*F6BAWd#gZ>9 zoU*|7V6t410R!O_q}9jKPUemPyV|1LhK$X@*P;@F94@EmN*;q&BS>94 zyGVA1holSr(8py^k%O(_z}6T98z^}0!8T*I!*c+(6=FPs>N5nJF@x9mj%C1)31lr^ zHH*_YcYv$FkAN@R#KjXW7vai9ltN$u^fu`KWvwp`B6$$~y!L!F9AD3M!IJsMNNj7f zpRx)dRnNr31%1tfohL^!@7WRcEU3wU?w(n~K!7n5`#Hc#A;@ot+2uFOJK9=jS{Qsq znCtS#G9i{u$gNadkm9_V3CK+`wU9i>I;<7)2^7f-&4Bl>D@JL#x`W@BSNa~rDs@6! zOR~g0p+yNg?%zakiOU6! zsL`br+4j41ll^Tim9&)8VfIuMY2EiPm1kSBp4%t&)DDpxdDo_>;|~j|_`^aNcLkA* zcB=SFN_@+C%n!M<{F0V(@-hDvf|TqgXrokSEuPH|$6$|KCWe&LeeUm1l;R)VBM)X5IS zgcE)=uAFdU6*M>XD`}6@7F8DDygkyfZ5%*?v}OpDsift%va|cXf20#9*;SaN?@ABh zLRL5@nCLoRacdDyROmmGD@mJ7lY;~0*|^-ww|#lrhM6XCfb`@D<9`&3X$TM7ICEdD;pwe30{OPD&Y(hisYJP~R;QelFU>s+P3D*jAcJHKsJ zg33Qt9ny(n&J^J%T6>PtjtwPvmn>W}*$OLN)s$eVQ(1Cj@^KuHcEC>(i*eQksJn#uxy0hpUWB}_mIhQ+PO=AUhjIvAs1A|*bm zZrgOSEJ2U? z(%tf<7_Sl^g{o6h*?<>^QRrJESryak12?Ey>JoEsik6m*kJ3i|T4?4}PGy3gr5Z7X z)hY($+!UU(I*D^;_^^uU{QK$+<`jSDv#B@=aRwe!anr)yBIBT%_>4|!Z!-c_l3wCz zCH@(m{KmO}zT&5q>(5+~y2T>qn*`VkI?PP=4EtPxFq4TnHFGe)R(G0|_4@}pmdocj z2M{vS=2HHVw9+Vl01y}t>tsNy`Ep(}DBz$&{mB_C{@aEoYo*f?!^k(2P{#=k2=>TU zlO#wslX!5QNjxMURXovKv#Z2W5UpOsGW@0#4_nhTz9Z5B%=}H(yzPhI#m>Rrh+ z1+{+-6)Fvno;fXrMx*M4VsJYrM$jGW7OM9%Z5?r>@F!}omhQb z7(YS(nZc{LGYLvqC#Cd&JtKvd_n<`wcM&XRA=%eY=rwEU?U!rslmKu<+kQiR=|QpF zJ0`e`@QjXUcTiJ$D!YR&_g7FLnam+J5>HPshKerWk=}Fo$At1%nX_^e$y^PZ`zojy z%FGZA*7ZUJ)VW@a;?Hl8EE|oYiU~5voFT9mFgTSFXT-k9`PG7%QJmzBbe2`LkEg0O z{*VoZKAlzD~R1y7j6^UnALW0CreJSE{5~}5UvngqPo|3ziG^s5|to`!sr4tor zL|(n4R=@9THU9s|c7^Y(0W2kBX#N&Pnts;0{C82<(s^L)+Sd8&(W^?IR`*f+lhzdn z-bDpOr!`L?2=Q0&G4_`@iOk5*I5_ajNRMI>G;+KW?G*UtA~OUI@+m76A;%I7BfKH_lg--d7RG7|v1)3APk9 zS4xbvC5px6;EITolm;%jWa0qsAvy&VbO~r9M=gx9QYQpN(^+lG3xJ*!*mq+kTC>gz z3ecMHpsEk~@y+`29psucd*q*-9cP{DEl@)h`gxgi@t7(YoTsWKf2X}n%g zMSYjKU7~XZWn@CY0B15Gozl?Riv)oPVHrE8;>*=`Y!OF9M><|7W3fxJ%^9|x!ABY6 z)C|zPL)S44_&ZRH>kxRd1cX92R0k!EzE65s8I71?_H<$t>S={zJH!jeDru~vP8^v) z8jr~TA!zbe8EQftR=(|p{jw5g7Kv`m@?xJu-m@`d5QFLfNg0trfE@+w_CmNlY_~_k zEe8Wr_@Hi`)VWQnvT`4C9N#3^LR&eBl45t5BhqKZB7y`ZCv|CTx^puB=yLuMJhL@= z&G1K9$)+52woXYKKV$1vbR5W~Em6ar267sAtcqG;UR(>+;=j|xCRQQ}Vw{6W{WdcM z2om0yR%Xe4>DQ|qWtBJf6h(E zgXn_>at533@TsvmsB7_G-^}!JdhU-|VK|l^IM1F}d&h-E6bAwN$nZjzs^Yx;4 zY#31k=p|%cO+PDdV4K^vsG5F(yE=D(THrOA<$j8enmbCL5K=#6g91a@cRz1WP8Obw zT(Rj5*GyR~rMmK{QH4grONl#&bdjiqd1stDFxQnm8k!)(tH3wx<@AjBMpML`{fdg` z@-SvFmxp?2Gs7zluAxEBi6S!6#0AWbuBwWK<|r6pcnlKu-vxm*TNpx;pRAV?HzB!^oJ2dE1-bWGp``JY{uOa02aeCl1`g08^G-~M~Dp8 z)?qPQReSNRAn|N8$OoC0R%8jmn?I0Vxd=Nh4G7Z zOI7x^)Q!kB-TPk=uXeOq)}d*=8#RDiI;_ci3y$RiJQE_8tg6Or7)vCpOyR6zD-r}# zUIVtNQQSaxFVL@Ly8CqAUF}}@(CsK>zHSbKPgN54ji2l&L}9oV#AeFzM|+$VUDY|b z`cOL4bgO5tin-RPX`;-?_J~8G3Ef#NggtIlC@9{A@`^l|4UMW-`<@*w6! zs${Rmz3*brTylv`9nWEXq{n#@e{)QFRgjscSI46Cg37&=a?;JGKS8-^>ECaT86r{t zIuDfM@SvU89V=Qw$JqYG@m^cJM~}3-*$MF+(rjK=W*m-7swuWdYIoWhl<(O1M&))j?*tbv zL*2x?UWn-g2xz1T80;*~*ck!;RksggZs%RO<9;}CZ$b*6w$u1x%ONAQMk z;S@SJrYkZS`6ScSxWGv*a95CDhxNY56*(i-CD$V8_^VK(onFX*O#yI)7}2^?1mv#^ z32yIHoihnBiui(201=uZpfd|1MkWUw4|zQ>>mamM;Jn3wGs)BdVaow<&bh(~oJw&* zzorEybi)>{P74rBDNE3Bd}t0%nGeCBGFuX5VbtSj2a|GT6U!?KYOKuSco@haGlAHH zRP#0lIIj{`0;yDm5G+fo9Dh=2zx4dDVn5YXew$IY_or2f%#Ov5Z8EB z`D;R8`Bi0XH>x@BmHz_iBV|%KjAF3(%mQOh?pC}PoMk~$0Z*!vB+L3HiFjm-+~g9k zqyU|DCP0|mJBADV%j3}+=lO1*?2k;8d<>u@(lTLZ4i0|Kts)TF* zu*}ZC$yi!{C}};&q^jv&Ub*>I0*U?;@>%K+J;;Zg!&cV3ActY69iCVOYAjv-5EAfW z=>deB#ouVfeexiUOii6A-Pt8->iS`|Y@bZqst57RD?TglxrL$NB|iFkP2qCS@RX%b zvXqSC(WExnkJzSIbH5mVOkJep)TAd4eXbPG_R(9aojR!D-!LZaH_MasOn9Fj)i244 z5Li$vcLH#6WIKH+E5};p7P#RzkM(wvHv~NQ^i)&(ZWpzV7*dN9xj?vu`-OuP%4nvo z*U@!fUcvn~T8D5A_4F&<(uf3>kcRp~5!v#c@NHY)meYv#q9=B>-_~EpJi+7LMpm1l zJZUHE9+&Ha5@EB}5o{TC9vdN|yP_39#tg15+O8IJElOG*D6ba=blZb~*@l1hZk2zn z1Z5KxO;sOwts@J};oT2D*i|V&U`bTBl*;K&L?>VuG^&-I45SH+t9N#5oGe`x?ojpr zmbTj>EykhA7g0K9Sy@CU7(uKx!k_KI2 znm#ZRDo>^(NO2)V!>Gzw3FXuXrHZpd?vg4Mh!fAjj;q0VQm`+TVB#UX3RfA`i;_h6 z6K3=Xh>#_a7}0qpBZ%5`f}vOABh6$)6sF@JS&*fD3V|XpOmL3jer-Aoxw^WHB-Nd& z8*@_AD4X+e9ONg8L{x~tx$HJEfnck`IB$ck>OhsP1~p0$L>+1-FYotnri?KJ^-0)q zhdhE@*y>KW)xRVft*kAVV6M+BK7|eun!h}&qav^*2S^q={!>*oFt{!*uCEZ94L}K1%`YDKO%ucv~RxPo6gdm%Y?v6m7u#QKB z`P%N<4iOuh9Dy2+(VUZsJP`=eli8C>`gQ7L!PzY((a67nZXiWtfpb|Q2`}(jF(E_Z zsWq7Hf4>ge$lI)F2Orla6II#AP^Q=zY(!#s*&lE^>v|#>UmL?yz<9Q5e2ytW2^gIB z_iM{~?lN^k(W=KQIqf42PbT}+hYKJD2+VaXd2%=dLDPU7(M38U>Si8;yUCtHOpt6- z+S-KZ7|>tMXb_?`3DMXI(bx-7beu^%_`nO%STJ3~#`z{h*JMJJ?4wX}K#0ach_3NM zwC08AnjFg1zMK%H<0eFzDN1jjO#iRfas5+->3?_~+CfAyX6nZ=O<)~HIU3bUz_Kav zAgx+0SIYvod*D` zT}{|(%N+!+qm!thY$FX=YojFIfqCTVgl#)TCrW29Ix&H$^*zRkzNFDfU_!5KBcTN2 zo1(C!6;v2lpJq%+BRT&*ID&e3xwH^noD`{(euFfYYJ#J{JD9K7>pBLMw7DcVyNohS zFTT1hNjq&kTFM?ZCC4EV)*+#x5J`I&4U{r%+aMfr6zaj>w ze^#e@l^zInO0r0YZC7SzlP$uOCL@|UpQ&)Vc6;d+Av`jYzG6>0i#$l@Boq`y`HRib z7Uwg}k?Yi;qB?8cBVkm2!Z8BRHUp%rjk$8hLXVmykk-W{*aS^doVavA+n$~zo-+~3 ziRHF8EKb=XtzsWfhy^e(9Eur`4d@}Cj(CbE_?oe<_@1i~gHpvPK5gczFiwNx+nBvn zW$F3f`E)6MYL%P$Yot@WD7*S8K2^p=i=^)x={fu4VCJSaQbiLQ>Hf0q{EWNRNVUgh zBi)xjku$WnOsGm>cig0TuDhTGw;ERRVU~tMA8Uvk#p(Gk(&sO& zr78gXMrv+stL)qnz1}@|a{qY{Tl^v%aMAz%vmlxyj?M%%44VBH$Mve$(K*1I7;Tp05GfQaS)kEGS!2uuchQu@uBqvLv?rQ|S4f%+GA z2z%3z+~m0Zk!m1F1TW$+1hT| z{BGC`x^`d=@b(*CPnBU=Ceh0ybjKlPjVqlMgy5%$c+8h~MZF26WBCF4`?jQ8-MOpG zgBwUjTpNEK$1-`07I&3+wl;0zvXck<#7Hu+w>Kdn$DuJeGC~1IC+U~woZTJQGW&&VvcTQIX(YTcQ?(5%vUe4*5W%JegMCYN^{T zC-6!_g&+|B{moQBJz5?UBmAs_D1Q28b1neDfo$r8ifvxS2=48Y5Js<>fdSF?#+Pr_ z73OC;CjPsdb$~}BJx@f-xIAO0Ts*_?F1e*ysbp5>U&(cyOm4G{;I(~hP6S{=3h&@_03n~UppR><77f#og z-%9A!y;n1OZ_UuGno+ZAM&;(q>7x#cg0)UW+3K4lG3hBryEWR1#pWtGtdD5?kgxQh z-4mttmF@S>(J59r^oOuEQNb1k>})NYV3x?H_OHkG!mO zm&r19^SHF&@+ub*+wpsn8l8B|0j@YGA6n%wkl1; zeP<&ZG+cTbuze+gINGoob5DOA<0mOz z&;ShjYOe;wz@~JCSTC28Ra>LiBnkaufS1J&U#9Ut+0t)=Gc+Liq(XpW4@I0CN(U$6 z+@H{#sVSK`>}^9=I7uys^IymD}&_L3NI~Lx+>KNxR<^Z8jzFv49}aq^qrq zq*ask{+D)T97Pq5m}XY4U7wSLSsoy|lE#&LA>C#7?y5&kn4{O{4f?Gmq+&ShqEC`O zf9_Q9%G8uBl66c)IL<1=6=la+&}YACjTmRe;w(gCew3EeVsKV7eOkje&XNLioOKV! zNsJ^tGp)8&?w7LkHAC*fMB-32&7HoHzCZ;^MbHUX%u|d>9GQJ@8L#|281;lrGg(Rb z^Cm0NO1Q;DuZbN5Z8O~~BH4daAI9G-?oViWzn-1nvMow>Ah)Q|} z$bD{;8E~?S!olPch~}AjHC1$E?$hwrJg;{}W(+pc4HV&CS1Aa7;Zt}GhHqf$ZSMKB zeoNWp9zi_2&H=#;CQ=Sm(s9U915RjoFSfaF7!$>~=N|)?8wj%&k&T|~=?870miuMe zNvIkJt<2;d*XeS4;P*I?x|VD~qUjGoh4>wI&I)p^9G}GmlS4#O&tKn+73n)@V9$7+ zLxd@GKWi>9X85(dIYK7}ZDQoZ2JD@Zk}tiPtl$Mn3Nx5#d0V26xd_S{`A-|78=bQ` z+bZl;tSp$ANY-dnDl_#^HY*R!>1KXE+~*j-^lUjj^)8YD zaH*=2m9IqkLI)H58*YuZyWfd24sXf4nWF7-3lh8#eZ0MQgD^Q} z-bMShJ@)-cr|Zgb=xM6$0!}$I={n;RPqmt!sO-VrBZCy1oHRqNEMl^(n$B`RUUaO| zO0o%Cb}QS*iI0f`876*+uu$pW+D^uma#R73)s$nXi8q(ypVqcO;wqCXo5jtEimRLZ z{U*q}iQL5dBp?*~&^YxLKC(#`71R{fS?yY<3zCC6=PSx7Xeup;YgO0yr-7lC#kp>| za*MXl*~x6Z4$$335wbQdU$>erP(b~3AE|;96IB7hR8FHGF@kJLvrd@N9qn%J&Wn1H zO@H9|Ot_@`%?wllfsIL#L3-^ z;C>lZFhV!dDEPWaH3LB4OV`&6Z?|o4- zcOjt}*&mac_oZ%o%t_HWWdxWdwy3CQOS>3mmf{j9D!zTQa)y><9ue1l?c^)?1MrRV`XB}Iv{X}L%@U0;QpqUTPyoaLNL z&EWF!8L3GVF1ko)us}@WgiaD6v0se-CZ34FSjYUQSr&{0_C<9Y6ZO2VXLv_;3qO_T zx2Q)*jP$ZTu{=MXaBOcw^Kh>1bqA^*M@v(6%9-L%6A`XtT$N@kEQ;1%( z$Eqn=qZ)w|+pgtHMCt0ujcGjTM$~VmXTSP+&f8TxIGxrJjCJ3UTIk6Cp!YJ`)ejSh zCqezz=u}O@dbO`axjr!~Gyh0BP<^eZ7X&f-N-w;iMS=pAAU&ZP6SSj5|4hJ6nOImN zU@vLiB0^S9ssS(;vREVR;6^H<#JG5c{t3jH7-YmP6NEuRYii1gJCwQe?#xVzScMR= z_An)5_u>4_y?SzM^k%9>fdd`b!dw}<2P&>vU6F|KN0c-uZ4@EYT#xliOd8a}fCP3$ z2F0)(N#yXQS|*1@N)Bl4WQ*fvlQgHv*vl03Irb`DMnRuul7;^s_6j;^=JT~oGcQQB zJVVWVkw(c#T&kHDEmB8PpL(^NX2yu98rBG4@VnWEPeII}AtiAlSd4R$pQu@M)rdc3 zIgMu=Rb&MwKWel*WUJ{kH z@DB5W3Ys$(xnUVIs8d2a04wS29rk+CUE|lV@n4L|@}aD3R@=6Z#!l|3&rmzpnmc zEdvDx&)~8V>~Hn^vZt`0-FWD@oeXYfkEg$pq%WFOu7ZqW3s{e6NMx%uf;U!8*O-zk zYG%m*ac3Q_;3t7dv%AjM2E@U+8t0RXT`t+yvI6I#0rf)7i%R&$!2@>AnfXq?pb1<&hv#(5JajFy_O!WT0jQ<;+J=#+YwJ@nMYq`!w*| z_VCNBC-&~#gYCXnItw3NnH@^80-U#~G7Iy&O@!0g7ETCr!TTO#2JF8}&vA)Ax~9Yf ziFajOeSSlVpRd!zD+)lWR z92&u}W}aMx58?i442Nn<#xPrRV>noIV>nQAW0dV!OAHQE zJv_z)iLNXxHmI`@XN~SpYd(eRDWz<3Jy|CBgTS|#!WmGbPzq;<-UCAtTIYeyLV-ci zO8nTkN?4HGm8557-hmJ%%f3YRjw-z%+Q6;?^G?lTK@dHmmk~j6JP)O!W@4ESwmPui z0z|AXUK{;KvY=k$AOYSL-M@npZvD?fHt!jw^PnA#<7PPtQ%1Jfhd$>|v~qwH>B=0H zY7r@AMEyoG^j!TuhX%e=CIP?iU_%3=wL27{Pzd*8N$xbSc52d!`6Yc!69=85|RNMo$7 zUTwDx7%JL(oR>=JK+3I!aI2d8(dH)g`0ppE2ibu$$bu`XQXoK>CWPylrp?|`xJp)9I`M;K%T!st5uz1Ft!G6@h;u?(kWh~Nj+%ND* zkQ+JSMr>6pn*h$2`;3~3{qPqdR8z9*ADu%%i7K%e1b}185IRR~>#=+2FVwC`of9~? z|0>F90{kU`nXai#t7r}-!ASMKND-bDMvxi;HgC~vr~oFY!(=MYs75pnywKI6Z%D4A zWpp%dwD=lHAw|+9pd}q7o6*djblgq^1`5nlX^R#CkqV9~WTRz!y{ zOZr&s{PygNIF66?z|{%X(qIM)ZH(>)X|IYDT^6&eFtv_zM9(V72(91MuZcZL>`Krfk3n|5)&Mf%%T$$$aiSV96eCSs_|!VQ020GE$MMWGLlNa z)J>%i5T=j6fqmjGj@7I2A8bZ0SA#th@I`!6W3Nkb@;PJjh#U#XmG-k%HPk!ysAel? z&8Sj+&kR)dUFZ(FM%}TmI8W>wt6Wj5EHCaV<1YiVKB_wZX;!7RK^o9-AE6dU8Di`s zcwS(JAOy7?1rC@@W?M=$@aQ;?ILg{T+N?(>cqD4hi0m%D2c56s0tR++IrZ+Rczp-I zJlWosR7A7exgY?x!vElIg7-+-gbNgVFAv+dM)&0(P06tNf>lK{-pWqvO7Ca5iuCVy z^*+o~dO+;nj2UCYz7aIx2F9-uz_7+k*iEtvOC0L1dk2L62BqLs5-!XrvyBWWaPQMY z{Pdq5;is>a){rDNU}Q}t{i1af&dG+1=&>=+>&l>+cf`hG9g)f~>^X56@H#9J#r2TC zpVf7{d@U!~Zj+$G*?N@E<=mp;sKBlKO_aXTFtr9=@JQL3B4@=>%5j2s;6%wnTdUi` z(GXoiXBjU(Eiu`mT9Zd%wXfIC2oE$v70o~_m&wxGtcS+xaCZE+9f2{OrMe%v!Lf0h zCu4p9tj;1aNE$4`I{{jeCS27ULW*OO%owSh-VQvg-0Oh9GV7bAmb3NEO38D^i+mo@ zV}O!IsPogKhF9Kt8!?Bh{XzS74p!{r z)Y(?qp1Bl~jX^Rx6()u4B;uDD9q2)=G zy%x+bRjkB;%&M)+g5v3GRIN0btXdX@`bit34QrpgFtq}RHMnUthF#CnO2f#MzMdwc z5v3O^Il>WPi#o@Lpq_T+?bU&|u}_pv;mLl*Y%}GV2`@@BqZ)>a{BcI>6q*V1M_uwp zE9*3ycptJ_U2jZhN}A9m#SVksR5i$XGOq6?PFmu}y09N%Guzjsq?GLnB-+DdHfx%Y z3CmE-e1jY$(W;kpjgvTJsh2d<$L?Y*54+g03}e^Y zTltTeq7`ewRAyOW@8pr1&$|w zndlBOTxy9Yhw~>=(OND_yqWPqP7br^1M8XkHC3~Isd;LxIo@7G4wmDC<{l7a!Ni2Z zRX22zb&Nh@&!Cs-okTHA7@X00pdiOTe%Finh=><|FIuKXW(qH2)XaM`76Lp8#COT$ zu>?m$iNMOjR8>Oqs{5xWZ1P!ih;k}pk+__^N))Q1d#2tl@~q9X*}}6+JQEijE<8KS zGuhwAvskdP!Hi~U`6c)r<@afRX>TV-GHh379Yo$)7ZGM!{56j-KiKC7p;u*5`mQW; z*Us($6RI}6!+o;6&;S)0-BEdywM&~jDtAd-kk@F6z(C5_Ez`m}#3rhmV5AdzH_yI& zF8e~sWbEHMNXw^1(}++<%cpdQk`Ua*J}3NjURO`cXZS4@MZDRK?yL1dTAnH!Esr}| zo+=kH%myGEXH}SARHt!(Hi{Aw0%)b%c|N78k@0P3r)aw4G!?(qmF#>n;<4^FqImwOF=cxHLlc&Xf3w()p89Vag1k|~TZf(THE z(ou*yQX0{SL?j}JqyXU*SO&SH1Q8r4h(eS^1SKddnvR3#^WEp%`+HPLmc=7stzcC5 zch5b~efHjGpMCb;N2Ablsv}3e1n7${0N6eb6(A#yCIsjZLwy^WSaBw7Wun*YcfXm# z$61Q#qlg6c@HpE3h|WqxdO=o8O&LMzjEuCY{B%Y6IV@yBt7h*Vp%iA0{FM$djp_rw zCKxzr(jt;J=+j`~q`}UWmW38ku7sbMP~{=#E`IuoL;y3fY8B(ue(8dqP}q4r*&v?N z6H(zT&v8sZ=JZbfi#!W%p_5d%pGx7U4dtim-o<_w%g4k`S?A`k>pbzh+?KJ+G*~-r z{gg$O=aEx5PRX7D1_Fx}18HZ^(!;j1XR+~i_S{R__kumc2eLn`t0Syhn85~Iv-Pr$ zFj_KYCWH=mm+wp(@^#731&g^vaGnwTcoV1I6<{gY3*(#0YXNA~uEn8T4pds}Gc4aC zU{#Aw1%R^v7`$0m>`+FSg;-=^T_v9=<^kx&F^vk`wI$8?#msN^2?SNSE{~*nv_&b5 zD1yI`K)1?-Q6tr5 zXO)i5A}pN=t^mMnMfcHs-Pw~UD5QY5EchUC%?y?C=618%pJ;(tw z+Trqj{O5T&kI^O)O*;NGFNB&(X7%zmUQR;eGkW2-BryfrN!>+AJ#r&2RwHJVos2BU z{O$w;FLo!6ts>Kr-M$LdLu$t&+7)1M+0aDRViq9u2)57D!ehGwH=>=GwUC1Yo9MWX zdBy6*JUZNn+w~Dl6#f2%ohJ^>u?k5+L$`7xO>{hRE3fz9Wa1{tuQ$OUcI(xQ?AO^n z3_j5EF;O$XQ=Y))byB6Z5jRt|mm2E|-DCLdOlTEiq6cAeSNjbBKASilccm!EZP!e-VF!*aQMVO)w||IBveLmS_*~`u<*o1K5XVm+oflTh3|*H%}NqHUkhU zk@8wxTcF5P#`!i27V+4m)}!mTPOT5 zR5PMg5}=Xy$qp^@P5Gk;V$_~bRR6#0C)i!y`?EC^=Mwsw3f8T2 zGYKK&8il1JDGG~nvOD`h-!N>>V~d<+rszLBPUbJD5GU5=hY-X}!Nk3X!>$>&x7^q;q zPO`fN69|>q4k#>bMNeN1N@ee}g!#QrnmIf^KC^+`4Qb!jHp1yCNB5?P`R|G6erqyE5SeNi$Bsz z@YdI6)+c_a@@I8#0fvx*E#jvtZbefqY^UkIjNQh5P> zWw>ZK$OIXr;B4Ldn`&8 zf>A8TSaz`pHemva$!%8cg-c-q+a1FMwmWucc1E>nXT?cZ0~6kL5=`h1m~gOx35SFU z7@c{@bTu%ca~>uzOa}J8c7RhIB;Up-Ly@LU^lx50eKXYXz#gwZ(O}Y3Q`0e{z^vsuG{cX(lz5;IZW_zEt zy1#k0Rq39l+1?vwo4|b*U7t%v+`dxILY#7k%Qqd;t2nzgk1E%BOxa9P%H+2RyXt6P8w^CBhzDFkJw2?j=a{uk zsk$vn06Q+QAT-6wq*?JFiA=4{PN~@ojb<;KZy(cT-Fxfuc(uIFcA?Ga(~czFD#-=1 z*2PSD+8^f<=jEl8a`=GogWQIV1-4JpPw7bUcJk5t2@McMNK|7y{0D>dg10GBsD`1s zs45Pt?0JRAa#93?=nrAp9zR%T!zk6fY)HY@f!nB8RYj_Zdilu*`+4hjT|y=1Q?ya! zs}GPAG*npM>PfXp#dI9t!%1j*plykQ7q0Hw2f#8(xp3D%evG&t839&Gwl` z1$S9u3z3R*B0F0C5qN;32mG2=Q4;rAo)*1um;+%-4ApT{Vi$&;P?j&EAg1H_5Kp;) zSQCm|pi1?R-$k>ieDbBdj@ZMi!l<1$(F2I ziFJ@$c8Yc9OBogeBfY2s_ig$}&-f0P_dVk~m`iX5^@^h)o~n`hUW>t#?8WR=tzmdi zjh2g2Xa}2GQ+?DDYSUb?pz2+UHgJSy`KMZR9ESFe|1|d;lo?cdtbO{V62!0Na{v;Q z?@Tf_l-lf3Dk{NmD7Dd})DXiiPzqGY75{o}X%_athN{l+ zk7QAcb(e1FDZjH1<}8rT|9e8%T$%9f?D;@S{H)T8dYh8(@X$Hqh& zx>$9>Qz$j47OPpbYQzgTDW-q4Qn1LfH8GU3m}e*@ol}y^^{-LVGmkP0%)|9pIg!uT zVT}lOY|9mMd7vh%9oAD$)3rcp(c?E3H^`|97NCykAUZNjm1QiO6k-_^G3eoGqh4iT z5&eUtbqubhx?m{!fXDm<2C^K>%OT1eNgyy{VGv65Q_M2sGui@5X zZb4$`8f|VTcmyJ?RN}NH$V2TE^ zzoe5YC(dm_b%~54aCF=%-!c!O%B^o+g=s9=Z+kNq_7P|N3B!`z0|h0JNJ!AbTy^{} z`&3`1x)>gh+ZX{IG5||o%@|aO?ch#D*#Qv4NYrh*ARX>Z0Ix)YpVfjf( zL#j^(V_MUMncJg=1=RFF$B7%hX^UneE@{O_X=PE)Ecm0YK5h3uvk{W zVxWYD42FTl?=1ie{|Q*|(T1u`Q%lBnShQ3&47~vh=2fr&2l&sB*Dhlc5WpEd1Qbv{ zdjP0(xX0csWv0-&Mh*ZHSF4b9pHu>P)bCy$_eu~yPw=*i1n~r9qXFri03?#1o7R>- zyp1Ypqnmn8F$1!9t!)q5O7X^jj@_r$@yMHUz8QQgeAT1=7_}&0&B$t~&;_VMBpKOI z!VK`u<4HKkS_H;L3jL?hs*svvloJo!5b25la9NsC(E}s~zjBiKspJ_=R``9S>GwhX z4n=pX8rnks(Swz_C_%)E@;8d0@;7?L^7ph#@9?c*1j`GyILH3znJAkcc1*ndMR`o* z(F3)}+iWpWxn^s`ogg3gacZJi8L2&`$DI^q z4+;qM?G65MoquQr<{Kc9HUtM(ay-NfkDK&R>YfA-jXFlFWPC&!Uz^;*gCKcKuVDa& zC0IRG+;zk~;W0v-71%+nji$dDfgz5d@KL3aKc%a|DS{z_rjGU`bn#G+UyguXvPOx5wW&6IAG7D_Pg^y2CNxMij5@J&8K&&Nzzy9? z)GH#(du46Mcms4Ex-@j&RVa(QBDaU6pEWvqtM_1H!ET7j(r=j(rs_ zc(bM;kmbw;;Qn1!s0K^TL@RXSm37-3pc3O^}-hT=MXP$~n*- z#RJK}z(C3w8zBWaas(9bcn-?180FKfct+$dei5#*dzJ1^Qh%OXu_?MsYDpBmj_9Xi z<@t8_f9$4DTTbf1{=om%VFa~HXVO$VY7%5YMfq0pr+y9no*G4?toJ`vC%Wvt&rT0I z1Xezr{(Rs|*vIPq%X;rr#!h>mJXKWG1pz3>{+EjJgepE-3=jf9xq5SdYL`Cw5mepu zmx>Yexjp6Yes|FS_V-8GXb0Tsa_C+J+a0b5+m zsvUL*|G4PF3U{>pz0%G4-~NUvCI*dWXo#Z(pvj4WT_NQs?P&Ohmfxna!<`L7Fc)dc zb0>31F{fi|oe*W^pz*B=-!1-!eP8NMmpvMCXUpHq+{NL;TCb}0(4E5ti9u1S z{I^S@^hAGXhn)Zk(vtQJkABR}mTkS(oi2ZGac4uj0ZU;k8{O%z6r)f7@w*lR2-RTm#qwZ{&y9VqQ zxr-&;EOyf+Ei57MmZt?<;GsHvRy<|WXSwUb$C0=KS7#U!hC2~rA`@b4^|F;Zx9d)B zh_o=U7G8}oyiSWP>u2`PRCC8lS%u$XopW z0m`@M=E=A0hqMH1gNVe2*o(Ei0oi@Q%ect(6&>ii|E~8Q$@yi^%Mow(!u#W1oEA(j zGxjSO@3?Bp<>ywmb=5Nc3oT=2yOr(8s21Cp=Hs4<`xZy!$3Mmx%d63Tc{r(ild(xG zMLR}7He?n~*xonHFJx=fUd&_mB~DzBiuC6?IWEgtE7k)K+tFleb~q=ygxb#RIrN1E z>dZ>*5^(1jzsIqr)g69VZ0U}yj?(&SzcM1D?@m!X##rp3X;FBouc3Hat~!VgpdMXd zce{e;-d@F7>~K@n?YQQ5xP821k?MA1KGVyS@EM%=5COZx9pn>%L)>YqTFvtaRS`wW z9ighVJg11%wvOjCMF`%efgGon8qX6HUBr{%8CWoPxQhgHTbeJ{?!riuaL(JHq9u5R z!6(#h3%yKGUUrZ+Y)MFLW9~sf<#9LS9)>-4*RF-Sd;HnsTFRX^2M8Iq#Xhmaok|gi z-C?{FUhp3gkFN!2(oo_Qe~^$nB47=KtVO1xH0Aife7FnErFQ`umEOq~Nu@g!o-SWq zv|p~w+@A0TI63>=8<}MuTTw&sxQXx?JZ`D2*JHFcqQ^*WgC5uG51TLr1K@1T242LU zu#lG;rU|&~6@Ov`;d$>ceb|7^E9I{q*RY||#`+rhrfZ~Fd>#ya-pf;5Z;zgsrqTD_ z?b!#cUtk6sQDj|{15tY0#b2>@74*N^U5dgOiCF|S3oUDND+4mgA1GPy8f7QrcHy4= zRPHXERCAJt%}h5ST1y- zyy5+PmpF{*j*}i+c!V*v2F3`E+^!*vQ3wu&f* zxZ0EMr_1H?5ss0eu{)4vfwLGKAT+x3Rl7@*F`bc{vY=tH*L2!a;9-NhpubSL!z}hZeCtNj%q#C= zEM;iub{;HXkcK~xtyUW*;~JrDB;f)@*@CRV(c8QTN$XvX%6alpKH z>v_mH(=PoCg--K({Owwh^}ojmYR8ti0h669B!`!BB#JHKv#_t<8Rn$Y3j_!C{!X-| zo_ZwV_*J=BSJ%lS8>16V1>AR^*sk5)iC_^cvlijAo~JI!s}ubGX^;9RQ;&ZqbmuE` zHk%qY#b6U$+%J_?z@;@)n%ZjighV4woMJMVsA2QJIQ!^`76WY}P{7E%4_re4s9=N* zhJ~fd%~(=iA}FFibdes`8I`o+hKxrm`LzdR#-_`QsGh0-t1rdjxSi@;Mi^L4Q5MOdDJ%sL1N>4@6U zER|UxR-!~zZE&+}^PaAGm~ld4z2-#3U^&a;1Puw|K}6(5>-0Yol!iN{d7JFhvC*%u zh!+>fMn1|J_dUN)CiK(LLY#eMIbgu)2`k9N%fuM_#Ie| znPD1W`?VzSzR?Ud+2ksQ zJSQLCeOBcVJB7r(>W1jB`ia4z0Y_E57*nZTvdFr}95(<1A2-0HMUPPhkdkxJpPoat z?n?p&dUz#(VS9p2MA3{j!aCLf%#j9QK$XO9h=|>j|HTY}&)ZS+`M72WdE5;Y1I5H) zKW|D1{U%0|u>$=*so!$|MKj9rIJ}8rV3KH-$I?5?Y+ULsjMsq{dQXtDC;QI~dQVXZe;(cS99O!w-Z3u>k>4<`mi6*VZeWSb1m^g^QfHXj_OW-)1os zVV06-)q5~)M(@_Q8={XX4H3K*>rQyA6X_*lea!XSSLjUx0Q(w=%5c_@;eXiS**SwA z(uds+XCP`rdh?AM(z$-D&J6)L{;$9l3Yej)eRX!`Iv1P~&rq#$X&YVSJKfamX&WrA zxFMg}E`<6{TE5Q$W{YUoq35Xu>YHt4hiGL*-Nk-31DFnDyB_#+i~^*8XhGMgId$C!d^RZ z`oXuHF7%toV>}hlaH6))s+Cs<`bpx+~ zfM?j|2K<2~lJEV-Bs@_WFNPX~5%SQd=CSlB$9R+cHgkIGAyg_!uGe~`TbuFy0pXz| z=Ex2X9)oXU2yBC+!;{w1Zi~e@6*@dA(TgRo$YXJ9vVSn@(1|CVexxfAtPzmD$;(nn3(gu4V zDP2ej+&5``aMsLS)(jD*&84P5gF6c>xT6>)GI-g;H~6-1v2QIXfT7)jD^@cSY@MJY zj{`UPia;YwsvP{)!nzeGaHIcvy+JyB#(=$;`Rn}W&DHv)XT7*$tM^hf-ZI;xs@zZZ zMql}8IZeh0b7k-|J>oOutr_IO7$$nP&oEqOK)!&t2r)7JXhzIt!w^lE=fpCeGWM<| z4fc?@4>v7;wiF@>E8Uht016nma79gQ5<5iPWSdhBt6b~q)!|pKesjaHKIzQ6B$nQQ zNZ6H^{b9K(`g0|{XBcX;ZuY*Sb@RhGEnI%xG#*v1o0^D1`imP2d9e_Z zWD6lvxA6MP=D$GFAwSI-5|q|VWcY$hbt}^|#>5mFACm5amHFkeU{UfAE}?D`Ux56g zCdd=~um$q(Yr=y)O=8eqF9tP19>f#7BLsmU7npY|fMU&HX$O z9sK~*k+xehJz@7H?pz#e9DWMvbkw~dSxlPFPpnKj!<{j>jdXIB!Ij4BqByrqwVSVY8 z0VdeUFyb@hA;Z?H`*HSzajlogXM`=+Rk|pPhnhV32eU*#K4l3t5&aBvvyrxTVAi%*VosNY#3facfBSC^NSmzO5aaNszL|B)ls+h zV?OBLa8}56+c|NWI}N$*#8KIZ()GDdM%gc6DlV$DF?NR`-1v%W{c%AAcHnD0)TmXG z7nNtB*4I_tPt>~mSj&Er$CfJQyZ-q}J%6m~KBeb%Rc zp)$3TlgA@%15q}KpOShniiAq`nSL2TNCxKY%fP27Y{D{Hg^P0O^}t}p2CCD`Z{Xwy zU^ceD$IU+1&z)KtDU#EVA7$@19zUABf0>Yo<1kD+MoNsyyMzN9nrnMcU!%6QS5n*h zw%SITYx_qWb+n`~VvbQ(m-ShP86W)UV2njn*Ub=R_su5Ba?W`JsW#~KP1w!uuhK_C zW8`~KK{sl*Yj$nyS6X|$y>=2(d5#faMl_l~h%LBj48$Vx2kGe7B5@9dQNwJnZ>8qs zo7@Yx!s%=~yl{nN)dvqi=Jj^H2n?9v>B5zg{A@Th$Z%z?2}h7=Wv7K{R4?2M4YIk( zlg-vZHaXT`+6R#BN3yRDzrLT#f~5|&l-Qjs3L1(4j9UcvH)J2+U@jmEV}LDhA_^-& z4SnjX0o#B*V2HW%Vm|FShsM4%L1qraHgCv|X+rRD8L9 ztZnPZx^`$NhM?qn-;bTo2A)&M#met_<_Ir072+uo16 zRr@{IIlNpysQ7aISl!l-HDtGdK(uQMRx$AVRn0?K5k}eDj18j`glFJQhyGF<%g_o8 z3w+%NMg~RIesEM#5fpNy6@OQ&Ep7GM+X9n8dC;J>Ev^r_(zXa+(%Kfz8J_f!%o*7) zfujZ6!{738<=VLmHrb5Kc@AjlsI>pe@6E_3NNaxCc1aoff_^`N2dMm27 zl674H6;O&HH1qO#6uGQy$W!EUHPqSK(95GarCzR~rELu@Q$szi4ZS=bQ|jd!!Y3sN zGk!!%n_$VRP*L!rB8RgCLKU?pEN)L|Mp`Q(%$mpi&`vjXPR6D4^DLMs<+)fmL}EOA zpI^BMOfkO#B^JV(iC?IG%LMBiHi%Yix|uO^N;W^SGbFaKaP)NZTV)R>(TCGTzYXYh ziFD4LinmkHt&gb#1PEa*8Qn*W_xLJh8E1pp2XTN4L=`XC3^HUw>C03=`0iS~*{Rnf+_is-nleDywJ{)|U? z-_PpTzmo|_IZ+&bRODnnAJQpZ7nSNnh02?Vw=eHr)Q3BsiSo!`?6r&f4AV7cG>V+` zTv(ng@upz=xY4FE64`X%;I|d=L+7TCpw4jJ+EXK8D`-+U>aNIQjCk$@RrAI!x;2vo zoE6H1>y+RRHMNOD=JM{*M0&xn4gplLcW&Ckfp0~4iX>YpZNsK`adW8-G%?FLk0-IN zjnIC^&9S}fbp+saoFtmW%N}M?3Fx*ZG3ki3H@i(Kvz0m* z(qjj1pLMm4%2lxW;wmDt^@Ok%zL2GrDYB81nLOI|pe&HnLMmsUTT~6bxA2@5od>&% zzeot&FXQzme6B%XxISXoz`YCdsvb*kky%kcfW_)fo|68uYIaH!KJqa)kt)(WnRGtM z5Q=_Ck%42AfiBnzKy(@>kjp-cMWclxL6M`Ds~V!5H-|XqwHD4qC)d77R{s zfJPHA=lUQ{3ZEqGm5{-2WZ5e=1pdAIk&=lz?m8~vb92^=)oNLm5=AMa=+_?)_ znL(PKm=R3tDU(!!;@#rIOri_%>+B&kZ_ByMk;dwwyy0Rm3U^BRxA5&2zxtsAaY4Wfk-o1Qk(17C}3fWY$^I2V2v?<)=lh;3pJ)_OC zOdn-$6|S#6hL&5Gv2o}rJ4(Dz4AMzLC(yD zb)8b5n7kB$wgyx?0MuNA)Vd|Ykm>{#X*#kwi4l;oO@_NsW+)`+DioQvF@TD$^o4^a z;K#|BmSh~w+NGe)JUa4TFcEY%qfcoja7-4qX;W{i%o}BzBP24eBo2govTn7Mo-xXv z&Bb>Us5pB!ZqPc_qJ{~|aK*d35j&zz8(_C#u!=+bc8Dn*iLXIRTPMYh&~YlFUD@^A zbe}TYn1qv@|FLh^M@UBv@QvEN@0I+MFeKr;-oLXC)8GJrEfh$adPKCsVx&xBps ze_yXCRK=+!v;7GE$Yo1r8b3*_SHO+)YF5}NL&4@w9I=eTfwJ>vLetIlNsm+3m{SM3 zq?Pn)kD`u$DQ5y?CdNW1lzJ4?G2t8MpccH=s~F8RB2u@RN(ER)yr=U2t!~~+3+C<1 zp4WA)@Ulsf9<KjeOcYv(^w(7%=n%#MrZ}#dtrl{d%-ZTuLxE8@9Z4%VD2X z(^@h#Y_Cbt#n-R^qAr%B9#Ch=VM}D}yM@)$gT+9D-+KpRmHU^tJAO8jO0-~px?g@j zB_bIvTbKcKyvPfwzuS2yScJd|VC*(bp2Nm@JVxy_j0zF~p$AgoR4SYra7?j@1lbpClek2`zpG#sHrr%9HZTrpZ7AhCqiQ%fo6J ztVqEMVO4++c#O1IZA>Ns!^_F!Q~P8B1)-@r@^miVX%zsCvI^^4%1oBoBv#0QTG{iPl@emRzDCFjp96H?{Dpo3TJSaPC59~lleJPIn{HCZ>?S_L{X0wPUG z@b)P0KM;~c4BaEOWIXG@pQ141Vj{y+fZoR&cN6IV#V*fCvzOQqSKK~bB2#^Cc@qCz zRTf^GC+a<%nIta#=~|~}{K-~c6>#!rbO>q}WJp#r1v__R+&57lKms6WhiB&%!fUYS z+j|Iir*AE0!DO^Ltzc;^Ob%AvTG=XmOWaD1Xh0ntNZ+`s)=%b2(dN}X8E%*RKX2== z@mMKa;pDddI-QlQM;CE9>x5dn-R@7JmiyRpb*Zne%iQ?U4gX~KOt5SguzEUv{gZh* zKKY&WiSf}Vr}T63#jYpDhb?t-^5WnVGils?LDiu3FG>8YtH zs=Q(PfcxU%XUc%RtP$S4KOMi0Pe1uU(^t)ZaytYMrjP$f`&ZToad*}lYpAWPNTYJQ zIZveH_4cxY1isJ+4wPNp{#7iv^LF?YUk@N!Eql1NU)pk@O_u>A+oiUT;%>w)!69e!g8(EO4S8N-jLLxK0aE1Jdpp__eVqqL@oui1Q3QLbL^(!jQ0)W)!WZCWgcz`Vo zNNrJ;Z{yfxAwWt|FnoJI?qUFP@ec}+L?m!4w)HD$)&dx*C1K_5{kq6{0gNOZnp>sg zDt(=Yk*oN+`u2W|i1|7XkkXv2+18Io8(-&Pq-4~!w{u>@*8^;=+DUsY-`8#HM=k0V zEpyA<)MtwJmb>L{clkE#hTZ=1ZG~Imj+AdJ@j^RZzO8br+^O{6liR7)+U~Z#A0SR?Dt3$@#Ib<-w#G02oi3tSYV$-G@+8)M1uj*@tS`CigE_t|VJw)7=eui>yWMRVsMz@nwN{8K)LTT|3MJra6?I5u&T9#9jTvVJQh-$?5 zaW_6dX#bQLNz#{Ex=YyBw{(Jxt)0+jTHUyfG1AOKZZoy01}TkpYe1p|`Ld7^k>1N2 zNA$tV8!MYkZQju23BmyncZ-pg;5h&; z0I;(i3S6YYC*>GpdH-Y0q z`6gGXsiIC}8pq2wF^yB@o0!I#;tinM)HcgZOc1&ZABKQxg=@^oL@h>+#D6Ho%s`VU zNfK$06Go7N!+o-;GWX-UC?SzrL?RTr8h?pb%w+B_sDimemBCRKiY)2eB<^ydDS~76 zN1RV6akVzE-5+8*f>ua7>7KD9x6KKnpyFrggK6p0pGdlMb`~EZ`*{B3l$4Li^oZR$ z^Z_m>{wuWiB=qH8;Flw2!v_N~f<>r6M|p6m>USx2xX68(Ht>!HE(e)|UP{GEt2(%MCyT%`cSyctrdi5rLmJW8F)& zxciD*#0c%>Tb%PPf-kl~W#+dD6?9oETPz9L7;IztQ|JTfZuvIO{wc~Mxs}=+vt5Gp zRfb_{=Y7cE^Hp(2QBVN8qNI%$IH58)7qk#)N7A!EL{EbZfZ7jSqd_xM$O+cqTbvOIEoS7;L^1=J>7qF~sG*oTVo_j6WvQvv!8W;U>**lJWZ7s3L+TvQrd~>7#W%bRPbXp@c8`doF?hKHZ8#598aY&S=MnsNm4wX zu`fa`9Bh>PoQ$&kDhu3Vpv^46_&jwZ(`inul5)~IvR}=ZPV^H2>)kYWxFAws( z1UXiQbVNo1bu9^d*&%QfJ}+395>%km5)L4AgJ6hO+F7i=cCGRNWSQ zWG$&vg$#1F|BCD7_@c8E9&!&dn^M*x#ef5xiuxAofNF%I98=4|5WE*>gqP_!Gu@0W zCGv>fB5UCQV^})PtH$oKan7!kFyil!jX5I4u!HOCNE`Jx^KtK}9fawm2HrwPHqxBf zv(XSdWh@!dlEJxw;aTX2z?uj^Tq}mgVRDkACq*xavETwIKykKHD;xpGIz649?6l=+ zCwXyc*`;0aQSOYw$d{iQHOv7_JFGWw`;es)c_BRa>uGcX-G<*4@*mZ2rsfFGl0EM4 z*`EDxQ2HoaY#x2aL&HU&#sW{Mb}=eFL5t&R<*Xc|-LW1! zScXB^qhpR0)psB@11ja<sGw@e~(i7SV>%{RM%^6pN zk~-T{L(#{8thXoId5tFpAg)o_q)AJzA&t^C z{XL{?UbNwDS5G}|T>MGGoKBqxQe&(Pj-@52U{*(wBL&~RJq48uN1-cGM~w>D>K zQ%qH0v<_2=Z@8>R)GB_#7oTQZ2dk*w5muABoxc_L62?LUsEIfeOu6}fc82O=cbwx@ z@S=%I8TuSyW^N>>6zYbWZZt4e9@Ma zGbRpOy0&M>f%c~8?>e+tS||gih6{QW+JHp?Fjd@(Z6GGS?4m*HP`3v&o?YFdQa5Sk zjxx2@S5wMs;1_9CBe&M6maJl+<*e9%8soRhHU2{y2-Wcy7Fz1wKPF-hSV{E7jFWBo`2UpMP^{l;~(^q&{&-n09 zv6jGs75X&dWQ6WA!2$XpqYMC|aYP9d^v9r_Ey+#f#2ALG5SJ${5sL7Y1n>ZbeoW%BvnsD=sG@F;oN(k!gOPrm8jy*b|csx(mKh~jJ z4P}>v54!Je(P{QIEMY9Gk<*QTk8E32x0mRD@lpWZ|HSc72A%Tb%!xt3AL3v)md;da z8_Y4WQoAPcXa0U+#l9X51w?cD6VFDH0JR7gTsy_;9`C&3%UWf zC%b63Um>lMd;`a{^eVpw?yKINK#HjIJjzaoJ18y6GTz5J1q9p45=K_gD?49kMxLoz^j=R#ZKa$Y!3wKj!EsSddyB{~_d zrfg@{2g3-}OaHS&g4r}5tP0OT)B}8I3Gp+@FWY)p;lie3ofI1DfHFot9C#%1O0Va> zp5_`R;Z;c3+=6TMvxNyYB+Pm7A1BB*u~MDT>SQcJF*^f*#9?Gyzh?Z~pL_n<13SO; z8yBJ-;z4xA4v?=I|K?ZT_3ihbc;UCt6dy1^L;1F0{A*|4^X)%6_oZX!{D(E#4@dbL z0OWsp{M7`3&ld&r4dZ|Jx#ynv;-N49_P15$v?dZ9t?Po971`+?US9$i&Z2)(2N*E| zxKF>x3s;_n{hK+BX}u`lC#_Q&3=RGmhF=`|P1QFbbf=-;8tG}>!cFbjTQ~vXOZ^(F za{Q%u$D{SpyiZBjj`zPUzgD@)xqSHRoK_#!z$I727x4_EKNH z(;AW<lhLo zdNXeu#vj`;KKb}trlxo8o0)v<2?cFTX|tw9Dt#DWSn#T0j`i7H^xCxv9TXqkp3QQw z1^H1wQ&tMh*u(?db9)DL?D{6qBG}r=^bUsi(I|Rt z6!~WLjd{>^80Eg*n!$xPdCKCR=cq_g9dZK}Ew9!M8tjlwqr*fgO+n^Z%l&L_3>nz| zax}&^-TF)8**UK$Kt0{{fQxR{d4U#ibh)YaYMNFfy1Gq6*YtQX5%CiY@TKqk<3IfU zx4!y&FGW+2ik;ZJXg7qK*Yvxr9as_y4Y>e@!vYSbF!Q_dInqO_j+g1 zTCbSOKJ2XX+5_z8uL14GUy7b!l_=-x=W3&XwTpk6RW=(O^)MCUYhr_s?SNgDnSb_) zR&qOy1fWu8d15O-Rg^`eUN0EKad_bX8r?m<&kxD;5;4F|mRKs7l^6-^zWM-GzH*7= zGeA7&V{0iYF>}w-CJtFobsUA%BsQ5-porS&LpXvUTEr<2pmjb#LG}f(x)7c)&R2SE z5$asR9N8*@TRBKAp+Bc(eb!3G3S1OglrNSoQ8x!aHS{s!6{ht8b5M|e02vQDB;Y9z zc8gU~H;l(mwm|6)VK}|xh}NLMJg`eQC6M51qBT-bW9cG*Bq#$@MqTn9uW;wSjH|hBn<^*mHZYl&6HH+64>3r0=}%b za>c4cK^^Y1``^tfjuOPaBKR_Ev8BF|P2B`tjb#Xva3Pi;C^eh^LKVv6+3VPGQX2Qe_K0qfhmo5jWJ@wBCr%;4X&N6dr5#QX12OZGHxWZc3^lmWmNZow zzIGsznb`lSKL!$+AtDwCG-Vo_5MY9AWu#I7CB46nh$eAN{k>yLO8d5_wb~=(H}IWi z5LnsF%D0L$v;qu~8)-m+(B2Io2!iw&x^;X1Kb-o%uH#gxCr^}bvgrtD@C*2l*(89N zJdtfUbOT2b-4SW96pl?r3~nyZmoxOD9EudCN87^3kp|3En0HKtQ+G`5n5nR&13ULN zF2Gh)&JiVPGqBU1rgKl_&7>`M0K}T8JI+_UHo1?!EtYM1oD)If9v(H_o*}i1$b+~$ z)*TJPrpH3Y7Py%&wO^WM;RU;xI=Qr63tT7M7$bSjZ*l*u=DD>-_(W0FkpWMCkXy6}q~6daHe$kkTE$CEuR? zt?{Q3Pt19Z(@`B7bm%dR$jL}-BR;y_T`%!K7tvpRVI#$>Z5h6zW4G*AS0dCP4~A}# zvJ0KYXp;M0>%_x4Uy<>-P9@3l9m`SipO9?&daBv+dd(cn=RQ*`;P50U!xU8Yldyo_>1qDj#89x-g0c6C==MZkv!YX za9$H_dR_b?vjs~@@E4n755Fn8UPIaxZS;GZQM9j&eMFELV;XIPGmK%wYJp2LX}$Ub zaX6+Sl{(_x{e9>b!@B{q4?Awl_kooZGzxC`bG#ZNAY0X_T9yTbhuSMa8{nXA^zq z{>!LrDCVMDyg<;6LE`HALp(_Qa({?>j}vhV_Te(z@{Y%F%5tJ9)ZvvdaJ9GJkUfVt zXwd1eztKoI4U%Q=>eu#0>7ecNTmo3b!v=zpC3b^0M&v5cKm$xt8ZU6V#tWRQ@nRB= z(T_;H&-jd|Cr>|$DcPVlai@~np0~1|BdjkeNVs3~xW6gNJ(jN)mX9T8f|_E^Mh;W1 za@537JTpQ_W(3(MVP)0`@=PkGBlDx{j9+(oMi=rU(}-N?j&ce#|A{xx7+9cq;|3>q zlC~&5-mi`*EY*-X&~YbrY>>tKo|NMV8K>Ec*2jNIq7hqev? zux}AFR6NU;p7~6?Vh4f?v*h`yE^PiPX0mT5MbdXXLL47h_RDmxY zhvr;t2+DQ9Lfl(a1t4DN^YW@ct+~YKW!yA=nbJ$EZpURl6ZrDU%Y0r^b#J}Q=f&LP zbeYeKs_t!<`J7eVQsx@r}Q_Z>X7qKq;ToweAy)!|I-7Y_5L=tk8y%)zYbYoB^+_Xt%?p>i64D6K@ zdv_?-RrNi6ZB|RrpTg;_}|+oR(X zPcQBl0*Xods2g5R+W)nA(*6PM|NL-%xTJj>N+IprOCjysON+GsLpR74Y5#|=_g5)W5=FmlE|U z-Z@Xyx5Rc)|5q0h^)0aw^(po*qW-^#`u>p3h!X|M)r$IGxC&8!$3Ky%&&_OwY}{Dd z&64e(K(k*+A6F{spO`1=fAEJ@)VHA&qQ1QpqQ1Sfi26TtgKQD?f9QIDrJ_C)^?ele z4GjuW-(Ct)-(Ct)-(LPXi~2B}D;M=2Z4vc}#`Oc&>c7PbHGv7xmjdw~P91pW8+Kw$JUNe%t4EQD2|uiTakk}iS45Prxp_REwK>wDfTa-{&y+rpIe>`J(ijuPcl(YWt=5z zMlmKV+RR(F!Z}N-Eg_c5E-$a;3>U zA7X;y%7THgPArHtvOQlR>%A^=5M#}LVeUnIHKk$Y#!-xZ(J9$mb62l|bXpg2O;D6j z>#$iSGawv*AE9s9etS#%jtSTCu#AuMip;6K6*Cr~kLzw=)#8o1Qga1MW$UPsm=Cj{ zliW|#w_>a*cDmX7>l|lS_}8m(1C*OE`~eu44lwpkw-m!@tmSs)7FaXc>URAKH_h;Y zCq7KFEGO^77@T8eE|dOl_joL0YP)$=A$fAb@H}gNO=d5TUAHW|`*fMG0z&b-Th{8t zm!dA}puSH=w`PAYV{uLn-(R;0;hSEuH!Htm!9c$_4^jrrZjHuj9l(ZLV14XH84+h+ z)cwg#uo+FZf)Iux_3rG6b(n!g+3sOO3uYM@+|S%#B5svp@<`YPj0|;9h2t0Lx;@1| zarH{=$0W1M5IBx3pBwQ-Wmt8#jdE%;5%N)j6^euImW!_(&vvxW;QAq|-v^OfJ zr;5_-{q>kSAz^~mbwER5kD`YeCdxocak&f`^+I{Ys7)t1>w_TymqCo%OMBIRUP^n` zOlI$e6%uCbW?w}?Ymt(~aKy6*D@KgQ$yi^UXW^icXp>l`TNG;l6^n_Xd@xutn9KZ} zY=Ie)!AV16wu>QkFeHZD?K$QvA6X~}csVPbTMk4a_H1vSFM@h{i_nCCTG4Vl>y_8U z-$;CbRwzs%Z@~(F)cY|-CZZn~d?)oz%LMsy%b>%PVFD8g!o_std_J4htM<9)HY|-5 zzXvzNzSmK!5X7EcV4s^)i7vHC{qPl@UEXV;hu}L{E)Nhu(VD&)1M(iS)CVm$u(tez zJ~wyrfG^nf6WRXH@IBKl8Fi6IzjEPQ1Gp6d+$LNGm`sg=V$_$EiL!B4;54RfX_08g z+%i?J(i>Hz(1(14ohf3Ye#vpb?syJ1=m4gloq7;kqld?Ezkbdh)XvCEqSUJ5{%8`Bt6?1Pw;n4aqt zHFSxo!P8$C+vU=*w>c8wy+BRYvS3z(j}M3cT0kn&=N-DhW#=p0EDyU2%$-)kwQln7 zii8WFd^U2UZttgHR=O?Bt+Fu8LN3?@=mmQ$2tt%ol7ncfBnDAi6DdH+&^iOQrNnqe zor|us(<5-#rN*`qLd1D>@((*5($L^A(6T#BN?*PN!mJz2Q#pP@c#D-{lL4Q%=?^cM z5HRf_?`d8Lk7rfo1EG?AB1kgK#Nt4Cm+;zE;n%h-09S&ebZH^ffhfFqQTFS`7_)jW zu!S`a)fahBWp<^CQtE5yg=_#fY0wvQ1-jQNuvX*7U=s9BYu#`J&94ztH_gHx2ygGP z+6UUuEB)>?s$#9j2^V)PIU=*18gc;{alhP<%U)Pimj>RWB^AUGtH#$3Z>@kKm>Pf~ z27X%X3EUp@F=O|0n2*VlW4|z9GXbXx47e~uLhjCl1aB}$wS9t$M>N5t53?~IM5674HMUPGnv4(E~tQtZ?QT zWr?cw(R`K2TGr{^#VGPb(+Qm=_fr-}x<0r6DQvxQG)^TqO>5Z!&^R5y{r$2?W_LuH zKE8sKNz7648Q1&cG_69m04{Sl|6$**RZuqT#F)pe&%z~JrYU>JWlIP>88SWU^B}FM z9^^2gs3f-Q3EjnGv!t~YBMZCi-cOn5@L%oltENUfhhvevvkU@fVcBAgBAqTzX$l}= zVw)f?SHE(-lz=sFz0B!`ffVj4V|y)C78)lNC3q7+EizxFYu3163b0rltZfKcu+Jj^ z2^6&|64F~{1uXpmH*xo_ldvyAVnOAi`CtH6JE(yfO&h$=cz7#1741wX7K@f&Q}PH< zXmb7{b}2-|1!evAdJvCDHWOOXqWYq|mxt($pnY%W`?t{j!ItIug!`@mOw*nldC3?@ zgawrqZWu;o9flYB0umDCohg&6AOWO-lK1yQIz%{(5Z5EksG<<#<$+0$+xyg~Nx-Uy z@Dwuj0U~a?zE-sR-$8hQNO|_5QZJq>@xI1Li%1kb02qr`e9N7qYD~4 zE?YjlLN^)eB17F_c+It=z%-%f3THFIBr!4!soeCZ6dea!D&l|1^~U`nHci-~@k^eY z=9YsOi|txKE!hlZU&*=0Z=uQ#UR`C^%C_w=W!)MfNZ%sngRA%!=vx z&`Rt+rnF6E8iDB-n4}lm+q@#cas%5!b?rLQik@G*B4BVo+X9vC`Ai!yPG3=Fs~eTU z-5{Y1a>(u1>Of4s9^#g&0W8nQiD-xmqhsVZ`iDr1H`y+VhO|r6FHzR@_ABR?r#4aO zXs$&@G$?B0TDD?1m+Apa4^-=Bp85XtfLj=g9yBqJ3)Wf_^SClpm9NQsPPFg$+h*sA z&<4+s1?rmDu`8-eUUu{Qb-cY_c(}bhgJg+nt}F1I)9rO#QNMJ$)zq(0*VOFQz)NRM z^XoctRdwm)C)DN1L4+an2tB+|)`}bv2p~|!LICs>Av!=q*0k2hZ>g!vfwS%Y?9~ik zUMKVGda<3$T+y`Pv9ds2$F8bhh*61T4tPPaGS8J2A#-eQfrz~GS^%%5T7ZWS!C~Ct z&lRuuPQ!)*U^ zSJS3kf88O9qJAjGiSmAd`d_%J`eo5SzpqoDZ|mz72@-;v}tfEE($b-nDWBjWjxGtt9Ic|3E4QCPb<^_s9cm z{aL-)4{46->7s~3fS}iTy&MuI4WYog660-s+-{Rj#9Sw1ps2GvKW*91D?r$FIA&=2_%oDE%7LGq zV?r>4utfySW65>qHoh)(6YT{~JSYj?u_RCJ5T#2R3Z0MK z{XpH0Q`mm<#yXvSDwF<#g@Wq+RH90L*!#YqW6&v&7fn^+GeRyx14MnmEWA?dO$$=#&v`Q2wpL?x4q@54E1V2f_Gk}wURY?9?r#Ver9jwRfv zVN-awpF*2lU{lPl%_*0{e{E489SL1R;G*?m@3W_Az3OgQd=7QwsX;FOxNJvQFhS(( zBTM>dK6C_WjgB-?)IuakrjQ+hOyoh3{E&d?r1GLS0aE;AS)dqrQHb{<&H-2iH4hbe ziiZjyLRCG#~W3gqI$h#g{qyMrEAAX1LlrlAf(ZNXuT&i2Fw6^SIt z$Vp8gtAJ%3X%q>bt$RX4eO%C)Kgcu`LceJ8osicZe_nVjrX;PBa9AkoPLOPRB>5@M)!%f)gjI>jcG=hk^@0lV19o+89575GC-;R-PF%9;d_kbO~x%# zD-sq{hBvp*a4#nh$0_-0cbbP?qd^DJm0AbK;$%x)B2w@6u{hciM{>KS3%LL;n&kHg zk#DYWgr0ZfaEeyF_1rv2%LuYvkPp}siMEfQC`vTLr~sgfKimgo5cM& zT+?Tu=vZ_&@v}(f+Gtxl#EGr$>@mN{5nuef<;j5;bILwZ)0qz!e)=PG3k*S2E>pFe zAR_T7_bt^nk4UXzlcUL9*>m>112(9;-jD*m!wLjYPMxaV5h+ zB1hOSC@syxMGfXrP)LNsqHo1?iOGwGyEzgK@EJ>3|KzI5D$gn)q!OJ&N)0*})klb! z?~%d_8QQe_Zt5K;w0p9NbB9@a-7!+^29Cd7mJIq>HM{&Z+RPMKu+cw8G=ct}3}CpK z#J#Dm)nzt0_~}o#dLM1xH{;ViRM$a-PK13^7J)_6Y+ku_hK6OsdJQqELG&6aaVizP zX0g!$gd%c)yO=&7W?@lrVLaSIz^R+M!d)N4yhKtboCuWr*+sP_;0H`eN3c99NM5?a z>l}pgonD1m1WzGKOgnVx%FutTBhdH2A2_*O(jJt|0*Z+daWIkhBK~(=BIEz7$YTVB z)SWJ|n$Q6lHLAr75^k4{6EXvvY;j4h6u zM3^NXwxqLhzT^P;Y*jErk}+Jj`uJi5 zKQ2urh-g>#wV|AY$?OyX%RB?L_*@m89qeT8!9o7s5V44s--&K&7h7^s>kLa~_8Y5+ zf8WJ#orcq>VVdkjE~*f-bwS7D%Dl~=-okW?yEfEAO{RKC=MQTflsF+14W1|MnWrGl z1j67?+bx`(+3(BB>2a-#thVY+FJYy~s!Ir{DIE;-m=)EHXY zYjJ?X-c3-hy5IW?_`vbVP5osM1$1C1xM`i{$41B03ZgNGs>f|wz!W`M9geAU@QI`L zu0vI5^GL{aIAl5$G9A=A-}md?kdP+t?WzP07AMWR2|zObpg0L>&Nk! z2|<>7ERTs&ttF5MAr_&!xFUn{>`hfoUmYtKD)4wIE!5r;89lHU;Tz*p^)wyNG%~6VkonlX+KjFHCGx)D-^|jjrAj+}_pbvQ&I^D4S z9d~$Xr{?MNqhS@~LVz-OHZbQx0AxwCBZ~xMxO<5dd=})gkFxgymI^n99dLxaWYe*i zRTHZek6DJYEqGU;VjG?%TU-CjWeH=H);Z#C_$ZKQ*B@;?>@$Epa9_oQlSUgHwCi|WfYR;17W2Y&LE)}b9NUQI ziaQOhHPxriUI48M&ZhO*uB2k3zKc$`LPnjg0{5^A*yT84`UYH}HV4>|zUp>UvM%gw zpcGv*l+sGV;77<)u*fuf`#MO5@@GVw?2g3oz^@OoFe@|KFdbys@2pO~5jYMxCWwZq zs2ecXRCXoQ;c*=cw67z@@seT$!HvJtB5<{wNqD5nRDcN|qcdCB0;G=E{`ml$*JqF| z7Ki@UA1-cvT|5`VaB250g>EwZI7Mgj^fi1@-(Jw0g?b(&+BtKOcj_`}>zc3^J1lJQ zLL?cQ3wVnSOfAb(WAIIw%S?)C<ECs$#8WhKPa>ZhhQ5t|WL)52&% zCm%Gs@a{1dFU>9&FIY6iiGtA~3%AjsZwNYcCw)V0eN^YFhyq!`Ckcs+#IX9l?Xn?t=aB4Vhygxu``uVz5u@{W4V>z=}m9rZfF6~&R@ znA6;aa54PWy$I*UvZYI~Ixy|3ug!hwoKlk}#*L+SZAtfppLcKzhc@*Q@lrpvE?-pH z%1rkeQY^s=_l$zZvN>bNBthGBrqbNN=w*lx;~S&>T3yfcacw<-0N&?_q#k($T9>cS z>oEI{>=PZenm(S1>)mcfTu=MLE902wBvC4AFO4n)P-YCMZrs4QcC@T@OiB*{WmaZJNsTu_379YiFhVVKX%a?gx+A7HR%(w;J@4P4BA zNqhebRu3r2z+e2E&qWShQFcPxo=GiZ?gM{88p5kjBbqvC@B0b|?AVE08jDz6M$Fngiqh6wt`Z%hrME7;A}SQ9Fd5Z z)q8dKD90yyf&NUD)XCDRj!E1?yQQORKdB%x3xf0s3chXx!NeO^0Kpj>MdpsfrzZJn zdLSjOFLB?P2&h*w4AFrx6j+`}Ci^c-6T`m&X*q98s<;WJ)mprcrNx-D*BuD9R zV-emM-!MU6o5xl8YKfo28rYfuS`|yT3bK#|=G_M5<;uYgu!WqRBgKrN*;h8*Bfz)a z%F9yhms^Ud8UAgI!G+@Y!>q= zi4TP3OMOrWu2gI~-BFJFI+Ly6tN#e4J9q#cWIw#!_1(T|U?4J!@`2$sgPmPVh7?*G z&E5b?Tl7ZyDM7r8UU%Hwzf6WE&1r0)m&(?}ilkj@x;dP-@8}K06}xZlU!pMOr1io7 zcx1>vJceL{?1d#z7zB5Tx;oX$Lv@xv4k~skg$&d7#STv4o-1&APDY@ zy~)-TD8YGfl@^nq%bi)smUbm}BA8Rn^CGlN)95>iU(pJr1bed-a-#-n^z%|;g%HtP z47Dt#I<%RB$)sAnsD8hW$bgF+P>@w{N1+9dD`a=^DE*UPp%$>%b=}NaH*Ot|)CX*B zspJC(&^;{1Z_95$M+Z83dKax+$*Dg@Mq#@HN$(1a%?$x+B04kGh`28LMK}Q*-P&+x; z0;$2v^aU7vcYVPuVt!w^i=ofJ4X?S2k!v#rYl0@+g}cLQ1))NLj}f`pUV zJWL1*IcJ1#7eKZ!NvPOpu^>*79mWqr1k)Ax3I4Vnxv;kZ)k+*w9=VS-HDnkr_1}D0 z3;Fax@TlU)s^C_z9yosX`SseYS(7?Rc+i6tT06p3kJ&CRQA)Jvrf5E-%#omKtXb?u zyLc%=&zB3MP>SQ%^m?^*r&tu*IZ=fKQ@K(_(%^KKON~x%HF}7Q3dhpx{mCtMPJJXG zfH#h8g`tsvx#z8g-xO{1LF*mcxb}$O+9(!dVPYC%zyVlUVMkRb_ht=8ij=}v)?74o zQ5(mI8kgp!4Xh)-{8nfz?&kG9$JC728#|Rywkke$K{|$j=S9DOwC;8TL$S z$hfRe)RJV#6~2|rRR>BAV`<%tm{pVT-?wwPjnK@jRM`0Y<3g5sn8lWlY6|^Y8dnxAo z1pDCv!l52HsuU2m3YsAda?Kb$9v9!Y=>EmHF&&*?UIaE&mVm7i#}&pMy`EHoEi$m# z@cg*hjLsuqrQ`}uP)?twh$tIWlp`_aJO(5xqfPME4y=xljyRhrtK&m?#WrMHQe(Mu ztp*Rayt|#>#<#jOczBnhb(^$zJ~9hqB$_#vzBv1%G+^tX}ix%UOq^$?UV(_n0=JHYv zD3Ew-*MCh7R4(0h3j>C=!WA}v?A6kM011Gi>;P(&v2?WFH=h0!6QV&YVROA-oRi)E z0S>0zu}=}x-gvzHN+CS^T8>9c5tZ4Fq6dmK>Uc}n$`{{vRTCyw zE*7#n-GH=M$53tqdn3#kv@(-kqLRa>oTlJi4Bln#`1@I~?1pH@e6QbGa{?cXtq?)5 z7IPfYCR^Dhd#f=~nP}#Yl8WxcFeGWZI7DB6s-&oYTW9CY%H{#Ux?6F70?EkgA$|Z# zO0?Z*A_*#kzb3LMX-$O@SrP3J8zUm85Fm64VVSM30M7iF0otZ$Oq+YU^eWwSW>8TF zOxpliwzdJ25A{7k8LLH)QFdmHYokFb0upe?jX#2JrD$t5T-VTTKw%H@R~Wu_ZRfUg zU3@`(cUuGlwyRtkSFyt*X55$ zzS`x(&ct=iZq|pO;}g0<&`UdIbcJ4P$o`&np6$!MaIH)seqxBqo8U`^3K9@AW9Dib z`DFK004oL^Et_4!uZ_nZ^rmHc#I#CoOz4?&DrlwumJ2ody$PHW}Q8! zTN99K{vy-9oDlfPF6scH2}S&W?F&rWL=JTKA0dWL&1j$oCaD=GD-v6{o8Jnx4x4HWz9rQD8c{1zkGT-PFV~Qpnvb zrxR40I#yBq8epodHgs!8a>b?oT zHjyuI4JJnC5B3#aRct{phz`u;4KNeAvjk>h3bbOWjYL{w$xU^t=MM7&VcHtByIqva zo;Q1Yzbrzo7ia@~wTjON$*^A|0vD2cm||K)5w;F3Hh9_`_{1_B_j{8w``nP{+!*sV z<9WP*C6Pri9N+bdy=2n|v=t2ic7R$V&)zwq#zx zc!ZN!?E>nVwF}Cgbht&l1goSsqalKd1 zLvg*Dy-!Cb?B<~eB=YP_I$xPxq9{nLm(bcT@?AFp>+kMZJ_DWF=JNL>x%$Gw#|k`_ z%wm{D#vWPV>ZtecSXM1s5_=m)eNek?7!wsSC`=Y~3=Bu6BdGuWf9Bpl$gZop_q_Mq zd;7=jU#F#()Rz3?-fM-|PV8sD#KDT~1Ra&JO@)~Nk5|P^@dtmTYADM?fuW{6HB8*b zf;1o=4N;&8g0w+AH$lW5&`UZzWoSTw26v#rf`~+cF6iWSK$s>7=nxst=eyS4=bqc$ z`axjk#ezQP?sLxGYp=ET+UwWedn}o)c1y>?^n7@ndD6D#N11Z@!A>lL*JB_wea7k!&_&O8?8X{J`VF zRM40HchCR^EBD?85-FcWY3@ls1R90QF0CukYk$PrAys^rJPwPzs2}^aQh~34Cw+VX z{?s>28D&Nq8!1&uTgDsEm7SzcdiEOqc@V-c2^R}0Ous(N?PvT$>b96QtpsZdttleT{o$$-FqZ>EtQp> zZSt)nyRx-iazo+D=*rf2Nt+^$P1XB|6mq$fui&rMuz@2%`?~Zq9i)w&%pJ2jxpTW5 zbiBr#@J^20E=bXvja{ghN@(IxZKv4Qm>b|#@#M}dv5Z&ldEGKzyRr*(uZOPi@>y;0MQi#h zMguH;>Uzly!??O*UQ}f|0h|qBUeIIpK^O+S^b4{MtdUdZ<2KDz5S{E7L{NZ{$*oe) zMg+@J=WC~VMs$sdNELQI(}>>7vm5QZ?Xgo`87#LX{^Ke>)Nf;4$r$)QeO$~XeD|d9 zYI4ie2F{M`)ZeL{45L5O3-jO52tOx!QGSaw%2oTJQB5kW2x#1vernixZDt#>8~A#* zY#cTQhoPa)mfNg^j)Rp+bvH6X^+@EW78qo5)FD2sD+HL3=3Oz?0HJwH`gm>xKaQp< z?k7egV@zlQ(f{zMOd|w`KIHSfrJTMr$KF6hc8tI|T?K{FRWZy7VpOas01xQ} zNe57tu3yKEQG@oP_B?L7XW9IWTN9|itp;D7UO@NqD)b7`J^1Nql_j7p{ikc~1C!eR0gvCHl?`iy&6evawQIOf~+^|KPU2Mz`cf2-hVnY!_ zs+h~ghJEK^qb#wJPrk+bQ>a(dcaPUy!pR*b*JkEfEW28#o+=_F`MRb?#rn%@V2~8bwAITSJN)(1j(NElyWRiRIUs3f?wg1B>03f0r^g zxMf1(MoY?u_=Ri#AEdvn@>)s>A1>FW2V^UCwu$A<)(BbDtc;@lTKb=ex3hliI}N=2 zrqImMe@1>^`fg=e*Bc|c8DdLIR;l$jhFGPBPk^sA1Mvw4u?D@SiiaT=?&Mh%j|1oh zWE6C(@8ewMaelD<%FDTBoV*O6xXjY741we7KEG!o8Z>Zb5G9Xm#t?q$3`JIz0pB!J z00O=$$>f`@1~~!rHza54s235$dJZCAoUTh>V?9dUN5f+MzURk7gl9`+Ic+a*3G`s(oJ7d1dGD=J`HWfvc*sg#CHGjt_zl&UihLgIkl2GO<}5 z<7QH;ZhW{+siyetz-<+E0?+TG<$;nMP7>H?uAH-5DwPvbbMTpzo2lk(t+;HB!i3NH z-PY*q8>9dCW9%Z$b8G&5A6z40Pcj-8OLV@eG+l0vc&#^;8Z8!zIP9?Itev`x@^O2~ z#+&#MNEK~s-j{vBK{qm(G4?k$L5M-)D4iE`T1DD~7w$66Dmzn&QCypJmn!lZfS%gWI_Y8p&1A!4lW2p+I8 zu{xu6h@Z^&fX=HP%c|aKESKWzdSf5e((wolb02$lYwXi;>>+h2wrLIAR=JnLeR?8$ zNm3|%zavtH(H8Hkg?Vd19g&YnYJwTJ!zhm|cMNQp&G)H7-tfc7_4)-;5H&a^5L1lo z>@;GEO;($I6)}qRs57z*6D?=eK*v9VQk5;*uVxZ!hEw^N`a{hX+BJnzqm3uxWIF(z zHkEgEwqKfAiG+M@?ZQH_N9srf9o3X_C}CFvFPs>G5|D6HiQvx^4r_jbGrr>nYn>ZO z5*KhtHx1})F|rj+wq!>LfF0=XrSre{LOt>ccyt5;o!;T8z-S2va^%-fO{Q2tmAhpJz??JCXPK zAbnQNoB^aOF1=+iOWEhu9j2h6G5C(LG4m!}XU~;fEuO+axQc{9ca>CHO zU~bhNYJN%XYLEH=be+*Za0y^lUtC$-mg>s>Eg*w?2j9p1hNt3mg6Sx|3Yo>2uT=~ z*9P(Z`Fg0Kn~lboQKtVd5I-oOjJsz^@lwJY_J~^SPTxGJ9d8e|hAqV!X*;1kl0t+h zHpDh+bViz_*jh>gwj3+!+}>OkD`<@T5Py{0SyPCK33YqgSZTGUF_c>`%Qez>h&{%x zT0cTB;EJjVEeUZzjGe;^*+|o`TqU$?^k@irzwP%8OpCb55ZNvr9RCO7yH(|?wwh>eDZ_nsZefIAa!@$gtF$r~Hm%d(2a5BaBl?N(I=PlAv*W*_} zp|8*h6G%c6?70f5+>^l`zw7NrG0!K<={JXg;;;kM&FzHWvNQ`ync^pZfC*MS?+v-* z_X;SkH|ozV;m2M2ajzQYx?i$N-l3j$&%9T*uGmFd0B&xD>%R>+QO@MPK%uiTBJ ze#_Kj`)9G;f~1MEAoj}9C}MX*0;h&V4tJVbxKGLwOvM^ zI)KKtq|$4W{TYe>VqGnr0-*xThT^M%tn@$c8LTP~7k!nqbk)n%@~e!9G?0F>$Mb=< ze){o24@QKq{VNAhlM?_A2-uvP)q+w8x$0fz&XtqO}=?7dI+^kribAI?gMTUsLF%8(^?Dub{HxUm$} z9@Tjlg6DJzfFh%@cqj4@kM`P#k~g;$MrArHenTqot&Mp`t!^)dr6dkqqS^VleK}S5 zceIg)Hn1@myQbcxM_IeCjA2TS7E5MSa=chFrxI2c0z>#}K_!c^Br^jCFCO(h-*-@v z8YE97@>kv;e#y1TFIHgawHL_l*RCI2bhrVdYK*Kz zs$OSm&>%JWMaih$Ru3OT1CzQr#%F*_)v@XX6OKOGeq`zpJZF_todaf_bGRH_@5;^P z|H7oEZCGFhv&qvxvh{d-HNNfB8-bip*w?~1$Od{BklIRl+@6#+G^MlfJQF}&8tMSs zB70IlC1XewGc8al64-*iiwpD+$S6O+?YS~FlLYd0rax||)rPZFc1)|2wI_addOqCI z%vLbtNOfSX|Jox8SQui)$|e;Zopf1v7fRKZEwv6^gc&4f{mUvdoAEEgKs9lqL79hs zic|s+(#)9hw33Kxzpm-OG`O`@lV;TEcTO}$R(qUiuSKtyRkhxZ`LC%HD2QT%Xm0kk zy2KZfezZ=upO#@A7=QS6hbAVc=f@v^m9V)N=&-vFd4 zG`c2@L0bTtJs(j_YKrxT?Z&J>EFl}zy3auxk`Ti6L$KM|H@h{Hz=6ip-PObh9yT44952n*2m*@!#7_Ou%4TxqlLi&!q zq7Ey;O4*Ff%IVYBtAqt!rR;>4fV)!0N}2R&WKXsjZ_b+hGI_-ZXJA_t97Q*ah}?|E z3#=Y>JhGHHaK|A|Jo?wOhwC+0%pUiH$o_-rKU{YSJdRue8nZKC;^ejBZ&x@$wQWsJ(%@S>;Qa0~Pmq{l) zF9)8(LP8~I`IJf0F7`%)HKG@EGMP=I#EEo|SX$3Bl{1U<;+-BMOk21CR5(+O3rU1L?nCZ{#}yb5dSBx@pSrjviG zp~~=6)D-Y$TuEOeGJiwD88ekvQXMjt0vV6$3xf_eyB~Y^xPI2M>$rsx4I;%G#G>g$ zn8&E6GEqBFc@b`mbxkbFMq{q-;a465BMU&TZ7w6E#%ae@v(K0UsF`v}azg12gVJ#) zK}tR`baIy-9%r`^ zn`!hpmE_Ran9+<5NM>3f(M&WMEm1LQ<~AluR+$XgR^9<{n(d$vctGq7?ykvlgDo6H z1Pqb%pUlxk>qh`z6ePtFte4|DOU_D(`9MTZzBR#2#zU^GwDfyFO^=ME=~oC|Q6cW_96hbKR8B#iTD67}4kaiqxVXmC^3>`3n>ruR&!lVM z(SvLG*L7bi9|cdChz%*}>a{56bZ8Rs;fTajQcB;!IbKLI67F=J#xDt3WsXs`ZP<&D zGdfS}3bK!eE9xYus>w%M)4mkV@_}k|gz2Zoj-C+L2WI;rqf5pEbw-45Qw)K za$=T7&?|7Ks4M<%!eo`dYTN(HOX6@?Io~Pqmwu6`lQ!9>t%*uKBKCs7**KmO4N%(6 ztI;R`O!i&l>?n*`=kLY{K-4tCXurDuKm})7;+hU)6R@`cg<)6#Wff2a!w%Ym)eWvt zeHiWOBMqL>d;U^o5u#Nfnx@x{9YP@Vw>rY-K(!onySGl$`YOmUS07 zl>Q~=EsD>M=7`cf={oKq4~fWKYY1Pbu?cYk(xIg^hlqr1nwPOi3PYI}abwuajL)9< zDrfS&uI{H}*)1}hEsanf>9%&gd0pLZwYiOrcxp*-7j|cddU5lF`t|avcr6k3OZ>u* z5}VKlp3IF0;l@{NR^RBQu|w2Q;a`{%>mo_#_tG&xW`7(pqJ~-C|WH z3NEt_j~O-Gw1%Y2%91`@Z?RJnFJb5ZCL4BPYlpK0QOj{0)mv=y!{ff+#0=0$ckD;g zYaM2%q;QoR7)KzRGw2IUQB=%|vn|eh)UulmXHNYQdbd3eh8!WSQSky^Hkyc!U zUgJzW=w#zjAm|O9G6=!Y0$Ken@4X1QU0yhiFwKKn_dR5-V4j9{#KD>t!_O{2Rb|pX z8`}c?dB?^g6;&Gel?AB*X(xkm^j00w!gl`&v}u9nF8T?%WV3X6A59Urp34;B{f0%j zVkFMIRm3COaT|z?@QfUuaZlS z*WvQV=t=eH5mp?1`dHgRaw(b26f!q$9+ho6pmEa?jvEhov~$YX41$V}CP+0fLiP@) z&PoHvbzz1lPouja(z+urx(7i6khzOPZC!xg`q+fe3SSh?V*12Ay%a z-|v)Q^L$<-FhXrOh6C<-?WWReiAmgE`fVPNDTszTw>`Pe4?dpf^tJ>IHOY=u?rZMh z`X1P9JJ-MCH&c7|0e&;JXd4-Z6w0f1K}xb|irM>F5}5szl8n8Hn%8nY!!%B=mk`S^ z!?W4UGugCVRjd{+F_Jip53j3u)^^!oveQlhXiIP}@7<3z*Db#s z{jFj}veUhyz}hFDtO`{mP7n61$ZA5HO7@#^$i6@r_kgFM8l&W3`eT44EtAYAjf+I- z;4jI_w%La?N^$tI%|xSqs>1^O4i~XAGcztj4!oux+Swwjhb@=^a&u3pMb5g#5h`ux)4of(#yy#m*Bj&nZ_CMfG@}@bUwFEHh0AtSeZw*U#yRqZ| zbr#TAK<9`M64ZIk3kuZ3d2*5(VsHlu%3=N4=&}pwU}riyPwzGE&H|dxXONJO(y#9l z^oD$)1JZy@cjq$v5P78bgtlu&0C~0Dp&;LiHQK8C9W#WW(f&+Mhh?NrxLZhZc4g#TMCnfgvrGLd{$^rNb0$%jm*02_>v2kgp)XT$d z&phAc4OMLHOf|igY#kzR^h&x%KJgegFv$*J^OM z{=l-0k5nKLZ%a0&o*-gL!(g7g*5r?cGt$C6#iH2!2Km&V=OKl;J_ks6PBXTCsqDc`xNqaaPeEgA>FTJugAoE@a_Rr?PfIu9UI#`-lY*D^g=K7LVpDhR~r}U z-vCs4O7YgSZ>RQt)!t(r|68!Op>~_8nEWl07HftE7puA3Yd!;-vK^|KZL+}OMQiTv ztT|vlz%1*K7rV3cU%Y0*?_nM{Y($!>PT>R6t8QUKH9HOw8u?c@ zBy-hfO9(lk>Brb9eH4WO1(}0P(+k(@_8fab*{yNuoTMr-tyDK-$#TMeg}fJr$la1y zoYqZ(CtRY9DG%w22)bHnx8ru(u=ob1rZ8_H65`$$dZO%MB6PNM{oy3}9hYJ31E4NB zB7L z8l7*b%v77u_J-tWwXfN1T*c@FJ=p-D_1;vvD=bPhCSrF{6Fnv^#9>hu8QW^M@JLU< zNh-l(+=zuBm0Mfm>hDrH{Q_ZSX1gMawif~3UI6&00enMpqzZg|J}JQ2yMI*p(;yWX zbJsGN!_WP;5irGl>3?gY+Yg2|*tYui(w!7EwS^^SfYxvE@y*cTj?%BAQ$I(t17^BO zNgX9rpA7aZDg1Puo$_q?N|8Ir;6}k<@3oLSl4RSI3SOwd_)wLXwOc+6U-EB>DCygg z{8QAZ+e>%x4v^i+1<3YsxnB7;aP!UO^p4VVf#x&l2jvJ{lFe69mvDEX(Fb9DVnu0q z9m4uw@XnaDCS|WJt%Iyiva`zXFnLYditbHj!`|5`>art5Km-Fye5R+_Iql{DOEiiw z$0x5F@`9++GK0d5jCmcUPadyl7EmC(tDM2+8N+)z>>ch=o*W;|Z;VqMU=$*=+ zJE@B1L00tvOi=V7-=v3(OVsilK>|j1$hP8tcVB=DB zKy5XI(J%C|8kaW>gZcpm`|}@+g@OEswjR+Q!1_q014;*zjIv}B3=B}+Cp9F4$w5{k z=iQ02mba!qLeYZh3_neHHah<{OqZ4QH60s-fvDW@HN!XZrT zvNZJZegw|Yfzp5U)4FU^F+XBRdk!VpI1XO^&C<#Ay|U0C?<(|^H;=KmY`0?XKz+sq zFA=ZSm>Wx{2NM$*HSIJ#WF9b{FiK!UlW2HLsB2!#1{CSZ?Fs_P+(Oh*sBK8o-+flUUe-O8*pn!d z&_#tdZR%d!8ANhk5=JL+>8zy<6h19tZ=x{FCF>>hQVEyU$45a09ctj>? z89`?NoC5&OFis4)B?N#Ssny>Bz%U&1-7NutJ_v;z06UINWe~~%7}17Ys1D0eSNofn zr2T6X3URNp1WE_qrXZ01d&v1nEh$1>auE(x*&ZD{F``%7tf?a-yU^X>0|hwi&Vi0+ecg6O^p0E@Zz3Go2FI$8f)3v3$jnrlQ zDWb6r)inYDn%5Y`lFGP1V*&U!a2VSw;R}1=Ty(%>S3$*+7RYPl>RVMtzCWx)LmF?Z z}8%Zhn2}q zScYHAY!Mdr^a@8-3DGa$5QehhoN9CRroaY}XcME@=}zmB4=l?|Yi-rdg)&1Yn-*1+ zFhcj=f31sO$bL+KciX;z)4D~g_gw;K_$4`>eo9%oR6|ne!(x0B;u$Obc|H>x6m4!u zrU4h53HKUU^zaaBrM-!sqOO{Xvi~6Opr^zFby}i(AH~pAyPxHCsO5c-$(u%(GG1gg zF9Xq%dq4)q$*A12;Y~gv`9!Ut4Qj~P`I7lNL1S#cqwz9ndv|_#g!MdC?cGV5NL%Gi z_80$Utni}pD5#<`JA#5*w!ONj?hjG97v9OPC~xd;Ld~MkfM4P%cpV4v!S2#6HRG5X zssMJCxC@&8Tv?k7O93)OXeSUOp$3+J1Ix-^r4I=dXr6r1O#PSBIyig~O()<`oJW=@ ze{-dPdvKOyhg{Mam5>6s3I5y zH3Q@X=s^GfDYU=brO$(rRS3AS_sIWO=ocHy?Y9x_>_{jLy?}KFr8(3JSVv@O6N4?V zKIs$|*7q^6Z2DvCDAdB$M?YK2R{sz#UrGDKXfmMFZ#I1fT9mR85uK6WqaZ>c!V14w z;}U)$VQnv9Bc4byNn}UTOZRMbcv@96m3afv$Do0-q?e%4yxus0@c7L3RvBr&X~6NA zNg@5x^$Pro4fquTLbjodLJbxGFhlVGfSLPT85Eo!*>&xx+`6_IUz4*mv(v=S#NBEPktj#kBGChR<6KA%g#jJbA+gO*sacl4Jt_Rd&e$f# z!>nM`7oX@JX{4AjPGW=P)kuwCS`U>=rKIHlVPbb7{2`@@rqv*t#44GSv+gi6)O-iUc_Js^zz7S9F z1@nrro?;osin<~;;G4KZRy055%acXmoGTRfrC+{|yuf00O5BbgLhP9-EI@X%*bd0B ztfN7n1;IXFZbBEi-ViQ95Q^1ETfo#eEX#*4Rwu(!HnP;0R>&nFv`3No4O(PX=&f-` z(2X1xFGsrSFIYzlbO6Z}>>twsrQG2L5&Z1*A*#cgXuYr0!W0 zJ>FmWS-ih;!FYeQd9!+`>X^9EY2y`jU z@y5uJ0uJ*`$Qz6M=cxuf@A1f%FW$v)kmE>+b1ZUd)zxq9G^ES1>zQk+*(YIxs+dQ8 zDg%?Y=bz#z=G!U8Kg{3X2xl?#jN?SVEXn??+e=Jvdbhmqw(?h0gg`%UR|{r_>BW*O zc_y_;@31AZu2{gQFyIUT%s5miK)^_nkIVq96SMoMPBcOpOaEAl5$GqM^jkO4Pv|~5 z66!s1LLX)Z0tOpk|H^^&Tx8s;tKmh-a2S7>?0Np`(;NOd0`P*SqX0K#H?mIjg)lKa)0f7ED9{tB$-o{ zVaeaCqg&fpn3-!@%j(+bh6s!RZN9@W`jM8j>=VazrJuw;GFH?Wftd*5s`&Bi`SaPm zS^3o{F_rWm1XnG<$;b3T;}EHRr~ldqBdTI5laKmu_rfF8#(EiwKfZ@LYuV!Oey)^0 z4nL12`_&|?<`}bF_DL#P*Tg8bBBQ8=kY>PUn(|`cNz$;^s1eBOO6-&%{u#z~Gv}s_ z<66XC31gUKh0gIExifInfrpWqxQ8_6VhN~^a^_$d!ONal=aYyCSZ6?g4!2X3cVL8a{@)Fx9+9{zUCAXxiKm^WyRMit5 zavPR7m6MU-ATlah-jZR23QG*M<1F+80?LE~8=6pDnxDuC=+eCJa?)JqKt*Xzsz;7r zP=D`6G)Jlad4|-MQXR*0FSUu!+Cp6u{Z?d_l$(Xgb21~EE=Ffq(Z{a{Z6iY%tY*Jg zByn*bc(X_xhnkc6t&qA@x=n9o*XJZILE_6y1y@K~B;?PNvKrKZw08mVNt-DUpPG*M z!8(_jr7uC(S&$jVPmWiF28{@_<@EDi{HUZ~yShzfOzOZSOghT*b0W7#I;TQ~u%+e) ziS<6VhebC`-*yeV!rI-W-I-~HCCg%99jGXwER~!Ta^{&bQ-RzaS_jFuZ)KU6#pj4J zOMF;D5=)ki>Xvus0s;+YQSwvjr?#Fu#SeuJ=5=M(IjJigJ;yb>Iw)3*84OGbP;I`7 z??KoG9DsO)cxF1+Nga*3VjyY`l%3Yvj8S#=zYevr4zthmsUAk#%j zu1nu;o6^Ytp#f=w+DDeA66)SK|ak**5 zT{_mPlKs7~)oUqU=KikA(+@Q2GWfQG8}~bEf!na1{^Ky%tJ;xw5eKpRF%i`w-zZrB z`p!T4WowRa4g6R1T8n(LQlDiuI6WdP`y(-aW;SV`EV@CTnEPr$($*89wZO8k*uW=Z6ssfzC`KD#=j^L1teEMvYV4^9V%+G zxLJg*WKW513iTVIYo-?f%@0(}wv|rky!dGq_j_@IXRd;%=j}Isr~P)NUHmo`hq}or zj&Dz?I8;(=7avpckk_r1rJ?SRs(8?gyW7Q|D7?*<`tj{06%Y8^z3t+^D^yaqVzRE3 z7E;N+tw#YGvN~c#KZ+IE8kS0S=qX;?<`oZk4TGVEcj%EI93YGr%8sc_oe7_RRKG|3 zb2c@Pt$Zea3igNF#b1tJQ@qU^8wnM!6e`-@{$gFlX}i6N@A5nJYDfFEBPtH)+1W0B zRK=llyV}JcEmShvF8+9-lB?Rqi-k&dw~N14sANyO_*;cauxcYhepIOBns)IU*V^5= zwq5-DDh}Pbu3h{-6^HIL+QlbS92l(GF8-8?g*uSkY8OAL;vHUmeY<#7#eH79w_W^w z6$gC(Lc91G6%YH{&uSM>ey{!ZziSsCRdMLfSiAUxDh`$0&@TR%ibF4dv0c2V;$7b4 zFSU!msp9Qk%xeCK?;ol-@a0YI;y3*h#aH>;|Gr)Peiesa-rO#JT*U$ITiV4ZRU82P z5AEX5t2hkkUv3wlRdJxsue6K5t>OUSt?lAxR2(4r)pqflzfW<1*=9c62vQfSw*Q~a zd0=ARbf!sUlLt%DQJmNlo##7bJH*ZfPUE z+;?vC!ddn2-xcSDJ3FR@TQ5B=pglDXwo3T&O2UKOg`S~6f$-4JW$JyO93LlOt(*|0 zOSnd}NW+$32^IndXPKiqFbIP0%JIy5*o;?-$Sr!Y0g>{MnqQUdQ#389;L1@!vjpgn zqtY1o4fRQS*Nq-T?{5qoDE%+5LN`(PfhZtu&9`nZSLD`Q(nb|+Ju>Q(S9&$AQ+b>H zmg3pf-P2p|V_6c4G?sI=q|CXY^zE!z(ZZFoF84AGb3y|}vM4Q)!js3*jzB5_9r3E- zXWAPoJAVjmt}Fd;U#kqalzdfzcbm7-;nLNs`}c$fO@k*06H=`~LOLW#L@z;D*@-nB39)x z*oh5p4GxDfUY1xW(pLn|@hibjY;bFENHpFO90Dw2WelUcIbCxLaNuFFGUA{o@n8in z|M25a$e@5+6(tQL-z+eY9bv~}GECn^_B3Kp-(uCX>G$g~Q9aYg*1lVRl#*qc$1Eqn zptFt}S}aqNq<-}ENaBFZ#+Py3|VvQ>SXI3MC zNJ`(Oq-Sh!YjEr=najurMWwF&j;BaE;WwBGcLU88Z!!WrVv0{T; zgJUVwm%$EW>x!^5Ct_U=JF&s7!LhX^mjOqk_DYELbxq!v6XvnOt-%@W%VysMj>od& z5=Dnb(F{7of~N3(PUPEMNDjy5Lef4q7jhKc=0c?aZPXQ%1+=-4RE>^8Nh&42bQBt# zT3WrS&W(c3-b8qAeiH}Srb03El1`xP`_XsG$#!2vJ>Gq=)xEdGq4d@C;XSybIUC;g z1;C&AY!*VXgkB4w?AMK4$d25{g&j%QNupcf&c7Pve+1}oB}o&<@~<_@>4%d9=T7@y zgJrGrHKrxGEA6niZc8j=F@-fpqAxD=Zk-wvTwBz3LvpHSYo6p+v-k72)pZn4ro4Uf z_I1l$!`~_U+>eiDwFg0Zb_RV(gH0${a!uc)fog?1(7cqNleR;!TtftqwS560H=WSa zZHpn~pe1K9paa$WR#^@CCW<;LlRDYg2v=Hmo*YQFvA8ejmxdyWS6L_jVf>7?J~{FqWLBF}4q=V3MeG#XjTX zfHmv%DrtwfdD-3q-?pwIm)wS-D{G{G)Y7-_bU0p)USS}xD-c7gLKZ{%JU)UskH|5) z{zEMro8(q&e2=P#44ezV!QF!5jq5@HWr9t1!W8dFzXmbP2q+aY;jG8{dp!7ZorF=T zAhjiZszp7**hwuhZQ00&%_Q_Jf;xRbe5*;9d27C0r{3>ln}9;zk7;NF2- zwD1VlBh!IwS4$QpAYpq=btxHDj#L`zhnz~8xNJ}IzA6U|)AQiqh?d0#n`vNhC@l?d z+dcx4*?pKbYizu$Tj)HYy|itRl6$861v@ZgVn~a}&)8oU3Z;(#D9PZ%Bp*@(*}~cf zX=ym%LC+3tqu*S|w`pr9{bTnmmH(2vLKL(x*iS=y5dAgXpxG;mg{Jks8uBUIT><2g{=PK&Cd1T2q>1AnAWor$Y3%XLI99@27{*;8DoOChdJEGyv$5YhZ}z93zMcYFLexGw z-2WR^j}9RrUuvs*7B<(jKn4mqjj44luj$vVCXQIhmbb3yjB0Y8(1I~|!r=J~@Z3;= zA4CaplmLbwT1n_Nv~R) zHho;M@ zGPvD7y+|Tp+QGKGO_h?8ms&rFk4{wjf0Z&x*9k?- zSW$q@%Z=D8R(c9_)9XCh(S*<(uZISblf>-2fm;o?+P9O}w?d%6w=RoTMa+XABF`px zgeAI;YlXu*HwdMJVIY#P~B9T-i-*B#v)D;?YY?2;Y9)iqXnl>2uf=+tE~=Em-`X~}Ns1{|xfyUCPp=zu}9 z;|NXblJUR^dH=#f9w6ga%=|*a@vArQE;OH3d&s#{x?Xi#vZyP|PwY4_o5fj)z$?c{vmOFW+lS?-8$1*!KTmgTa0c}^x9|mAy z)czb;BHdwpA&d-+GIM(uekaOR^eBBh_CRg&6P4&z@>&J z+?gELJ;V5nt_>YX5nL{`- z1&*L^4$mQL2z@v4DSCYviBg!NHHsN9!)QOgsvcB zma95$;t|ASCC&>Mn)8JCi11uHoMltUDrtK2_TiAJG}vhX+J;Jbc>T!dy6k-e3hgGM zZXi*;b0)JTt*tqmhcmVTlT~u|@df1FqRhdE$H&J<8T~R4L?~)R&-u%4VWHQ#1!3^} zaFhY4kqRe8waK`|+TYA2+7DFo8+$$7JFwr8V#tw&UPKORhzn6t8Tg|a2K2Nk#*bl}qvT}&zIDSddsCUWd*)2J^D`^3JUGeVg7hedM@yB3C* z_5|L_#L~1^7`#k)h54DO&b0!Q%}D>k{0u5&w%dTwRfAbq4Q5?6m~{<<`FOZr=w)E* zUPd-oQBH%C^x!w_B-Xzm!PCJ2aH^AjdL}2m0!mJLgt9!2ko}_a%Xq3&iRn~uI+dSI z3Xa5MRB!2uM8%Lx~;s|n^%$pwoGpQ4K60;;IssN?W$r;>S0bERu{&^LB|I;b+I zf|9wg+Xe07?mlP6ttJvd7Qp3B!&_%&BR=EkHx@mV2nwLfwE&!$l+c5`PoW%{D7@Fr`cj5lX^$Lu8OmMW9pDN@O3*urL_c!SOKY_l`e zxu3KB_jiEt|FivvVT{d$g!_5+MS9c!fWEk0F8zU7+wDK(>sI!kE#4L}J@C&EJLIEsP(I(g-8>cyQfd zq^MENr)Co6jY^dj;2k!A8=kJdVpuYMG{XJ+{7Zo=Xa}` z1#RVIvDcYkiBwx7YA>b;2@@r9+Fd!}*x7prejUIFxGaM_X>g{(0=TKLGJRFAR99C{ z%*KGc#9#uso&1~&V7Rf#SW^=dMUEB3tSKs65MC35c@)?f7~d`ns5#l1ecCRAlMYyGAfNsXfPN1k)5+)!63>@R<;RIYXf|sS5m8&t+a!zn5Pvpq0N7=U~R4r#m#c^ zNY4y)i;>Rg3Im#{->+=c!M4yY6**>@2G|iYOmg|UV zs@=07ikYaQ7?Ge@2_9Iqj=m)3sB+}u^A_VkMKH8N5F?CP>*fWbj#)No+8w52OW4X&-K-KuTyZv$2m}uvp&FrcQq6D@usT8J zbp&A1N&q8A9lSWNZ@k9jl)iIbr1RMq6w2vJFVRhD0s5xc%^8-^YXomW?rB1#o4eVQ z1E_B5V24}-o@V!fDbZpQEBKL}d4EB?8K>~M`a2 z)yYYH*Y5A1eVz&K;{D~w44WgZcf}qPSvA++7Ck1u8b{pri<7pkOp9l&&xr1x{%Znx z71M#d=RS);pMWE0JsnP04n=GKj@S@ivD8tY$bO*;;V=*&m~z+ zzsLuU#7@T$RA$7K7OG>iux0(#h57HSjVGV~zRG=^|1JWMkhg_cu*e(p-LlnCnD5kq zRU5}LU83MV3Tw!wb-9RnI4Owuep*-NyE6urrF0}mD3dB-W*TBV{SeZaxOTT2%4b-? zs^3f9Ol}tIp_BKiW;2w3l?t(M)+BOhD29_2Vm3*s4k=1pFqCcJ_$-(k$f$-!jG~y7 zxp$F?L8e?#OhWRL(}@NCVe;HGHORs;8r8Ix2m=uu0b0?XMr584f|w!X+0bz2uRv?h ztny`;C7Pp`Il}xIkd`)38mR$Po3hCmZH^@S{U3(YRR@w6DvOaSpu+EKrUE&pHE3L7 zdUax+xzaEnTofJgliO(ry>eEOJuq((Kp5V~PXZ4j@3`nCr8zA00APC5BG0hf8OtV#%D%01T$5ah&^?O?E9&a)na~6(_L#?0#iHw_k=dxOu<;&?8Ta7+^^B#zR$wn~f zBK=K6mT+}x^nox}kgjX{_XAL;A{JthKRpBHV3Qzu8SXR5a6>|G&4mR3CSWZ1xv^mp zsvrrnRYs^r!x{-JF;QX741o1^3G&5KR)VXe5+m|*IatJA*-ID@xl%u4HHgLAT9xtv z+R}qBmt=mxVkU(Gn=9rYj0t21a^CP>OE0v|6G#3U43Hzgob9=X?Cy=o->4FjF?X?% zuWYk6^e&n&h4}fX5n>Ode}27I8S?!V3b%dq8-_Lpr~k&_;6r!_YM}W5`Ni1cuN!3a zn0rZ54`##oVJ3(5YlUDo2f+Pn_`c>D&<28KL1=m}r|fU*BYBXSpOL%`g@J@nJ4_JQ zjg{@>W}Ey#9FyZALFR~An9(L(?RKKrqZZJjRq30l9c++_B(%{aPpnB4Pbr=pu^>D% zfjKt$JJr@Dv%??CqlynRp~rwS5=sV-7r!N-iqpoBo(5PhiQw%2D2PyZ&m1Cn2UVr40*r=)F7H&sTvIfYBzeJoCQ?;?v-zVAG z$h5)rDHkW}2QOC*2cpGl#JaD$hR$kELWeYOMo@#UP&ShnA!LeU5YmC^wXlOoE)URx z`j`p_IE~Xb$<~bAAs4IYi(!jEn}Mk-7m%u05<*gAqlA>yydnuHIU+c63CZ~0Bq8h6 zmP^Q7xJy2^jcb$!laE0zs7_=~V)D_0D+T$OxO_ww*^CT+#aHs#^C}$*KjyBI1VN@m zx#}}|FUhGv&=x$D5kIC#v?oBNcK5OybC?fj*?Jy&6g=lAtz>0TnzvgN3s!QWP;%Nz zaC+qLz`P2hPZ41b>jrEr%fCKDnaFr{kZ?e_KRAOY&ZE&p}eAWgHpybf`nP zxN#d}q7qLebX`vWqRForioetn9?YMk5z5j8;a9w)1Hj2*it%~8mb=@*`s>)^g;*UI z3{zmrE)k#{OYWD=HkQ27{NV27WJC4XWA*3|y9mfl3gnyw5=~mqjO3`FJpKU>S#A#l zNbwIvZxsJ1r-wCj(*yo$`&W0`p#`?}Uqraxfojae9>7GjNnb>?X$M0ui&%F#MovH9 zNQYgHaS7s|ss>{qeqdo8S*Lhb)AuK?eX^UZe58)P;9x{Fo8F+*JPiC6N&%;iTBL-I zEo=KM758Q%uaH{E*Kjr}KiE_4z1*)3L6ovK9|Cx`)K%oE+(^xFp#HbE^OH@wMyM$; zrY5g#?CESZkgV}eQxDGcvA1(O?F-EgZvt^RS=Y1*O8>k`RpBT?3f*tIQgGmM6io1& zCTB@>U1SSulvw8kkvAn108fk7)%R^%F05OdSRTvdN{GM6jH8IX&1w9R=Tj@*pQcf z?>%66wd6aCNb^8itq<#%B)~gA&`P8#aG)YPBI&v|U{HkyEW-*8<%}b^?T9!V{cloN znmZh>TFOOh@H2vtdocokrD47=XnJQji`!SSX$>2T|3Sgb6g%*LNf^hn4LHbFha_nP z!&ve%H;{f?GaF$_o$i8i19oUzcM&aygJnRF{nrtio-ag7 z$S|mwG&=_s&K7y6ctbust)8^tdRZe(%O^xVHU3SV7s@Qf-$G2+&|%qPF87$PR#C>H z(rSrRhW>BvQj#LjE$uEy4-G0RgkCuV+vxi7bzYsz%);DAdy0x%bhgcVOe)#ntFrn% zTzj7Pz(Cs1vT_sIf|(=(c6ewXZ%0SV>au6!0YNq=&iu6vjOlQt>)6a4l@A%m3UXwf zEoFg~#mnYbkSJ9|R^~kdl)nTW(ytqjV`Nl|oo7)C6pHJCaZVKP9?ZqS4vocXse*T^D!_)5ycR(Wx?0X}Y zZXvn2F`eFphon%uP#KVSEdD7#PMNV_frtB$S#rLJeOzNCRy1#%xuqmbLaup+u zPmr!*F3{Yg)e0C$lxxsSPx`h;4O#XWmWd0_&OpD-js*H80_0<uQKQ650!zUtRN z;43Qy(_vw>wXHBSa2~Xq4x!a(I*djR&a|+mGwqXOgsfYrHKc#CU?w*mF0bYIVM!M; z9YD@m_9`(=N~QxLLa^SWeQXB_v0*?EoG(F2PHE=a2Nfo>27z1eq*xe7 zzeFv+)YURNOr_)RUMQsxvujveJq=@H$hKfIg!spp1m*O{LMDL_sp6Uj&4 z(%ca;9yAn;Rk@c91~mMYNzR@qG$A96Tm>P~4ea2A>=Wn7F9tEUoJqm+ql>=AS^s-6%wa%OKZGfy}=?`wP3xe+q6(~+m;uD!Dh2k`WI%f z5o-trn`~M}1Ko8)jE0anZ9`1nGMj6P(qWpQ+d{8TD$rwzX(}=i<03E~#C=qd}^*a?e0$9|*}K$qF71{N&gilRa2pyhKp z9YVgIasKj9diYsJt}){rWkOKGSBQW91~Kd?iDH-v%4BQ!^x?FI7Cu5*pw}Lu;_zJK zoy4#W8ZRT%R-}Q_;3WYy&dMRc3QKMlb3Q_e%pN=Z;d z3v-&Qt(#{wo0`OG3rK}HDJjs*4Ck}byrl=@B8&LW7OkX^7?mBhlF9Zvaso~=-8P08 z?YbiVCv=t0M#yn4+>@M@obr2%cOBtAn`8=gBY7tGf?5MikU0=1tOON0mZ)l0RaK@# z)rvA4S9NncRh@Kl4-Rl}UA9s%0np&wk%-0}e2WrRf6>Hgu4yA+#kJ6^++@j|Q(~SE ze~c5|^-(P<%cd#9SI=SOnw%ujddc?2Ga?m+p0TmyC***XrL5mO?$fq0WE7$4P%J{2 za1^>E19Bxsle>+3S7K1&Itbnt#!-pEJtV%|YPpWB(tz(=iBVj{)c69o5H{*mVr*Ts zW>}5*+>0R0nA8RAf_IkJ+&SwbWX^&lg#nvQTS@!e)+n|sv%=vLPvy)j5SByWD+;NE z^WGNp+F7dvSzLGzNlR!+PmkNvPM;NW22DdxWk+n_Fh=Mp9z|J^oYZ?*L<@FWH7^sV zHxe_QSr$Ljyc;D>N{w4cNu*906mp)LZTZj4q#luZq0Sm5A_Ma%vLF_FYrWA+saBiU z1`?eUhv_QrAhboYcti7*@^{FYf;+f-5pRi4GGgfDZ?fDNX~a)uk?@n0$X5kMv;0o- z`29J{8a;$`j+>uoazDfipJ-ZTCVvqpE8VV8UF>DP@_=V9YM*6o~Zn_g_?BTTd`0f&mj3P|_wxkJedb3Mb9v~s`27(hEyX>ayrS;@Xl zin%k(=_f28wa7|&la*oF`UV3ZPpB_~@F1Et2I@@b-)!hxq$`^MNYeSu!euC#86Xy! z*O+tD9kM8IDC`Zu`W+}WmMr#qN6;E zLS@V+C#3#>Q**X7d`^i2RC9}|(c)5aALNA(34^d0OXHR7P*W(nH{W@|md6B$4TYCk zfkcQ(ij$O0fm2jr#Oy8g*LA%->q@xN{3$=VVN2;&x)r#rU$bNfuu541*sR9!RX!|O zFybB$3m9ftz#vT$1+*{9Me|Zfh3NnY{Ge0yVofqm(?7x1?)b*Dtzz}6RxhX-8SR$8{aq)#kQ0MbSP&G}27UE`DYcUfc6m2sN z3uwo5`mOEk0pey>H{DTU3}qDwa~2NWRN|N+KJb7U%bG&tLWxjlLz5l37yx{4L(yVf zFt)K1LlTb`2q4VoX?(U3gRJ4jJZxNC{w50~>>sEhUs(ReY;uxuX|o9j&YjR0r5m%l zGDwc=N=Ih6#&JAZxF6>}j9md8MlA>bVA?7H$i_q%3@*UvO<3I(S9>ApI_x#q!LLxl znPAID50Kh$W&x!v5)-h7QtlbQNDd!K8=8#5bt7yt`1tat0VQJ>B=2`y!m{eJV-?;x zMLR`jd=65aJY&k1_4yLKI9d{hB$KX|a-qv>O_wQjVV$0tp^DUsMa~V_ByWaeR#?9W zi~2-+m^FQ_(G|v85${5xjTw*_HwCaU<6{t1T;Ujm{k2hmdU$1Htroo68G5RTG0SS7 zt+0oUDWjUU$}AnWAMShFpiV0}P@X3vayh!Lg7(CO&l7gBBYiR1@8Wk_8^-N18^qF; zv?(JagTGp87dN>>%9zGkNKTS8)LvqqMY3l5_z{k_1W>&4wu;ky#*8>5wk;l44BT8v zzDi6ZurF^zNl5J+bZB5nNT?x_X|^GgT0;|(SdkZMEV(cQ@ZN z=v0+#a|n%d&6^#mOo#1tEYv8bvnea-RD;Q~Vac)<^?+7w9WtrPB*W-nG^yB8IhS93 z9G~3wOG>5J9Kzoqd4vGOR?I7~Rk_l-7E1TGaF+7uG}{Yky@FPnibV7PJn9Zs;o4r)hw13b;+c0O>~V3)H0t|xM9((T*D#+Io#5m z(CoNW(Wj)5_TLwFkT$4o>A3pPPj*n!kkrz^xkC*U76Z#&qIKbdMScKH1eQ>Rd-;K! znJ{cA-W(FHOoTwqm3N^^!jIv}(I`F+rqk+|E!)?^r~Z8>sa&0<<#=g0|r47fH6 zZacaloVjPq$AN)w_@?jCow@<%GLfvxi=HbA`vy@A>^!Pt_dcQCle5_(|jMD)_rgRRyjs0YX+ zOPXfjSkiQmK_)BJ137EsiV&aQJNAavE1EqcmPukU17ySgP1>_b%N@pSFJ!YM#qXiN z@neywW0ByD;v6GkM;|kkJNCu}_FQh5gv!B?*8o{oh?>wZ`32xn0NJns6I2p@_`_+ge_mA{Uzh zea>uHc^@NMTp=zvxzq`{s|vfD8X-GuS2`uz)#}V`R|+@SuF^V;+n4bPNF+j|{}v&51ZS8aG=3Aigi_W_Qjwk@5l-&eK~^hKAJDI$AQX{FBrI?dU6s7Ycr z#DT5-uNuiRO(h(3j9w)}szdJb~jqV16I8tq=gPo>8s&tqsL&0artvB4gu z=<)0hPUTwmXG`-)b?a?dN)TS&kl9AMkSfqJKJ$TKwBZ_>|9_q+rQaAX$!k`V>Opjd z<$O{*VC1SnjIal8=1=2otniQTHP^8Z(b*KgdvlQ9IqFk@rgt-`LS?4Rc(_c3+RTL@ zk!;j{O}nkW^!T;W{?sGZLiMCi?`hSQOIv60$$_pH(Z9M*xT%^dQK+OZ{fWIv*iCiS zv&!?B0J>h4b=~uToZ&VY>JEBqn4KfutO-?`L?7?XK0)N|%~z8H&rS?HBw-(U)Za+m zbG73Ri^>`A$i#PhK)~o5MrjIIL zEZ|sG`vxpuX!f=6h~}?8r6Q#l7{`vA5XXaqOw!rcu5o3z2wb|Bjt@bJJ|Z>@b*IQJ zVa>u=a;plmu`Pl^V?Km#MCRiXk$aVkO$q<}NS_ili%}() z_1^ZVG8b5)Dl?lCBoOx{R0V=Hs8=OWEItMpTL}rCY$YVIKwAmvktMbui5f~E8M!f* zBPgUwl_fW3dN&w};Y`u$NzkZGt8#D+Ap?zGr<8(d5Dw7c7VZ#v)5@W7ka%Cb|xeXMSps&nle!(=ZJvpbwMQ&gLf@k z3xdjei;SbW-t+^5^2E^3;1v_UtJg#6Gt2|>+Vt}$uzx8L;QQ)pT1xmQ*msr9k{V0pN0{UCpYuJBH23&yV>1qRi0mZTL1Zc% zSQAVg(|eCtI}s~W1hNIoY~OFOs}VPBXO?6O$^B?n%tP$I+4a8;B&yw7Pyhivk=zeX z3(l^&$JUMSe!+n4-nb`%Ip6a_Ekh@Y!Hi^Fe8ee6WTHkvtS;G~)%Dgv{_G~1owGjb zm2y(`|1>$y(ToDZvqBS&}W9EDO(wkMr!6ZRoEIV0jo*693P8CavEz~r>rT1aDVYFHbqqyi(O80X+ z3;qwxvE1cjkmT>c9A{WdXG@S_4%?8pOjA{KBj%_R2+Zv4HlF|_@FfNauqi;0U7%cp zYmKYvO-4ePtWmwk_=NmBw|`M0#9i9wt&!ja21+e7~HZl!mUQc8R%`P&Cx-8FyRf%Qo z?}5ZDYcq$j zo2bW!sEri8bKEPOK<}k54m9f0^zeA14d$6Bo5vmwEZkS1}6{qrTIKIj!lL5_G0B(!56A+~C5}r?cO+nOhUo@=VtbzjB3t$);qK)*-4tSL2r_m+? zNh|GD;uRNQK@|&#l~zNZw1|Rgr-a^wl~bzPbUC2s7}A1`#Y#1kYv!0#cuw{f29aAD zCEL*l1OZfEr@=L|+dBgmK#jT9sazN^Rza6xmt{-1Cl?^GWTb354ub4#es|)t zd7ar_$rqpPe7a!*VLO|Hn7y*9Xm^KESeS1+1sLT#*_AF{%h$_SbH<(yI$Nvw)=1si z@ydPF!|`(2dL{qNjz-H9BvH-97j|ZwAB08{D4tjumfhj>IJU@?dn_b*cV{QzHG76E z&kJ=KezgzWT_i=~_VAh1fQT(LRg)jT!M`6yyx;dj-^+)^^ zCnrvrqlDw;stv@@vy*W_eDp^;kxs|%A(`zYI;FK9;}H+fCg^(xI#auyRwwcA&vc#~ zmFT=W-W;#-rkzy>)~np>jJu4lbdFtis3zosayz`v=!xLAqwZ+jj=Jm4p6TMValvK> z^eJc44#wkZrvhTh+R=c7A|xr1mGFh^Sw*e7G3A_3Pyd2_2=qz6>w32!#t)WknW6hBmSPw_ZbB+lEYb(MzRqgk_Z8?IzJEvlm3dY(NsFp(P3IZ_E79y?$K?(b=iB7O+EbtVn{uQDZ0)} z^MW%TO*oGlPZbUEr^sPAI9u(*;8&JN3hnHaLaMRglToyegDxfgwQ>X>vAZ z7AP~_0q5%@BLLLwy&0)hGjebL@Eri4?3V@^Fu_TOgU8LiRx96WZT{Riv(PfKU? zWW|LP)BxKHrB_@Dc>`O+_4&v!^1{qYYY=&v4<}e}N3v(Lrg@J^&klXGPm^pvUyAkB zAq++vFQTQh9X%H^=$ZzWI%d@DacaH`lBS=!JQJ=vLC@y|)tJQz>=@gMpoR;%FcUB# zg|VblHgahX$pC8ckx<1+IjGOhPHf^94Xkz_n- zl7pcdy0iK0OmOHNcuKq{lpeCtJYj!VjV;gV5&z4ke(*%ejnHSxj~uAJXaGB^J6kg8 zb^*`!IbRCohi!`Km{sCz!Z~l6Opd!kUDBk$JlC!D2~17gjV1d$&TL1)KFo%V-Pw)z zrSEMuD(QdS!;kT9Cc~k=Y?4DnZQjnN;~hN0`l88Nc8&z|?3Z|1bIJUZoCJIl0iQlI zq_(s;O@r1Ru8e;!EKbY6K>}x!U*elXZzD}z-?Zz?pB;(M4(~|%A1eRO^_&=*9BfsY zr>of<_7j68{i@cs!rG)!{2->spiNGQ!>h7`kw?{RDp&QZc7Uxm8;ITx!Ub3(7!5B| z%zKX4iAI&vAN&H|O@@ydyH%YQnl6s$*+RLA7}7h?#cGvgAPrbR^wCJ_kgbGYkGw~CYmk%$HF-k?Up*!3v|P4sHSjoc zx`LxpShe|}nvrH|2n53&_G(cv=7kzI8K|1l2-F(yVq^;Gg9aa`m{?Dh&>yuVyVWPL(r2SVyYE zBxT$m*8P0wN4BDtv?`J(bcDY`bwWh!Gs}UG&Xl78E9vljC^Dpyn-VnyHHX^#(WW*`Zf@xI@8P&gI3&>E^4s{B&Te;~6cEYSrK35({I3LAg9!Hh zLW&fNt7EC}#V8(UOCpqxKsZ(Ma3doN6nt*G381m$1tuDqm8nW&z$!t7-1tubKA#Go zDj^5E%jI%Uxwl?IP*eFgD67>d>w*Q!SxXI-vzz595CkqX90KSm@L}^Hgipyrx6_!h zWv!o!U`%N?JgH`Xi@2EA&HP_WaZEClbOk6fTUVR>0 zxyc2M6czs9|MblEeq8W|_N*mLFmL*=vnBoPk3VnLFL9v65nI6X3-_)6>enxP`?`P<$;>w@m^zn6|91ca$~SiSnke!2yr$s8VF?K+4J)zEMn6aT{)b zS%9xqUIp}(d&mH&WzYOsg-8w`jI}=)Yk%;IxF^RSfa>2Q!sCbN#@lLUxy@o*^7eA$PKgv&+L z1w1k(E#03K*O>D~jr197Xf)SgFpWD@Dl!$sCBH=+0+)yE0|EfDeT0)ndyI=RiX)sV zv3`@PXJggbcz$<6BKg;{HHl<9n89Y97Tq$9XKp7qhY{izR5w=}o2#caOf@t$!D|RN z_^rP35{w;2GYHJqc-6N$xbS4`SXDN;*I(4APz_~qUtFWYj6?Kc9ZPOxg5lE8_QPC9nkFA_DosKhTPS-|>1}3+lJ{WhO%ld7 z*V{`BY=v2ApYfX=p9d))V<#-N&_sTaRS}!9Mu?Eh4af7BV)IG7am&^(=hcHV8+vfo zdXVgo|J0W=p)X0MIjk(5BIqzwg}Q)wSuFn<7P?q zRguUw09Y^pe$0pXNO(=x1?3qFdkH}T$FPdgzwPmS4iD^M_}9~u2D$F$^5>HmgLlG^ zFd`3bHfxpqtyO&@uVl6eV~Rd{Ps(LK{=Ip{)WKQ-w;7 zhDxSX$#dbEMCME0)g$3C>;jq;9-O~eN5v~*FbrwyEVKiZGlwzdB5~jv>-$8zv2kn6 zi85{6rqiQQ&~ud-vNK zu+Ek*Qw8EVDPOVjmwM$diO)bZfsZYl$WcudQnogr`Ndw-3#cjQ{Q@A*_s92&^W$^$ zfQa3@{PF%ie2_k`ZANa~MKU6`91&}Dv)RfVe8?OT279GQ7?2wX13`>1psc~1Vo99# zg)EtIY85M6q8QS&5#KI_w?pj{#dl%fymr(Rt6lG7;Ia>0lA#+!g52pH-A9s;m<`gX z!$ub-_ehpo{VmP$_Gr)TrN=Z5n9k!XH%3vcd3}H>vxzqkHJa9u$OZ)xxe`UCKWQ|T zo@E1umdjg8WPqMmTdr+!y|hHe>}1HqW>k3tmAoyH5k3c!pO{Le8C;`vK z_Y{QR^1Vr>0T!6(&?e?SYfp0@H`s`9q>-bAV>5m8wRVmZ3aQi-v8GXRLNWxmceJF{jPMXK;|{w2Qss+Mr0OJ10~UH>evG8o!m)Dt4n$g z{kcqS3hUh+DZZ&bQ5^5aWhqWJ=OrmlFbQ*KONxINO8<-$M_7Z14vEjG}FmMkQ z#G&TY)3mZ=%H;WNN!?wWYr&IJNk4cMFT?FzFMx+RSKB{^_d-o;EU} z8a%OCBAehnC9-I)U?mIsA{+YZMTsWrOaHsvKYT_iBv#!2%ijAy$#vCtp0D1k>aMP? z>V9gqq?XjOUzbJF3R2R^I7sW5K~HNW`QQYfgvs&D@j2@~>pkn^*2%Gr$D`eK;wH#O zL!6`u3J4ISu@xkO2@O#eWnx2{2oP8y3Q>YW6xTCJ3U8_w)VT`(C}Ou9n(1 zIGIT-==Z1YyZ3j0|L*Vp?(hCCh|t4G6G*3t+(4($;rLM@=%i&Da*dh2r0qhFui%$y z0?8Gn&g~W)U-9p0_Iy1n2&S|iP>m;ROzJF)Ccz(80C)$|P+o^hdW0+%m303=9zU1r zJR2%5ygA65{w%&O-D|&}sbyYe%G#T=g*W@{&G~%)QQrRpHHV8+9C09> zy(;vGRP5VxRkK9lLXY;@8{o}JiwkOsGyQbp{4`0z_vjuzJE$wfoY55uAJ7%X+s`#U zY_&|0n)-Tes7g=$HcJFA;Rm=YJ+q&OOT2Mw3=TV$biRd7>ug2)|9v2%A^0RnbqG3J zbEr92qcfoBd`%dGMdDvVK=}}}*{W^kwv)t^cVMyEr_M%>Yt^NQaRnWTx)hUYb!=i6 z0(d}A>X5zlEKElQ0yW`)1PSgQ8y`e8#FU9SW2pw8g?+;q8Z>*;VJ#3l=|YL#!|zOi zf5dj1fyV0sp;&@|Wc0*`R;gFU**)$%&Sh$kq?$Qe8gslPMu&(=agN%cYsg5~vKAc+RSYFb9 zYE{}ZhS$x&(j2}_+z%IGH{%C|5o{$oBd){%WcnR{80w&19!1a5E(DjO(6h1==E`L*aD!CE*3IW({q!cqH*&koLnp*%?feDd^IDP3( zX5{*F8%{I$D&AY87=3B7&duI}w=TyS5hdCmLQj||?~)Pmpu}+=9>ve&4r8E({V^sG z*L|^rcRI#)s7oWV(Sx8q&|=OrR=YW?r-I8RI$6uQGe>9^LeSUhjxqTGsnCO8dJ5X@ z<5nEbzDRMj7sD+*Pm78&&@Kva<@jJ!yXd6*9Cit0I72U8pcW^16Z zsbSK?Pz5&CGTlfA9PhFm0$yd5S5i_)gY9>TT-shrxn~+$cW{u!f3Qxk4%g*cA?``I zf<`$kCZHO*0I0-U+-bHNVZDz(3kB4c<5R?zH)(aO2je1SlfU8PK>5!2Xp>%0$w4q9 zOwZ^_FAs1{kC>7a!(Uj&qp&JGG9IVbI!=|fe@u$uLRq`S9D^{w=dd80mpzUe2OQhx z8DLC1Ps6O4yzZ0Ovl0xu(MP>aG{G(A59Ia~XLCh@95AXT5F0KVQ3MzpCe(m<%xoE{Z;o&#j77q5I>QXZ+zx=D znrEu%I%9S2sl%qZRMe~89UmlEl7N_Aw-1L11N%G&146?6v<)l_7|_54V1$~QLY#c_ zwSjS(98wk`4L`puOp?$PjeLRx9)PU)cdfN?Myp?0FME0g+z>KRr|YG7hB>Zg|K<3i zaK#aQ+Tna1^S)sf-6-UIA8KLP{zVVJFCfns<@BMngG`tmD9@7H-D+(ul(?Wh>HF83{?6&Ra)9ybFktfVf#> zu0{PqCOZR9pjbSuF_E`jB`{jGFbYSo_?WgPYnlquPF1ry!QkRS{ibjp0jA-~;YS4^3;$mbXUqFr8y#^t%Aq)0mFzRBvvIKci1I0-w`| z<@7OqNcZ3(${S9uSIMoeE1R~uuuajZYza)JZ*~2@1y&x}B~_gsCM;We_Xt<%;e%Wo460Z`ia!tSAI4KnLtmKA(iA^o z(xZ<3RDtu5kWv3Yh&XpmrDCimgNNKMV@J(C#+Yxb@OfAzexGgml4&L97QD;=z(&ww zO;xK?Ok=&VDW;fs!1Mxg3PWk7iM@fc#odGol|wwaVpKxydw30_49ShvMMNonFSBd& zh4xr)+~NGynEs&NAUu<{bI&`7wSoFIJ91(yNF@WkPNn~asWPY}Tm%$S`I+kG;AbfJ zWgDyTvTq37kLh`P^E4_e2wtY*>6+_;Gt|jv!Ofe4zf|?uIG60oJX4bc#XaFPo%Qby z`zr(tb?nv&T`{R1uco7>g5h>ZzyUAP z2?aT95h!M+5WB1akldb5X&>}r6H$ht^Rd{AqkvLi$_tc$+*{i7!Q zQy5?Glskj>Q)E>dD?4M|I1=igHH(3~jA%)q7>nG`UIAr4yQWCT5~j?&=5>7<9>%!P ztw-N!?zO9iGoVe`9p`FHq%tU>xvGPMez@HCl|Uu zs)Ttgw+crLF@f&s|AxrU_OQ5m*%Tgm3N?1x<3e2~+o9o7q*d1mXRl$EmB9^{0FStj zUU72%!u}=%vX8K;a`k^kBA?~I-pRYQ8*V+j;mVbs-fCa1zup)ajF$~9A6~I?)yV2K zYe&~zb#*eN<>RL;FHrn0a$nw;vjo1hK-V z(!EcCku^D%h^j25kLcaz{GE2HFKqMJ^J)|KUzfVhKCim4ol5C>K23ithgH*w0<4~m z&g^?W__1lk0`8dl^^UrJc}Xm3(~4GQ9MduqPeBcqw9TddV4i|Lx-Yu1FdtQlEN zLECB&i}L^u%l)fa_<4!uW9-D4vH)yn;WAtKctb8A?0+A$OC2mjSsfP8i;T|sXT|=e z$B2<~nFK8wwx2+4ErVQ(qt&XWvdEmOdMm$Y4^1$!ehKSG#5bS|dI{{E`_m^e5z~1t zSxo110e~Pa>m1X9UJt-1TVq-PIQ(FEuoqf)M#VOLFT)i7Oi1!jFU zp{qtq5L8p|AL~(Mi0z$774k=EHa$##)*6K*6q+eDt?)r&J>dqU3^Vb^MeQzg7Jw%l z+tFXhfd#-DOrSXRG{l%0h^ro982g;>#nPA&gp8soDWY_lCrwJpD)Gu<$g37>dEIN$`35?;2D_r5x z*Nz~I{IOU_`ffq}9$57@e8GW?r$f1UKrmDOp2;Jns&u*O1e=nVw_%U7o z-NeMT6B9rFqq?7%&=hb&b3pEE6BGRt`ApD$p78U*l@m52oY0i;B|q?k;~Rcx(}aR{ zjzFZoO@U4jhx6h`jCToCHRe5965DMGK3p2B>H7Z}XKf08R}Mg)iAC+LZxxi!2Cr&t zJUC$Y*V}!~?ten}#J_w*>R?Z(cWJ54Taq4_zDnmniBwgg zm{kK+t}7I~u%KAkDhulWOIs5?zKJbuZ?E!iH@Ce_{M(ncy>0rpKd!eA#(Jv%J3+!= zqgB0`KUn~RZUpf?)>Kpa)!BJIH{~^1t+x-T+uiE{%Dz7^f9QAC5E`vhUyDBswq?WZrreF zXG~zpYq(6`@CiA-&3tELYpn=nnWxqdYMAW&lKw-gfZaXKVU#fBC&1}6; zw5$F;TuQ(E#|-MF_)S+a+EN0uXQ6Upud6AiV_rG^fmco+^UCQ-ubk$joUCCQYOh9{ zrqIsm{!=s;#rv)zuu#wM&~vC~v^&q=4dSOqoN?2&4niLABCBL6o#9*C2$eo)Y^NUG zKpbrZ6{poMb(=^^XpdL#u75<<&XY!qP^PlNk`&A!uXl9he5a+VR_4 z4#P?q_84MMbwlhKkJ!^5v7hsZ{WFi)KlO+`CB!nL?@hm=jd&u|LhLYqg;Pui>0A%% z`2l#^kDD`M?*m1{Vmq0m+!jFaxwPKSw|e^;*V~(|w}4faLHeL6Mr*zcgc&`S0F}b+ zmkiZ~7F4%7sI)cGkmaCqLa64uK&1_QvN4tb73-%Rt!cUF}erZQ!;sF61#;nM;I9+d!5~!I>6R_dBR|w?k#>&~2w& z2$l9#E)l9JXCW_*+hjnR?1Yg}#JcP7fl+I<$o<3+6lC<9S4rfGZqV;Si=~nF)C0$uM+bVA3u!`T{ zif^^zxI@b6d^aG^c_7bvApgn(`6UnJ7d?>k0@A8c3g`uJ*9*RyZ}@7y?yLEl zujag}!J*<35-g}@Ds){|4Jdx+!=_ z6Dtht2SaCQ?_r{+RV#8tbgO2+uV$aG=FPsEU-Q+x$yYP2YVf?UQN3F=B&;^v9QM^5 z^3}Y@SM!^`nuDrF^UQvg-^6fF)(K`-%=9AXA|P;{#qKh*Q~qvG>UR^OYl#aM66C0F z^oVctcYLEC@{P_?xf=OkNR#3hw&NR=bN+*m`VT(hKX?Ktt>~uUiLhVzlR}IC7Q>5q z3VS$u*)YpC)s#?Gofm?41d|OYIqbwR|1gTq2D>`EaEtD;;r z8FT^jtr7giyGtsYf&(SG!jM9gBb-iXV7}>5@p8(~NHFE$QW77+^P`TlWY}XXhA(GA zTP5D5goBE>QS7a?;EdTC%cVp|vU%s#jf$pF`SXp9Eh?>_A7kYY6X})MOct`L*HQY| zr``BM0pQ0W#Z2hzDNkY`*DOHnP64q8EO5ftjv^2`0>a4)0dA$xH1U3 zgaPR8d)fRqIWXL9!E>TNCHz1|=xKQpa3TUVeV3POG1OK=S2df>Yc&5IVLhn5H*f^r ziKu?9V8YGfI(4AcDQ#*1v?`#{+P|mh5A~<7;Ig5gloIaxq^>{MpMFf&ALvj2K-cx; zqV?C0>v~Op`Uzc|{plxl#lb)rUc}rZ{gkd(^{1cKbzOh@6xWpa8zAe|`xAOU+MoWR zu50_#&*-|QKm8+JSChSttCjDgJkNieJwL!R69LPJ4)_gdch)IsBGYy+|aBSeeGI zsAwa)5F0-N=V%YCc5|=P?c>DWCd5nrXfRjWR=PiayUSFAH*|YrH9anT`|AYLX5X@{ z;_}~)2!>X>|3vWkCYqopz1thcj@GhO2;2dO+~O5Os^kmVad(5H8)Wt$Gwj z->S#LwJ%@KU|tW?DpuZaq}#+9meS-Nqi&?*ya=x688_<%OLWnjelgg=p!v0cti5ZP z$$@ZtYOI#xWy*nSBQRjM%YMM!{lMISvx%pB84rObXS)HL(HE>U`kraA^9_!jx5CcM z>GbmtYpT;2ro84fdV~Kz`@l#Cnsy4~H^q-w#IqwH@xCo0Y>4Jc@oyBUH!RGxsz*u{ z;Nz>m)LA{dfY{c-jO=Y-IHR(0U&bK|8dzQjrL6{rXuvkd8vGAG<&{zfKih|hXeXs@ zv4IvNz=8`J7-~n5!kcAyI|Lo*Y~VIEaC_R<)hI(^!HzC4^(aiz04N z){bVX+oH{ANsk;J4lae4;~bCQr>{}#rF4^bi0J;M{(eDO>@;n`un$-k?v(NgwRJ62 zeZW^-Nm)R#w$c-wg~wHRqc7a*Gw@1MoAI{bKWqz<_~&)^Gp~ImzIzRZ>Y_uBOg(S{ zdLrXJeKjT-$O#lD(Xx8Lm>_$BHgh(0MA6)z2Zn*o=|GV$iZ?0{9^c~Im z4T1f4;iI>|GRYs(|KpYSu+KgqQU3cdBBnkb#BV33l8`0R?O85sc!D72x!^`iO@kHiOtL}vCQe`M7dV>!hsxwq5|e-hG`3BDuPjn}-~$e_<<4`VS^UQEo{#m1Ks zk?(ugyLpuKskKVJBG7V1aiLpD#li(m*zEDqapt^XZHZAk3z(zihVYin5$SXMYUWP0 zHf}9bKQ+K63Yc?&r=%j=vN;-ugg^}|!h14svt&~YOzHGzg7_~9N>B1;eH&Ku?PQTC zkA?It)c$P4x6IVq&w-}euE})I>%iheYZ1SaOq4(Ye?Vj(-((O8Q4Ef}oM2Z0tc(a~ z$Bc?XiVPMo!8VpKK4oi{;LEV+`lMZ@hMPjiga%6WDyNR5N!7vCrFdRP;+b-;BI^v< z%KgQKd%2eb=4)w^ME_TM^=q3wKc`I9yNpv4DSCs3?MWiugPa19^t`{he5yH2j^*Xa z@Gt!I`|ocK9ZH6_DUve&Pixa-&mQwkHVYYw9)C_^nusnRiHan?QURI zkwnkgf^BbNdBe3|ZY+XK%G*iOq0-$+->VJZ;*}_=-kt6dyMky8srxWg6wVJi4c`FE zmY=g~@(b%!lhu;-28QJGXY?zdv(@N6zquoDga$Ddmsvot1eoX{b=^PTs#B{_Xp_-1}$X;{d0vlUZ zpx-C&)8v#6PG*QPOy+oq(u3}EKhbnd1K(8tBOncJQ`{;4ef!zqXHl}R+l}=xv@O}& zTn=;1JsbTrg_a+ZSHK>Vp+k+*8n4!1;&Okk;u5yOJ@RO-=7QjVZ$xXTEBF}}*Pr?? z)SGF*oB!8G1V^&>5C>Oz5C&flFMa7FFVW_WXP z%HMtK+uruJKj+qc0W>%K^uK?4= zMTQ#*mWG=epxJ0a>~T{ISzSjPw}IGnbH`}ImWKtSjSB|p7;T8gsA{O;n6APn(&JVw zLrucrAoQzks7WG*nj~6$sIiZSyAL&t4w({r;X@6B3)zYMP-7Yc0!%>Ql34*F1|v** zN=nA*;r7ljx~Vh#p)+TlD$4Y$8{sC}#(6emOvxs2^fTrV`f#9{{Q&Jc(0G?PqJT!z zeCQ(v>=qWEaSi8sO(QTigVkE7FS-l6fuT}b&1=3Ma^}QM&R50N6NDue2qN=Hh6-kL`3cx6V0U;UqxALYjSy6h zyPY)pEg0S${J;D($4?mI`Mw*xdE~?4Bh1HO_vYaDN{MQab^gdTn5akALE+aiNU_T% z(9#6bz0u;x-0?Y@5%Fr+mD%24!;lW3tLZXUwryiuGM8+Me-$ciLbKpCK%TB)s) zIkaWl6SPEV87Uof^xQ+vZhv5}x*yEEMGog)N2FyX{)PpM;)E)g_OrI?%h$A z=p8om%QiOz7&@rp`KY5Dp+0WVmmd;=*z@^oa ztd)Ilu`EH|yVK=6b?FS6Hu9c{UN#!JMtA3^z~3C%bRo+@-MUaw zo!xYIHd&L{qe;Z^U>AGw`2Kwi7>e`!09QLu2SAkE!EIZ!VUrCfk?@VgA zu^ci;4E!rzyIFi8)&B|txqB?Zg|38A`ge#a2?@CXcG3P0Xfo&$^F2BzK_qW z;N}<%go?M}RuUXeut!Z&z?zDLI)kAg8x_e0c-W=hkynpax!kLCA6=xRja@s~iYcdw zi2|{uCo=5DG>yngb&5%QDUZGFq^lO;rH@QfGNwgRS|9K`16EN`P)b=l zoq}?O&(tR;C$33y@V12Wa^DtYbI&K(vK%fzfZ`SxKx!Cas@RQ@FNs6hgUAs_Oy_T~-1gMi2D?Y4gL8IW6oEfWlC0jML8cDcrz3{goO1w%cKZEsl2b zJK?Lvh+EhYEEM=|ON7{b_Hu!Za2QMoYzSJ6gY@p41 zmV*Fm}S9)o5*<$$B?1KoMxd}B1mT}vD%*vm15abtt`DidR_1|U&*D2 zma;6pm_sfbZOF`m%t_emN+5~XU~dT*1J|~kkhH1=QyBwVdF|t?QrDc2EN&~au7;rV zcD*h*S3;*+zKL@f7wuVk@p6rmoh(@ zd%b{J9Kjy8Rt{eBUv;l&&Q~PX(i(dP6mieC!B?G~6<8VuN)GXuBc&bJ1=B*x1*B55 z=q~*=+>-(34WyBE<462}Dljk0wtaO{D&a}355P{mZSq&7< z^P`#%izJSM3y~al4Krt;QrGZ4->}khD!oEv)fU*mBU5h#U|WJ;^I{!F!E4Cxg1Q+` z6>K&0L1a|fL!*xErZSp@&YtwidP)4N##k{`Jc{+GdkaOn+qzsU+popBP>C}B7O74T zi&QUnuegosT3zSZDWm!w0&G_Y%~^WRX`b0pU1=^;HADUFu9LUf`i}?FQmf`{1=18=8j5aGe0oe_7>^e zA=TtD?Z%pI^wm0zC-1lrw6TM{MUjrZ;n9`6*b*5E);shOECSsgaQVsE!juW~sQY=O zBL{PvBoF$gP)v*%PKq(nB*jt^P6yyow()F3G~2EPpsN2q(*i}VFugHT{DO5h?`~_g z#vp2~!8ncsy(gQjjKxn$w39bx$>@FFShAE1_gl=Qaj(Y$)2$3iS)ySfiNiFYu~s`g zjq7752a$v5ME5H{IUy|bQ_$a3tvN(kk3}W8H;1U<(H9^TOng{r7t=qj^oi_#)BU{e z3F+7US>224ELCw?Y^;9;#VFOAC%DBZz{rs6u|2`9%4A7v7nD)bT2fM9HbpU~dS5nS zEs0cR9Vop9Hhd^+K~{rYJWsPRgK%rg5*loWkFGjNq28Zdi`k4u);m@w zC&4=JIK?0|BDlZU;>0SIO9aTl`sO#(k%IATd8~{@nMSIUjEyP&oT=Tf6>ffNEsv4v zW$$G6o=N^sQFn{PAS^$)x>fBV(hc>h%0z$GtCB>2*2iBRv|ly_<3h^#4vKNzpy;Fx z+kpjBuf3Wc{WPjVqdS-u@UTt~>r|L|AJy0O$5Jn&aJjQKDk?dwlEXVNo_ScIhZXuv z7Bmv#zU2$EJL~b2D_+UjB$UiRGemP7m`;+U7`1UnIH48m+BYgk#h7hx=~ND_2MUyQDWS7){b+z7zDq>jt^?7b z5X*XEgc6J(f<<~n%EbebsBZ-Z!k{ETSp3B*iS(LzB9w(~+=;oN)n!~DR_awXy{e`_ z;fmys9r>FA92orB-srKgj5I>HEiOSP7MCE5rmx|v!6#*}*O~#B0^byQ^LuemYdB~( z1!C}SIb&X$CyjY&zD4k*D7EqMCgI_x9gQE+!_9iQ*&Z}BNBoIjx4Q8|bvB>z^9}m> zh8>L`*27Lc?A+eiQ2*h!iZ&H1;-Og4xb~tI8r@hd%R{m34{D2Aq0yJ>!8N+0!NaED z<-+RAw>N&E?z)nJ_d~6c+Z!*@?zTcT8;U=!C&07#qmATQ8$7hyxTZedR`Lgn)ikx= zt85KyR)1m?oMTA^!nRr@MxTaXqRoWcaDt>5XW1S_| zX%!zU79S-twbi{HjYL1*ke4t_?$l1Lwc0jU=o%TAGAe9utf?!jP1b~>IhB~E^*o|| zbmW=BmW=c_{?^bd8)S6o-qb3^f_9cBn4^2?m5Tmsb@*FDjTJ=8w!axBPPYBcaz)DK zWZluQV?Hvzu?I(q?TsPDHWo^*Y;|l00iHmWm0YGE#k|)$8XP;-LQ$*$!$LLWX3FqG z0AI1>pdtkeC6^ZP5iZ90>chjF?*Q{1_AQ? zv?;h%I_Ormm)pR{utl9E4S9@G1RC?_9_{pIs3XLlKRV7!2TP2Z#j&12k)OtyZsGDb zn_FvC6dWH5G$N99vsvX6%b}^E4u$;N< z@n@}NbTyb{^9Sj}-yx0QmzF6&N%H}v>m=Z<-2aQqOUq?v&ADJVV4wX2i^rsP9>97X z)r37tfAb(qKRxl|u?8)<|3?dcRwB&+SO>0^m}g)h&?8&c$BTyxlu=c79osH8gj+X9 zx9}S-ITg{Ovf#xZ8Slz!zP7o-SzVI@A%nNf3S5HkTfvnnlY-QIg;cpA+_E{eEU*K- z=Wu#j-$}+)E;k7LaR=;{F+0lc`es#*eWlg5LrIxjRLS;P&vUMpWf`**qD;+N%Q>jk zVK!jkl6}uQ)%I8k2XozT!erxAJ>i5S=+(ng2AK_UyD8Vkfs*=S{b6`k{|Ca7QWE&X zJs$fM_;n|iC9x~O)gm4g!6*l^J){RzaNpG%LXKX&S5WD2Q60I!CSql$Bva|^#{n6X zD$m>Pydb5~!-AUY9_xslDe}?lYgDm2+?0Egjo5k=8+hoT(SnoAje-vSWH?j>mKB|I zI<=!l-4oJh@n6Aznt<6sbe^nnu8Al3GlUX;C2Mm%vz}&! z(;s$I$=oMC9>4~Ayw?!dkBN6LmDwWIGAgU@V!0}<|D56$(TlGeLDKL7+s+#tu2Yv+({_*q_m-u&<3mkzDbo@K3m!H)stRQo*q0Lr6ri4lG zm(*n*DuRI|r*F&xt37<|JC8zAHL{ukD8<$+;xJ3Di#Z4EXLXn$X@0+!Zf8dl1 zKaLX(K@t$-pJo*f5*EZbcD5_0PjiEyARdw)deF)6CFFnllkoYkU)_ZHmED+&I}jN+ zVKU@o!F6KDtp=6o7a29v{hzl4ziesW&(KxJ6hh8J)D5WY&DZ!G7Ked)MweMV` zX#^87@F7aS#^a1U!pPJBCk#czL=rh{8UiPV7Q31aarH8`yg~5g$$;dYS}IB03SwO@ zpCDLs3qx!Q?h<#ZKQ%$O3)bbL6=g2BNl$8FS#eax$ssi>gdN35ZSvFG zIVY-_O*0}LFYsML5REkztp>R_W2QKWM}}ooWU>jXIYmrQ?{FPP3n&N`bpi5{JCVbR zll2|Q-K_xO)W9DNH7nv?cKHbmt}We^o;eP!zO+uXx)pMoQb9ajNj9L_7yQT(FdP(; zo>y^4T1!cv(DEg{J8M-WDz!d+Sc>l0h%q!M04c9&_R#xs+LKmHSuoc}T?D{+SVDR5 z1eD+Nho451@XFK*%-Ia|>CH&hKXIZr%b~xdeS)63kHBO_=I#^%O6IDPf=&%c`+GI% z&UJ<|3z^($O+LCmmqPTlbeyu4mQ!gw3j@viFrz+rou>{Q;2HMQf^3$o-8l3%UNaQI zpBgnaTn@&+u}&w{DolaZMN>Mr5L4J#^t@2C3vh zuaZ@L7ZjqZ8_6ACPNy&-X} zN^dx2(JN&^vv5<7R0y{Wx~wet2Zmjk3)mEi(vyYv4#bzPNmeAo@wb_XS#k>ixC8D(Zl4YFv~PCVp#E=6aB=b!#hJX;Yx!5t-&4B{9H*^cP*Ela*vpY*sf% zc#x9nwpZ+B3EhlxTM>(}IyYVFM<6jpwU`|LZBM#h4YIx{0I+;*?aTn-c=&^>Wny2@ zA;`Gir0at8!B%7Z_KX7N&CJIFn}hEGw}zTzN2>TNB2%DqKyHD)qeYi%^w>5Ip@bb%zD&P97t)8;- z{&v36G3<^uxYqQ@_HB@O%eS%@DIXj*_KceY2TCjnUk4EhV& z4!V#SFic>x!kpXO83~S;z?WiPm;kvxeCdyfII5>_I?1IGA8^U}+K6lQF=iWvNl^Z* zX7*&}qVacYI#t$r!LElEK!dEPa`x$D$TlKFB-n!R7jc9_R=`Hta6so#+50c(%mURV z0V9|7XKKYtwzD7Ya-Ywt12y+~DgI?6Xa)c#2hM%|FaF9aQIFtj%ib;(E+i}An2{(0 zEXy0N^+W<#oh>WkQ;c`bDE`i1vqZIRD3idWIX<-7&7>*Fy>G57@AUN}g>G{1SWOf6 zg47jA&YWq1k}(q5Cz*ojBsp54ljL6)2z7nD6u-sP&y?pWM^covNSfE4kyNA# z;W7G`BrbabzhA_yb`n>v7ZKO=t7+Q!za)YB`AiAhkL$$}QluMHe*mQN z&iGFlyyAD(uTb3L8ni;h0QGGR64}@BX>*n_T$OZCHlxGEQnQ-vpBemF-nEUDZkXJr zFf+%?rmMfH?6v9u5Dq&Ejl{RfpJWwF9Fp**R2_f7yovCKIw7}`3jH06baQOr{$(j^ zYC<)n7yblpoP#CZVRgQ<(gPo59p|#RK{o~2a3IHEIK*TzRkG@j1m@+dKYsz1X->ky>`z;PA{@b-o z!w5e8&{_)Cxi>{Ee?d?DXRY64c>3QgdU8GDjJ`{#>GjUS7?tNfN~aOPe-0?TonuP` zk!kpU4k)|{ILfRYT%07@of{`7=bv)MNoK7~ebK)Nw@MDGjO#1J!l7I> z5I+K*)XQ(SDNz-Y&5e>KW0ZRbm;Xg_6^ z7JqaZjP=z~Lc>^vaX-e#M{UVvLzLj7V2`04t>^03h?+iTFIo`Dl-bYM$#Psmx*7oC z0aXZ7o)sXMu*NvPgIf+G3eW4+KHQGyYZRvoH73UAc*(s$#^5{0FX=^&&S9jIBukZK`*vJUWCA`;dr>5A>_+c&Jqy|GrKw8NUlrxwhHHCeSe)|^$FV-34#0oEQA z)|lA}YZb#95p%%;WM$Rn$SO9h32Ym(tX+_m;z%ae7tOxMu?*53ZbcEHo1)d5>o z?C1dF^!Ky_N4}pF&?2a`Q;~(3mHdnCzybMA&fAuB*+?LP4KW za)5ID>CREF5`Q?hQO~zu_bfctaD#8$tOE}IxgZ@fM>(bg6PThYhw)a&zly2WwsY&W z4QIC8!+D~7#&NlI9lnZFkb^(@d%DK*h3$j7pt4@+0e>CWQxjv2K*49UVpG?imsham zWe^LJGfCOR6>Uv4$;GHMe2nBb_yqw19tc(WAf?4~9%!ncsB1(@$LhRwy4wW+k0aV(!>QTutZlLm@ zoTtE9=^4ao*m{Pd87k_8!CW>u;{9gw%dInMF4v;5;9m|JUuYqm9M8S^7qKM==( z8o$#vdd}CqOOqHs>xr-?>YCk`f6mUid5%&w`kn?!Rv%^o)_aGC#&PH*Pf^jVeIq52wNkJ4XXFT7_)x$VhSUf zB%Cl>SEUt}AdDRRYkdd$MTN2F&a9@EFoK{Z3gg~P7@-}!#Ob?zP8dODhcFr{5k`J# z6UK@Oqqd(y1D$AzO!i3_2Rnr^&V{jF5JvV$BaS$}96Ma#Tuj!N97AY|bL8A?@i70xnz-U111q^P@sK!U`$D3Dc| zd=Fovi-_`&#@3po0m5IJ^{k_JpqdyTfU=+C-&*P8$qagJJ8pyi0+4#>PwF7=?$Dp? zD?)#oGu=C&KU~Wdr{+r;^fR?9Lr=4v&dIH{DM?+XL{&oD|9757BQb_S$GEf^w7-9IWRpt`xrW>LFPL59Wz05++wS$F_UoShyn}qp zalK5eYkcJydlo_c?kdIKEdr|;_xlU0jECck!8%ufRfn4Y<0?e}dhf!gMp-pXrG(u`=Z>jIq?|2n6P$w{bXVg(0ar?E<(8B&^$+xUh-W#a+Q=W3>nWTqXJ z;U~sQbMyRT%h2Z>4vdT3Xz)K(FTLxlC(e3_SO0t8OKnEkZlUaLfcd;hiP!&sx=t>jB%u_~v6C|lp7`2de5uTd%T8qD zhO;ehm@ja{8QsGUr*-xGa9sB=#GH&AMJAwbHCr;_=6PwtZ9_T=cIm?XuLoJ3oMq10 zl$^??Bmn25cg9~^v2Yp5mV^eDmrK>ce?7fH7zIpm;`de+5KwAF77(sQwQpT56)S&- zZqY+55^CL@sL)Sc3F1(JJ(sQX}hO0Wva6-B)B`KpcmMh^8@%;%a7kFiu{xCAUm*tf7IKB#k z%@JJaRdZo#}SyN zjgtFxWeewYCBYp><*Xr=e5H9i^sIY3ENfajXxKtKp|zu6E9;5x6aC9;mW|uqNY0h^v<>Ak(KuoS+;(j(v^Omq%S!bc~eX6pl`}`P+h>B zwRT&8Y8$zA&A$>Gbo-a|Xz4VZ9H_OnfCU*=w12=w54iq>)>PIA9GIYvFlx|dnvJBS z;fUWM6wrG76sL5nqQfA(2Umo*jIsXgMefS#Pxsr4I4_~2=$Vzk3w%u+k=2*A+6@wt zk!lIZPylPQI>bQ}tN_pUOg2kwQm_SiSSqWdWalU8kx8n5*+LHWm=MSrXp2dbR)!0u zv!|+~KwDUhE2XpcB41WQQ=7?p7>`kU(xhnsY2qFy4Y(4fz|&ui(y)^sMN4@3VgEQQ zmI~20)mr%_`B?tDvML>yFAC*Zi=i)b&4f&JEX1RuLp1C7C#d{GVwPJWiue4$~qyCoC0~J;bPxF#{@QRa8 zz`|bm=0dF%Y7@yEIrLKw%mM{rJU=7}zheE5x%#Q8y?&#hqlZDSHeBT>*Z7O{?>OgqRm=VssM=obL(I(jGRxv-ZflxD7*e&& z#`xsuQbzBKDO|7r&Td3xi0Lpfu$9Ju)_ra8?5%i^Xz57ET3=eTApJ1>VSlEpkv z*n>3|BCS=+Wq4Ll&V#fn2wT`O4YH0h!a_I7T%i$%!mJTTnTO<}_qJJvL5a(AQ4ei` zfeTw+Eh7T1dU;IJ8E>gdo?B{zGU7=sb1>ToTTp~<<{0KP$1s~;=rC-XIp(F=i!7;= z5uur59$AtXKrL8(*r-{B&?~Qz0ne&rT+2UU@Uu$iN`Qz>dQf8J#aGXWtB{BoYXU0x zpOmmFLl|olPFM?l&ZOyoz@DG>JwGJ{MbA&Vo};wX^Q_BwGdopCE|LD!E!c* z?q++m^Dw|n`@|?-rYxT3%o*>vk=a1S-*cm*kBVDFF{48U4puVR0dk{bs<+MP&=Q)h zfH|YXR@4?ZI&|>1Gdlce?v0Ll)^6I2j??yHfzhF{GreerhBG>(D%zrfOhYw$O@Ex1 z!a1#_SLCk{Y6iPzQ1|j%AHl~3bA&BO*{>y?j&)v)Dc!ENy-qyqVu>}$e!=Dli(5&r zGe=OF+TNCR(FUig4NmHXRyf%k$KXT>7^m1v!^7hJ%tb~^i5bCcsTO6X&Y=hM&drBmCf`rqg*}orkA=XsB;0$ zX@R38C#e+aBBqyGT4;K`fNEQIL#tY8)&+E?VUU`eUTRX^U)Yl?a#gEI*+ZFTUD%>i z;d|kmHl;FUFBT}3i%}aRF~M@Cij%oMX^uI-l~YXz=5-mc`(&zUp6Ep@PnL;e)V4V7 z(bajpr*zAt#yLh=my%;N|3F)!py6$Fj*HC(FfVQPz%y*AU(rXD|(F|3jMwU;9^K8dxv?%{1t48sJT}q1(kXe(z0#E7bpQrh)Uy{HrhxvU$VJ z4Dav-+qZKsMs5s@^3uE*xiO%b2%|os0*opJFUE^v8+;!?{x{>`#WM~#!_TMFIq;V) zzri`Ij-KLTg(luTt=U(9s)@I9ANlDROK!GUf#vCz4YUk_%e2oH(59J{YCXgpxbc4< z;#P}j=4MaaI>47OVDNv1@#8CHmG`Hz%G*GYRo(^yv!!kzT(~R<7vvPU0tip6bgN~D zJFzg+iG}^$L72WQ2-8ad;Ug>EqTKOL5av2TINBYA*~@}3y95wEs&Hv`ML^OFe!!E($VlxV`Y? zBx9~rbt`Ns*@0M?B?un#U71A7${4DJxiE~#!RvW-nxG)J!`+U|Z7TG~tYI zgq>f;F(MUBNu zF1Jv*pJt%26C5P!t7aHs|5Crj(l37d(4gpkMHtZbSA+p znQ=SY91K!EO6=WZQpC>=!iz*kX)AFOpbv4cGMVGXFDkP<#bOl_s!&p=Lw}O+iu7^K z@hrUXM1FTZzk679>sMRwZU$-pPm*w?lmz#tr>?qtE!(eqh}PiO_`5HW7QRrS{r=Am zl?L0-W*ECJ_y&#JdXthzr^+ou5XIS&l8ESTo-N)B&t|AdGmu?k;~4s0nUxe5q5zFP zzAAM|b4>g`Q50H*L0B)TN#YGImY5S0Y-+ho()P0%zzfk9wvKgx zvBrAXRufv@x(wPQzTB+ULfk|5&IClWmn7*{S6e=Ju$b3{ zGZCO&U1;xNLYoxbL>Rawvk$dn91!02Rgyu3@dZ55gp>PRC;Mn8->2$}3)U>F`reY; z#PP5%*8{~d;awX3DJ%Fv%a6Lp13Z<}>9BY2Ql0NKJm9j-%@nxdB9?tdru#D?(`gNk z8!i-nCXtU|*C`ANgAxk5(=p>VMbax$CaZr}i)ZifEtH&ek|ilW$^j~wU%Ct6CZH4k z01wScO6fa_XuVDF-HuIIpnbCB6CISmD?|LPuCKSWQ<7nr67CF-n_ae=*FeBTw3Y%= zyNmJ(OmBPw^0mKvSeykC3;4OoHM%oHaO*UOt&=$tIgmlU+^RyXi*={Ktf#OfX-lhD z*NebTX>8H=0Y6XZXU9a>x~g>ygZ%`7n_5uqLWv@Y$6GaQY*BceS}bg%JB1fHB%+PN z2^F^!I8oQvUxvWhK?_~abQo!2V$^kY1p4M0#d3f+;tso?a~7;F4fj{B4GX4qCc}dIbS49b2k2<|E1%22IrSJSY)WN#2cJd^w60eE z380i^pw|lWk)<$Y9aJB#3%QGs}2n_nvlR^AWaDhBRM6oT)xQrOzlp!Z_oEK>(6}l7Z$hUN-wD8j? z?7s*mO>uvvbR%6r!;l^l5XlT|Eb9PQ#0a@RHQL@qoz-;ekDsJ!r?;$}skwOnYBbtQ zIS3}~DKRDJ#rbnA;M^5r7Sj@+P1|QuK$tKxRvA*gG8=cAZzHiezrPAK!fxf>yU}RX z`;clzADMd`noK0L)rQ98al*mg_bT=r;KaO-lWL2v%6L9u8ICYXXKC5Dl(?4GyOuOs zW7hTf2HD1YAIT-z)O%mEFRQHQ)zZ=YV^*ELtG$}c0_n>f0OeP+|3-nC`Og9=e1N8P z4tc8d&AkoCVZ_J%>YW^_32l$pL|v4ThG44H(GD(i*L4`eTi?i-dKr?9nb%mJ=6TuZ~Owy!%U9+ zq@KfRB2NC_?qW_gVfVcaJ?sVy!fOt9an&qT4GvJNCQA#s;XV$+hQo*$+@n+r?b z@lLfFf(d!5u+fx94~$qMzf4)lE|ZZVR;O6e^ib8zoH3QYI#{a7{WQfHR(-g`*gA~W zV)=$SNnkMkT$61++DOmvHyHocFrg#_5DqtM+AM1Kag+V?BLG>8KhO~7lDbqOS?aX#9s`7f1GLQKOl1PzHTRzb}97AnhN`kOIs~6;1 zZPvIZOwi(YEZ3(q2r1c-b^bCx9447VpN<3c(*|niU;s`bP%-TVZuaBGM2ze4x7Y|` z@_ZP7f_#2dLlrt8iv;cNr{vD~n^&nq14QqNg&x9xs|d~b&sN)e#VPSQ95n!cOtafM zaGpyx#*T+`ScbI2-LVqRC=`csrlJ$%V2eLr70r`+;nkrM)uWnyi9aU_DLrmWKehN1 zYx#{2;`dxd5fXEZsC$H`ie#T=uMxgOgXWwLjODlUEcbxFN*iJhS2kNQC0?-LuxkzE z-1mE&D$>2-Pn1sU=A6Q6& z-=X-s%rR{+Ib~VpC5Ezxp<9!r+`2F(z(-Q{!A=CoQQxS2iHOYcaH@w5RlF8)dI3s^ z?1}dnA&*+Q$8~}=7|n^Hge9&KZd}9h{4!7paG)|{F>N7$R}8BhF-zNc8$*Z4Q+R*+ z(y5*{L|z1uDrT@?{-zy>#4q6xIj5WRFlkprJ`-w!fYGV$!&ugR)YwiGyB99vgPm|G zQ_cw;IKYhbI9CbVNq=RF3E^}Eu<3VK54%zF8Vcfh#Fr!vqc1&;go=NjQXUN_YND1p zPemjiq6QJrbrT*Jf)EMYEfafrJY|?a?d9=ICXY?dsIZApE|DteB$91Km&Ml^w(!@) zcqaHdcB9CBxAXceYokMg-6;yebdn8^PD4zYirLfW=(m@25es0UNG%z1D#3Lm1-(a& zAHJ%EuOsZQ*-Pv`m$il`ZH5@*<1{O{zhP*a}IZA|jnM z?3EDLNRad>S(0E$r*HI<6&TdA@wrGBqiakh6<^25!2p{k>83u3cwn=ND7n8+=?*bg zwgvGegX92xL0R@YB%ojqs&o7PMxC3{tt}9;okI6$8EMJB^u(Y`CgACen(#P1$4-^; z@cf{w?!sUfoKmEQR7uUoj{`$`w4us?G=9?b<>OYzoUa3rj%oYL+YF>R-FlEHXFBk? zstl=5fIMToJ71NukcyR>sChM^QHB#h`lTiSHq+U140TZx4)}I8L8mUGCg$_(C?H@% zc$zJBrY1BHT~SSl?H5rKAm=#z&4OI1Kaf3uAz`eDQR^r-rE`?}Ke?_{x0R-HYmFIK z6vx%bJz(pJWWZo$S%0eWR~1YPL$KhxO~}^~BpZ1}q%j$;Dk*^n97MuFAUroPqbjoO zRZIMP_)?1hwCtRig6C#Ero4HXSmD*=g|${0-%J){UD&$aXcLR(c6UG0#H_iEG73>( zI>wmIri^!18DXew3iCpyA#iY*N|~9Cj+kI_!ihIJ&xGq^Wt1n!qYMBdG?Qy50ECD` z2@y&6xw3ZgkjR^<&U2#C`c1(WyoZ_j#_64^mnjL3M1NuxoI|<=W*C)J>qQPOH93bJ zCo`Da<2qLcY-yaw92Rsv0MdgAhc4CfypAX`ct9h$!VD&NM2dWF$1rqB9UZzOrRWh) z7s4^%@(}>Yoti)^YzhwG$+BKFsZjvM2y(<*_QD=&}Xe76xmDtsa&%ILnlH zf*y=?n%fX=bSD(N5e{NmZ~{A&fu)jO>xWF8oj|?{@CQh+1TM6A|8icbRQ?8iYUr%% z>?&ot&~H^8O^9{;7a$|$uY7%sKegOl(XQRiY=>E(!+%}a;sI+$6H?s4-c2wZfuZ~wTJuN z>cocd2)AV7Fn(q6U0giY2g-GOP=||fJWGIM}|ey12M(~gH(vQ~Fb zt04pj9GH+jt}EorWN zrwp=;bvC|QPmf7^(I4xVk(gxH8E7-J|6 zkw%30<2u-g(Z90g7lpe)$E7R9+Tu+alWP-`gy4lvN*Q@$tNXmcWusg{JB zrbCp$Vy{T4JV#)b@j(bi@GNtNA@dlea%7%p=?G~jz@;lv;R+{+pIGD2C#OdI9g;7m zK3yePR!@7d@C>uyu_vALcr5obou4I(eWdBUaxmFpUCn-|iXF&>aZ)E5GCsms#%IN6T zKpKB)y(XFtP9@QPLJ7TB*fww+HI}u5qb^M)M%n|_M7OCn8_%X9^uq5loc72>0G|wB zb`qe(678X3+E%9>02T(Pu|ogU*}G`lvB?+{Q>VD`30@bVSgkeaBvSC^l8RID(u=bc!lADcO69e%f%a4cV zGsu1Dp5dNRAxf_{?H^fm(Ex_6F*ImEbyAlmipO+?6Xv)&QmL^ANQ;)eh*8SAXXK!x zm?(bCNYUpsu_aSSl-UqYY!2rQ8^0xGL0nLjDGL-wBxPZBXwqfu3`bZk>)UD>wWi3! zBuRwleiO%+2XXidW?`QXJobbt*|cEw>~!XooaYT|5J4*2Y!#7Lt(MKC(- zD-l2yixOA_NYafxql;dV45}INn|J2nE`I zZ52jkZVsU%<-NlfDE%#giobg`*KsrGF^&M@y5Nx7rNjwg?BSzAq&Q6Bm#6gVv+|f3 z2x4tVVO}57y@?M}oF3#m7l-M25z3J-AB5tEKn_G29Z!;Tq&tDOP{b}DV*gF@|sx4m}Td>W+(-2BoYF{Q#R&B!UQ72e=LlNudQ39#U=rGOS`&M67os(B z3ACf=T?<`0kde97m{C&r;dOx-ORyKSjf!WlIc~*X za9qXMYmW>pEIF|hwA4KVEE>ogTIs%=y(;NE*f!Ifa3Z1AXc)A(KG0BrVUtZPBU^=8 z@SPCFl#_Lm_$}+Dl24X3k^Rh2sj7+WG!t14qJy^V4E=fnLc{d1ZA@2)2BUf@elrBa z*X=WXhLRzjlEsLuV{UjNc1Xs9aWc+Er*u*7W#?!MWkzW;q)!oPpK|)TqR2=+Gs1e3 za@P1!D0E_*u9I1s!9pG^mH2WsJ*$I|zRpaT+Rr-08!F^-j{t{iQ@VcmGxEY*Qmlp7 z@fW%0NWSQTu8fE06n{Yv&Z-Pum=9BysN_K)-7T%@w>kZ0QJiy}M)nWZOJWM?80Yp} zqY*Pq*P$D<&>*izkYS+B&sw4s;p__#a1=m21`Z2m4Lr&`>AGBv4^=T6tgl9sGwAc4 z_@9#)sdQnAyK<(u4W?k?oil|7(8Za8UtcIwFh}_psVQ!2XNm(aE>j%&UNJ?w zPU?)o_K&Y2RzDl~ODV=ynb86j>h+R?g{N`X-e<1n=EUK-z*RfBrdM3vP!>!TQkbl5CMzl>*#!Va~ z3_xgm0>DcOuAwV8Vq!Yu<3`TKlWUNEr=|NarZ{_qqvj*N;-YZMQri0}YNCbs87xRf zm}kgC>*md263C`9#IPU`U^L~=3@#kL*Lr4rQTP1s3`TNtK z?0zAAD3fXaVh*O@Ws)r>Ts+)0Is)8-IJz+|hUs~El02sUGPB&-9<0C0T5qt{R%Q)? z$9skCW@Rld6a3{#->cTjhft$+hYS3t$)G$9R&@mrMz4-BXA0_J)h(-H~W1AEHhn=3W%>&C7wJyotgHM1?5tYG{E2 z_wuuxWZqcY^msC26frDf@SH>C=PNl>^oQO9PgY~iYOJ?vw0;(7X8kPGX#FhE49i?r z6g`^+e0ev=;38=CY-tA_Q+h1UiLpCo>gjEevkvY7!|v7o4$-1s!ZEI|C58%n7c*M_ z%QuQ{Hb%oEVn0gcbg&-F!uE8s9%mB+<0&FZU+vqM;~bcXZ-RBUQ+qEhZoj+H8~^1R zO@)|uX(4{B?k7ex6y4Y43=jfAprYJ^y>v-g;MHp^$5J{MNCx3f(AtPUYvHMYi7-2& zIg;_BxA5Y%jbM$~Q0vX@KdkL%SVFD^Eqp)Fe*W6^lKpRV|tB$>sQC7C?uY$3_yId55BJnHmp>%@~O7eFW{ zGnu_^1P)U`TezUmH*#?Yv5zPHI*5IO7vp!PGwfdUn`rgfq%kdPa5NRan-^oHdPPQZ zZ@yn9bl3g3++j3pFU*$SEvl6krucVIhqYtj3BJ zY(x@RHA+2yq(EL(x{$nbB1z@WifoUNiCW9GY}03S7z<#3B2zo5MYLBzaGC>9>xE+{ zLEN-R=CqC!Pe0R9d?-(hgv%bNXw09EvZaD4Z8~$V`;pvp-$csgK=W?;<_eu?&xpSv z+RI#;6$0H(ahoLm+bwrWGiXqu>_n^V&Q{s2RLG!vD=th;M_CI9UxU?gGT22(fzF8; zle28=DUptc*^};g6rXXPPIVx95d@i?+6g1pnuE*gfegl}L z!aOVrwmtCRwyD?s;-0M-DA3*9>3DN$rvCYGo@kUELJ0 zn>E^@=-EvH8(^2Y*l5{=SvrCFhw(b=tP|@B5|?#`&SzZ#QM>6#{5p2{5^-R}n<^oh zLa`xwPbvON(vL{t;eCy4L>qrOeJfk6RMBgjz3!WdF$%IDps6}k62xg0s*~u$DO*bc z2_uNV!#7*$sc4eVaat@aZWtU3O@Rl=@c(m&VLQE<;7v|IH|PmMo+RmhGQ6$y^U3h* zVGE25a&=}W+9~22OgNsJfTytA98ZaR)~J8RRJ!a5t;--kGCMs(=!G1iYy&JKC|o$$ zS6(VKj_xayGP32P?MXR`DxO|t?-d2iI@hkIme43D$L;X0J3(vJsmM?=sdZ64#Iwr+ zh;}-5FD%&b#`0E}NvN#}i3*x#IYO|k6#tFsTbkbxu~#QPwM?2z8s;|f%obEvxYbSM z%1q?S2`2z5st4C1ZuB~ep$u?!>gBA;^Z|xq+d$86W$Y`3m58N#cX3<2acz?q_a!}S zm*68Zc}y^TDr~v$#flPeaUC0BeXvFn-YFs+!BycqUhak}ID4y5ftdo#N6H+LD<6X(B>W38t7=4D-m4d*gcguh&d zJiY*zp@X&MGR&UoySWUrXZj+?gzpR1UHrKh>@vhu<6jsb44Zv(Bob?ybI-MC&NFlF zWzSL&EozwYUcj#He_+Z|rM9^y?xCNOqcDRW$`1c- zv@+?-EkXVx90$GsnK8z^6hKgsdeXxZ9EDlmfX^I-*)#B&qcD30`{pQg&uad;I0_qx zH(m{M8e-qeQAqmu%u!gsyrZxlf6&f%VZMZ;5K@U*d%1ZnBx56ya}LTico3x6OB{nz z`d}Z&V8hW2$DqalEC_Q9HV`&Xoy#}|aiyDMupVwrM

x@wOnc0b9>7zr=a`&MR5u~x~Nl7WN0oE19*pE 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

sgezj^Z#FVGN(XvQSC2ElywO@# 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%0D%K5ts6KWReB9NFtaSEga~2e^99x-2UE-gjF$TVn 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%0ATGA_(Foq!&M7}q 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

72E-->B$dg8hA}Tvr#7-jy2?@c%6D7r+ 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 % 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�U)ma&2kBJ(=v7udB8fYVbwUJea1LPGBpusX^Vw(ms z4U&jf30IX0u8tDHWim>m)PpK#pwf4U0Y2g=`KFS11S88)>Plslk>kIfFsbo%-qwOh z2d5Dwz-ai2x0VTyg6_YPy+l81E9EiUuJYz#aA#Ujjk3BBmW#ilEmGz6pg^69Bh(cfEueu zP0}zM+_CtH@akEuKa0zY=Hb@>S<#gtKPAjMk*@Dc*q2Om z*ngI#YoyrYI@TXF4bc4NKF123U?+e(brs*81LPq<(L9Qqw(yc?T-P5UKD>x;7$PFJgww;C5Ci?$}U7)QM zZg|Vo5gP=ko;<;)9)NneCZV74$9)ejW9&sS3GNv0QL>Ti;%y7qoD{GuJ3m;JSt3eS zoQ=N4i&dj3buMlZnVEQGX5h`}!aHOIdKiYbS?$l?{~R{@vg*-3=I=cwP) zVMRU2Yi|(TDIOk&1Pd&-3f(_$#1|5TzqUluQ8Y@rwyJE^UGkMekCPg%%6b2 zb?%03Rw1?LcqbMSuf~p^nC5tULU`wk_v`1b>EAqeO+P!$raN-AhAvxk4GmQl7Vb3# z&@<6LO3iJezXF2_2XQH+WOXVPCwj;yt)RGPeM*M${%P7oVSJ6@p+_<^P_JN1VDs58Qm0Qq;T%{?_sbqY;R@+~vJI;uB&>5JN}KmRl4y z-H#NV6TbiST`p%2SM{RHbP=5|e6JQhW)HZSMND?YY+OtXJeT2U4^}r!t5TL6!fjU8 z&G{J~zJrY(ePfR((@!}RMY5r(bChAv#hh9c-Z)LIZa2trY?|@3-DvvKX?npX0YhAU z>bT{5r#a$D&5B^AZg#^oo9!g#N2D;TAB)j7U0MCYD@<)wh@oQ8CHwPpg%07mly9Q$ zgG(ZhI&HbDZ_uRS?r8Xf)N?B2g1|dN%~Zs;yAlg zMVP#CS!|Y8W8y`6=H_ABee5kXyY*7$!%hM0^y~H0E?MWF+BP5h!j>ei2>bJ7qx49? zh71IlS1u-1*#D%vX}0@tS#T}4u3T*9gmQ!}b-+g&&Gj_4HF^W46W#rNE&gNF_IT{F zF{;R|9=q&H2zg8NhDBF2;;~pneTfAWFF7A`f`R<~AFrss0iKp0U1f_ei-o?5qpQ+n z)XtqWZzac9DOOfv58xH&l9VJUnRn@^C_XVdl%F|rCy|||U!v-nNeWa9%YudE56Y}19Qj)q(L@l_|c! zHnH8XM+F@4y#^dHZwKoR(lY6OjZpGii`#QCe->Yuy|>TIaJ!wo?~uH7ow=%LCW!FA z1|tJ9*v9(AM{Iw_dY~dZm&LM(r<{}f9M)+1&sA|pS}_lgD%;HQqnvA3=f+n=y-q#$m1bl%^(cLUwlpxAXNc(=*uzme{#|S}=l1Y^3qH zDZcBg6(&r=I#KVj>s4wt?n~eAsfPa7AE~Yw`%U>#_UDOxM|SF*DsriJHha@`e44J= zYvf<(-@0st_!-yQ&Xph>wQ0FX2d878hzm2ocz2ZVj|eO*q^E?4Wqx`c!%-$WA1w?_ zyL60!We=&m;qC~ZJI8b2Y-RGA1YygRd9syI_oFT@i#82V-RrEpq z_n^k~OHM+!V~b{WAnZ&_eP69-D~c0ipE<50~ZKo~v?B%@nw%D@=3>Wt7 zmQ^qreg0=5__QdZVz>R%8lSFZ2a+CbtI?@4$GWF6ZZwT8lk#@MX)7MIKD^K|jJB;y zef^~y?W2=Mt07Nc@g4}=1i79rBUk&LeYck@!~7uk3!P0fhi)kWd}rL;22GOCPZD?ghwY`-^Rwli zTZ}mH*8pOhr+x1`K0@#PEyvcB56Srj9%?-iWEPuArr63k4d-3w;P`jdp{u$d==dF# z5C$CArg;tF$o)g=ZoZwL!lv++p3n4Lh6LE4zL><`=F^2!F)-7Zaf(TKaofJaPS(xl zN68NjQgX3)z7Mhr74%Q$zYqfDYaE8vrxR`CB(0#0M%fklcI7Ob$;>gP-#Nh4153oQ zEAH)EI6GOY^h(KpkFvf7^;C?t^kxRvm3ZFf>A>VNkR6rUWk_0!L9RkRx5ug?8nJ#a z`q3e-DF6Ju)O}jF0&k>(^$XANHDpSxs+5*~Can6L5Pi^nNgu-5r4**FG$~_k#jUvp zbPj=z>&sowhJD@ArN?W3m<;6w{EB&Q(+0dPBQ+M!Ou~*fr6q+W4+s+nW}Un- z0Vf)FC;eqTmWm>=4fa}M7>Fv3gajMz5o`9lo`pn)=GoTaT$`FqqpF8Zw{G2TC=l0} zJ`|RwSi^TKZX-v0nWyYuD(*A-DL-ejO#LmhpFzxgugi66NdqaEl^^P!CmG1R=GgG* z{ixD(@quB5i_f^=uJT}8{1-*X1tr|OL-ThxZ3ic12h4TXe*?_#;}T9i*RA*8tlyy$ z87NE83z=bWF<5p1hbmFHEoAhM)FUmM(gjt{O>4yht>Uj0cZ-U4QNa0TGSFaRU z5&(I{NGhsQvG`hQrLv<|fu7QeSZ<3FnI+H003nS`P1ApQur*xWoIEKA9p{Gt#(LXkrFKi3n=YGl>c_LRoiffEje zo>!|7{=%kgDwo)&tLb_UCH9-5YD5g+amsrsZR%`3*j#%CAA7HoZTVXKL9#9FKQ`B% z8osMU*l|3?ndBfK7m|3{6-RRA1(~74S;6|1 zj9{@-^C}5#wAjjQ=nGn-hi$*#v~DG z$$4r2Q7u)5LZMAY)os|lU=^Z36BWMZdA%-OeoVyoScnTg2V^nS&fa-w;VYX#4=}?7 z&snYqta+rP9?*2*mb?viF!+A^8h+O_S2(g#;F61FRx^R*qSKeFqDi|fx4<&PMtz>u zys49FCn`eFiYh4DutcY+L&b`Q$aYZrfN7!zJ(~EV3(Sx@&#Ou^_W3J%>$=lsqO!Lb zO{jf^WwA9Cj_DHfOSsB{jx<<8u0T8Og&z@K7zYYg+1agwG(gR<`UYmsi<6nTm)YsQ zLVc|I-Ud5B{L&RMq#X&KfQJofV=i<53xlGrsvk^icd;hLJPrB z%-SHr@z=@Jd+Mutmh_|)1yQogO^|H+u)OxfY~EQH4Xuysu|C(u-ntX-4YF2GYGzG= zyEZ(Uhr-mWcWat;M_Cxzasm~KD?rRPYrk9Jk&=HjJCQ6U==J0XGBxt&PvP{iL>Lto zNk;uY7gYJ!rBY>+a~8=}lth-^ENjzJt(AJBL;RS>u+G#0oMa_(M+)!8dbQfjt?4oU zE3ikT2v!Ts|Ju-bd%D5xBBRgJ@tCm=pVa~x9flOV*Vq_ofzy*;%wNJf33NWeDkfhX z$0xJTb`9H_N?_SyX>~Z^lS2tCi><(ELq8pDtZa4Rpkbd!7Tb6tG0m@2a7NT+R5F_$ z4V7Qg9=#uBrZK7v9yqfF#_p-kGJs2tF5|@>CsM#S)~j+GAeE5BZyU;1AIyxmSonW7 zQ-%=gGZ5&*zi$&nhJ5AbAH%dIQ1*kF+KA)cj& z_{{DZ)^~9PLj*-9jHd5}rrog8|9{{53}R@tgWX>g{{-5!t z5Hd_SDh}=klTFMsB0|>i_)}p)b!|>ik$!gNfL8;c=ZOW?P|GoyeNwa3RS^oFmQ|n2 zvzcF4@KM;4>m>)6SK@L+=2{V0u_e50<8I4iH2F4%h==m86&Llm-l|lNz?jB7>|cCw z-nhGb;>~B$&%Y((?uJXwTv0)u^suxq#usw8f=}2DU9@5aR=XBr->WZlPaMNhFqZud zU@FO|e;5Vq$w<{<7`dDCmwa8iLeRkpK0l7^J_B@fE*R$r-#hnpZg<6WT|N5}FTs`b z3Dis~2gv>s@o+FoxCESygTk3r9Llgu<3NgNd4qh?>D*zLk=*71M<9f=8rTH*&&M?% z%GX3n)a;p8)e|+i{#gxH2xGpGy<9X#ITQ|8&%Q$W zaEK=8aUoF!nkJJ*R8+IQ72MX`vTqz|HXbX4U%fSC!?N{fHw>e39+jNolWHU|WjD|o ziu%vOwbcu%XGXT}VEJ#mBjC+>pna6c!EiK|dWGqJ)sOT4MOWn4&%YR*U%6DG?+?=c zv7~1#t(qwGwzLjC2SWiey4=;$8b-%q*KYyaWNEyOkCm8T9KwD+mjfq9x3XH!vPVOr z*2&TBy2Vl0pVVh~n)Y7SCU4>9GpLvrSvL^7h`{CJwW_c?VZFN1em*sqp)K_ik`MTW zDL>kkYv|x-6QanTYCZdBTJIP8XEVaj7mKp8=NI#pIFW9%->$)^vAMII@I$k;v*(sn zUpI+r_VwpvGcl(H**DK|YvxRg>>bJGDN$sTY}RvHJ?k(H*>vpb+SZ=7aPIu{Jx!k8 z?j)byp0s69w-BI(bxbp;$z5$u^RBkorn`c{?8C}tzSDGdMj^inLn_KX%)*QDgQUiZ zA#ZNkH~T|OVi8ajuM?By|7CT=I%2tNrntoJn~E9{b;#?`JV>}xw?YKsONslDzQVr1 z5cg0yHV{;?rq%>Xd6&@SPQO~}lwM}nsS@JkY<%B!xD|Vv9=wIi-M7f8Td(mmq32_F zwSsTKf723t`*TR|KcQ@+C_2xZeVrFftwzU3M59xU4)|*uYlFq}*2Wt}YFb;%k`VS8 z^S4!}ctWCj3!XJgv6Ox&H9?xF)KbaU%IiJMO!$d~zXV;LHL1(9jUg}&X^d=gvB5Uv ztVu_cQFcpllX8t39$=DZv-LUK9EE(<@MgvMHpocf{7p1)edLVqwX@)z-xHfrNfh;= z&%BefAUH8S`Ohun%C-5=D;F33bJ?PG1}?)`WY#p}QQLt>Zp4RJH{>BzMGdYx*sF@> zo{O`ea1MwFnbl*ltMmzsN?L!=SEi7eCx>@Ek5hHXZCnpk1Y-SF#oeU4sAZ6%d!gdq zp{Spb5UTri+4EYSsHUKi+e8;M0|muIwTs*!juL^q5Z4J4T_AO1GQ(@~&RH|`V0A7f z8%XM%Qk`VH?Ecv!W^_fe?kF|Ltz$!R{2kwjsE%K=d*W%zZzHC;aSfq<705rc4GYy& znE=^=`d9!%ZlFEU1>4cH$0=tWI4jR(Pv^We-@F-2y4bWa$kD1dVkLxP$OMKpW)Mu| zh&t>SR0U45H3#RG+}WlS>+N8g0ke^aM0m5g_<^?^u*{?$$^GH||K9zdtvZr95>~=T z6S1qWWNYTkJ+HI<$uF?{hq(v!frxM)>2cr4uK^NYL-fuNq2;0s%V@4XgM}6~s(SWu zOyt=I-kns}E$jp3oqR*uH`zz?xtx9QK-G8VrClnGN9+;#D2v3iC27$R*L)>XLTqTk z+z{2lUAZ6X*;)-(!x&o`{UM$zh6{fa{U@Vrvt>0b4?r)`7EiNZrII&n$;AsXZ?!TZ zOC{tY37-Agoyr`76J|RXfpW;jyogm$6E}kn0quoJfNf0sd~okEPM%g&da~Mcey(8b zo~;G*8ko3EYA6EDROX-o%Ic%XG)L(wz)>Hdrp?jzK4XH`dd9sA^eodj#V*wc5k@)$ zb7ZjqJe!vFg|=z_dP8?wb;`R$N!_d@fW7Q{{i!lgsh>>$ zT;O@-LYi&Sn@&CQ-JK(uU=yS-C0lx_8m=OwX3R=_#P&?b*`N5>7w9QuWwz*Mo_dqh zgtBKu%&hxO%#QwR#U^IfQmAIQ@5`T$_5M+1)NdF)CfXPStG;EmWNh`ssFTk4h4r##LnD%v0 zVyv8*u(}~`RjV8uf4pD3u}6f|PkE*!`_KV!Fj>`9Una};vj++fPT@HQgEv4!ugoN*EXe7FG-zYAES_ zuvukI;|2x1+w1X~AuD1{1#5lAofu z%?Z0Usp6D<7jwwUJPY(fQ4^Y^zNMqKcRSV-p+GL5-r@FCX(Wf|BQdeV$wR|bV>7!o z8Px`3h9OTr`Q}2|bOY2eH%TISyI+ZeHs;Tt$&sP=<0jOz{cnK#%bihPwI71IEvxo< zopP%%mtQq4qE_vPOrXQ6@ftXq6A}y3Paq!;tzfi;8s@ zekR#xLm*Rpm0U05imVhOSzoPocnD`olo^rxW0>=hLDQ50`);twgLw3iJrT;0B@j`F zs=y+`mB+pCm`7JQSt*2rQfa%xInmthyx}VrTTxHEMJ56$Eup|9s&)9D_1QBBu!{kmd>5_*}q=PZH z+-VE?12%DAxER238$a-{hvOJkEEIhbi&1bf@`lX0K_z!jMB~tujL}2M(Q}b^|DqmT zQOl|xr)PzPEM<4YPOJeD5Vr2qaE2{V)ad` zGJ832PYGSQj|=(1cu`JjVH2a5B{8^`-79)Yv#(hyi!F$-T0@?|Vkm@2Nr!JbRDeE5 ze!YS*i2{upb-WjguXSPEP(UNjRw4#bLyX^vFot*el}*QMiGoFvi9D*GmZiaYPUbO&r9dtyz~-^h%el~x z_)C^=aOtYAk)p4o%Y7M*l2DNMC9|tQCKdz=L*()i zCKAw6sy2r)_<3R_gh^7M&32sz4sS9NGQA~HCnL$NNdt7wJ~#{(SzMy{#^79h5vF3* zc($1dz``>&2tTThN{FXaxc3{O8Wj)#F9901p^ef&XF;;*ONt*9R5`~Gop-sw|2zBo& zqehKt1TJU4WRntdbehU{(5&}pPqqm_Fiq5pGs7epLUz*<85u-A$x$dQ0(3xc5Xc*# zR#RwpJ7*J4A=(cw0piG_DO9_8c$NUqew&lRECYBdz`gQOJ>B#_Q7FWD8zGO0 zB4V9ziVg12iyLM{>vv+F;}^=QklWQ1M;7B$Y>R%HpxIxKQ1<+i>e)e~)$%|vW4)I& zlCk)F5IT`YYv!Z4quarmOj7U&Bz^*R8xEhA-E2t3%_`PISbIn;U^Ok0?4Q~ldp12{ zdOnhjYFtWZNl>n1iH3-j77Mje7bnt?0M+trZJi<2q_Kw)jp&{*>m3SHi`cRcq6?9& zsXt4zO*MUv)MM+uk@_x~b|C{Em%q@wj=3ML#*+PN382q|nqDetH%oRmneEbE7>$`c zUUxCjfb~$naRwgLjzcq%I8fTm0!8@Md zsOXmB!8DXMzAb@=$T-_#VvHV<3f_M`#=%KjK;_b801Aty<3PZhMCcpIcdEC_SVY~k zYHadO#1;kf;Ghq0Xfs&&sMt+I_9tJh7kzRQ2owI4NRr-dDw)^a;Q9~;(?l^iCOSjq z@v7&U66WE7(g^h1RPDvHme(jilHgztH45}a1qr|!mFSg!%oGVZc)6CpS?HNCC4+Ah zL4^>4oQ9jdPxZVdlDy+7`_7;)XbxR`R9EI>uuc`#^P8cS0MgL1F=RGC8&dgo*TrMa=a4*Ty6v` zT(30R2O}4YBi^F(y9Sx(mha0eECyyXevLhmJ$j%ag{`)F9n907DT3mkPD0Gazy|Mo zTXEs*v}q{toAlWD`_L}z)ZmV*_xmg)wGSUZkYPMd02eD7m}9MCZ=AxzjD+sckAz8D zY+>5Dree^D&Ffs6^H(m2ur-f(?ToZ7B|CrQ{YY-8*{_zg6Gn?JwBAM ztG$k4MNWlFJb@Tmh%$YAm;}GiFXm|i!cXdx6u=KPG{mLYaMGx)EEnI8gM|4wDfAtYtBR!nn>N^&=drJGPTe^B{(bENGb@2k<&s+0u!id&) z8qu2Oh^}oJ5#MY?JkUC#yLRZT$dh23_uwCILx@TN|EobP7oq;A%9 zg3oBt&1=iuyw-PvD%S$$@^(5YC%E1*?@Q;tX8o%2%3VNkcr|U5`g0S@`R>xbctC>j=+*6D8!!mbtxR4 zkK+{GfeA4*W7^f%qS__E1=SUmJN5n(0m(E7)SMNkG0gO|TIDp#Pyi5ys&F5#)<(}j z7_4@cp{11?AmiSg4$mI%g z_q**MC)oqx@2or$-IQvuU7{7+4sj@Jv4y`$dZz0+Xhtnj@ng(FB)qV=*o6=}P9yZObWpxyY zx~1&*N=MCSL=zy-&wTpro@*9yNwXyT5;_s(gKc$|=0@!@vqpqiDZ*O6Nu5aOPWlA& zZ`=LwVCiUMB5o4J<aRk|f)JT*^@l~!6@Lb^tp^D!K#vUv zD-7!i5e0)+V2pp`NEAH7UG!?PM*t~EQ0JbWJS2(?bslg~R<3IM(#xK~B=&Mju*ceM z+ml;}|EQ7@0#dfs>%d%vd%XN+1mhYZYD`gJ#FxfU$-zU^7{x9`2p{sO&5f`kAP`jeLfyMp|oF2?uFFHy+D z_za6$`!Y4%BZ1ZnyfEZ4Y{+gufVCk9kk2H?2D5YJOX6wGu;0~`*r7b{d;uJ>Eq-hy zp7-Qcdo!IunJBC-Bv_Xk$nzSKMiYfUF;VWM_AY@c6!=wEliuyE zvqbCtM9koAYsTwl=xJrrbywQ9luy#eV#F$l@OG7w!f+A-=dOBTgFK{SOokpBEh}n- zara`XlI!5P8($mQe|sLo-fj-tH-*>mv&ttpQGU3b=Q)d<#4t_=ST$A9gzehLPl0* zjZ*-cdY347j{>PCo6n4L-ja+O<7pOCkj=T)a+B30)Kh5Qo6OwL1Wh{ms0d(WKMpRc zpe%(VJ&L)CX_XyRl7WmS9(ywSBVW_GFh6UB!aiJ9*oT=8e7u%x+0*oJQqcq3cALi8 zslJDk@*Yeji>W3DmuQaAP>k2t7};xNMz)NKTCx5#am`7t(JOR3UmcWvku8t9Kx3M)qv2JQ_@1g z6Mf-9K<)Nis@Q>BA1gUXswThla<|UkFrD($Y1*G{&5xVZdZ~T4#?xa$e{s^;%$SfX zRVY$6fwBzslkur0x0>R`#a5ULQ15jjx;R7CanX zc4JwW4OHBs8aEJ%(upVbiUyl|@Nq#>`6UcVKI9WJX@!0NDO0c6Y1rI$EVb{d5`B?N^P*d~esQx2(BvtlEcli)1Tx zwRh&Od_Q|{cv#8t8`PHYAf)J?i{0(|Dm{;`o}Ia?VpPAmhIXZr4vcEGy27`nu3Aj2 z87BCQ+8yq;OzJ}DVeXYS)OQ;J$F(mQV8tMw+{MaEFfUToa@?zg|A7`_!_E>-oUa~y9Q^|72m4-!M zcOIm^_K@WHjYIInctL{xfRvb&?w179CA&>w-l;i$7Uaf+$)lRhPBtgaq`{(>PvOC) zUR#NOo24rvU?Yj;xVPg7jNg;rCseFz!0mW%!18^G`?uS;mLmd!p*mI5Cou!T-0?}; z9q7KJ4^i@G(s0I-@9HbF=xY53G#q!6K4fp-le$}V9Y#e_{MJ#GvEUbzm#&EgO^`RS z;5JD;VZrW$yIi={wOKA4#YzgNMzL^@E}<9Y!WV+KSU5KMep=$w^~n(uARZOmp~v$yvarNXSM_m#Vv zPA>H0_2^#0I1hEd-xS(peN<{i21TFNTj<1}!R-A@_<&BUX(|Jpfjn>NaO52Y2R8u%Ibh|P`(r*#T@Sej#lAK3N#&*L8APb3 zP>b#`_r%(m-8SX2GGM>$vuTfnet{mpPjOTCeSLW9lcM`WeGN|Ao#iz;Iky0?auzM~ zZ`3Ttyl*3 z5sbjNPF%CYJAKey^0YYr3lmC8G8_3NiWZD_$^Y1FJDuR#Paxb65Ui;&m1LQx;FK!% zr_0>()$9RM09ygYuYwOa^n+h+l8sT&|88v_n$y%)=T0u|)g=GdOwz`Mka+B}Cm;jC z)cnHc2^M!`w1cNHyy)}`y?4rRvpr4~bpPbL;35aK(ESG8ngf9$ba$5-+h{SISbht+ zC+3mx`zI7gt0*H)_vS6XLk2QP&nLvo@6UK=X};$MY#<`5z0p3~XQ9WC1&!3>2#5(L zjB_{1o>R6D`&F9BWB8l1&kmP1YcLd!z9`0E*hU!&@=XeEPsSlbg2=Gvb>&k=2ysu5 zYw!9k<=Q09Xk@2onTa=C$hI!tTVOr`_?zuf6Nxjz?8<`}wk=y&`hunSEX(YPp=8vU zS|RHM%`{tM+i#FZGA!w%?AD!xh@PF?{yDI4ZnL5(YyE*9cdzaSv#D!Av_*}w$zAQx zT?I?%`9nQj%Czsc?W#Pgo6B8Y69+D%92lV#URORA!rZ*n^mwXdC!`9Q7En!ubxqY6 zc`+auZA~kzYY~tR$lRz>HRjRsm?F&f9_pI9Kb$YA3X0}#9|QU*V#L;4Iav^ATX#Tw z(eh*CvOD0ESY83#>yarjAm~_%-iI{N}J#S5a9KWr>kDhCHlmJ^8Xmm ziBt~4=eatNtEqg+Wv9$H;**LWhRQ9%sKIg1jd2q3KHCNvh`7lPP%V@>3L-KMuXUm& zQN)YHfhGcmGd3f)>aM)VcF-`U?FrXx_dS7eKverkKz&N*G*ZP)ghN!%0h}wcE6I)1 zC`(0ixTivGC$}I5K;R$11f_VIEIA~1_G}-7!LgVGE61}31gzbw5J4=RhO zL`QHmzEEWQ3Uq`aNJ>cSHLtifWMV9PFQG6-E0HD->9O%#;9h6F>nRH}F<=h#WE9B0 z_+oltLuV-r-A8Sp%UoI;ddF*`XyURz@p)6$z27FoYhLJMpYUP46Z?#IeR_9gg=qXD z_ZzJ33%NYxVuMk-s4;LyV-AOj)Uo&g70Op1J5~>4RPP02(y_Q+tqq=w%Tl^sR^!pt zwE^qVj-;P6mW%<+MfED4TlXVMrm$y~>NvFVF2VGac%M{N>Zk1G6J0UgqwjN0Om~|K zdvf&4eqa6vU~2zQtbKKU&TeJ@neHMqz;r8%M}lQ7xqyo;zmCqNlD7Nh%@0KGzq-x0 zJm8Zdd*!Dm8d zEhBSZq}d6{wYr3Zt3u8`hJJ*5Z+Gin$(WU#qJ>E__hACNG1SIuOFiFwPvdliA=R;QN6D; z{hmcORpx24sLesoH-@WVZIb;u0ncD0YwW-dw@ak#))t!{L-y?V`tT18}TZ=OA=hcW)Ak$PWSQdf;%PwFZ{*9WPmt)y=AWlefpN!{jK z52OaIi)tX#^rfJ6-wCwN?h(PZQtKC7+tE5s4zbMH(t7V?S~q7&pmp{Xw$M7X-#x7} z_A;%Xg}_fnr7rLvn@nRjchcTdSnD%)m-d}*%D=#ejsIxkrjaeB6q;=3fqXafYFd5j9dkPC zQ@8&jw+(`3_Btt=3^q@kboYJWOHuZNBeZ3pW~|VsdJ70*!Q37uGmMXs$!U|*4hnmv zdnK=f>dJn=ZdKO~J@j|qgX(Ufx_{yb6G^OVnEm123}%JQO^e}+GlF52WT}Ct=1$cn zg^KO$;UR5t1wTMIj}uyYzUw9ug)g>ABio`nK9aZ|mxO)Z9Xz!k%bEit%%wHCpRLpP z!&}dT*I0!QPSsf=ztu=`uI8HCA;DYC>(4Kx>X9dU#63!kBr$1@CY=o(&r5gvO zBkh50ZpHJ&&@+WTIp(?JppV6;hGs_QY|VSe9D$(Ic&Zg22y{ zmF%jQi)OQTlVe%j`}vY;2P7Ko9*MLG!B3EkzU;{(8!Yt+$sR=jSYufi7-H|7uN(+b zJFrJ5k(Y&KS58JK|8$z~W~~ag1E|!o3hIi%W*dBQ4@$}KL-5pK*W~`0>>M6nYvp`f z2lJCK7%JJ72lM2-nFezsVAP~GsoKqO6s~Ms(90EvC8O%$ZDeJm1!<(C)JQt0J@-&lq^z}#DE)>6NJ~L6yt1-Xr*Q-q0PcBerKRwb@YwBr~ zCCKYR1V*iuvk{q-(N}trWMHjX^5EluBWSU;oaV^jr~d3G4Z4;%!9C#jT=6po4Np<< zA{k8qGrpRNN|#GcP$4-u=&)xwAW^PphLe4j974=8ReG+}CcCm-%4^{eu);zCG#(XS>!_reu=H4=NbhM0Y2pw_Fmm;5t) zAFNB)>hbQuUaw5N+ONqD=ouUcc|J)pkx*SJ$L3QUbnMR6rn&6?27M}05|kOAbGy)E_X30v4Ks93K1f{1eeIp2 zsoSXR0v>@Ip4t$~Mr7k4Pn&@8r)#{rO~5!?Ib0o`(gnxnXeDeKl3;?u7Z0X~a{fHZ z0pzI^`cnl#md#hQt(*gS>IlFdU+`OBda^6QV}X&aEFyd@TFL~X>Z|PS_Co{OVBdE3 zk!C>~0I7Ka_~atAiDvx=)|=-2)e~7sX)WNj@{H@Ogt5tEBCrWch^@R=)x0qM7YY9^ zqT2Kd4r3()IJmZ?{>!z6CLq_A-X<}cyS5~=qSHB-?@{G>{oHl$^ci&*1qwe15| zm3pwj%Y6=TS?=V{N={ehv7GNVqabLKJ_hnJWeEE{F7pJB^dE`oRA(uynV8+m8NN|P)>xdCHVsw z3{Y@Cea$vC@``=@;`KD#jiU9a;Suib%Ps_E#M6a-Z(l}<^;*R=I|xQ2<5}Yn{cO2X z_0XehJ??AJ1q#>{DBabLdz8wPB{}!ltRAN3D{1rW)G_RBH--l^ z4Fwh_uN1MxsaxRx7rArrj9UwoAGCm_n;4 zr&GpoPrEMmw1b4L2H9d$y12XDGIoc;%J{$r7^-Wukj84!y2UwL9=w@(7Iz#LYfHflLJSK2_sfDcly}^NZv% zg&cy;KVvr>bkngLirH>hV$LEIuH}zxw|WIH|RRVuv^j( z$Gpau>+&Qw4%$D!D?*_K0ntQ}gnBdxF1=%Bq^pF01xI7!`_ zjv$;m396qZlU3%Qsw^;`pUFu5sIp-uB`?B`Ju=*9M@PCZ=>xUF{V;Xwwar0VC&=(Z zIlV{5e+Qh}tM-HL%U`9bXk(({Ua+2hH!I7TXHy50>sw#e5r*^KE`O3?q}>&d>sq-w z45lS3chnDNX)tq5jAZYZjsm04g8n4K2;N~TIyTkK3o-TSYpGlrQ`e;}UfwH~*8wl5 zcF|U!xnEs$&}XK0v9=xKy-!`NZNqqXwBy}v5p2&i2sU*T+uDud<8uXzHlui~9i6cM zX$p>7nmpyzCgbP}OWIKC!Zs?=<~l>r{_9B!^mT&6tmMc0+VI>ng6m`d4dq@HI%sDn zx79L9Uz>%N*|v-Sm{k{TQJhlevq15u+DX)_<$QjsjYPd|I_5Ju)A5!b_q389!%?;$ zE~j#}G2FjB3&Y)+u`4b?MweMOXEsu~acuYv9}z7$6$8V62VDgCQ@>=w*H$pstFHu5xZ47*q0M~58;8(-9z}k zLU+1o&T`=^1w^VuZnmt9a%!-jSTVOd1uL{LRYsj(y(lBBQT(BIW2ud+(%8z)b zy)Zw#mC@}&=ga^~Z>@wRn`e3AeqI5s1 zD3%-tO}6YOiN~EBT}zj*rK)KRScN8Jsru7Y6)w?fs?Z(N)bSGXR5ce&fm;=eqY})) zws6>g@*5GpRWc+=TO1MBqgZZ$&e>Kh(ZYP*0ord4qx-zWs1DA`HKeww#o@#XR^bfu z?jqwB)R;O+9?;5cmayVZnoS8%Lpr?%Xr5#q`Q{S7eKv@*(dq@x4s$jp_TG(oslb5o ztiBItvHK{@UT@20_?w;1v)47jsEpTZpn z?m=Iq16`M}bY%}QuYdznuq=@-fZIxp5O10yIuMsI3Ny%Jx)eYp|66H{q8RaY}qGYprg;-+=z=NjJKJ!@n)26}m}Le%Qldq2ORa6#+qvLVp08BlGS zey7=VuW!0HoRk4vOf1e0-(ND8)eO8;kP#KF5%r%eHke7Yg^I~6pLYJlkbA4MCv21N zH1C4#>2z)bS;6-5c{fq-hn-Mw&-AGG-@&Sp z`&pzrsMIBYvYR<^*{F%HCckIJi+0$4+u89VJ4Qgp@FXVKT#^U0wWS?5*jAZ#>P_v% z;?Bee9>rRPmW(ECzlk)7MDjdj9!-unHwW=_+F=lT(`g4`3D$ydDBQry8a9SFd-rfC z1Qmt^;3=C*u_l*ZNKi;w?|G0wh2WH>oQ#58Ff~f;@+anqY3)*uV#Q>&e0SA_M7m;I zCADsnQMvp{(t>J2jab9Ufj8hzvW3oh9wD0@RI0Pw6}LOTlHw(3wJH<$ttB7*>p3^U z!ZxDv)!1@g+F$*fT$nU?hv#5Tv2F^OEktDM&zAkb9IP*Zuw^phbR)!`rxI`{=B*WD zpo*z`9R^E>Da6_R6xP=A0XbAlh3c{i)*`#R&V8Z>xEZ<>fajV3JUR%#kz4>?p+LG| zbu=mtAH!`lMk*^a7^z{vO*>a|wXswz*sF~dch^@~&{oZnd`@xtqt*QgU;NG$xR3C_ zr0A>&ep_6;ziYL18$M0eZCmc?Zz>Xylzs!P~kWU%iKu(vanyz=2eKfTBv zDNAf)@=b|-CbZ(#r<0TqOHM-D;A9w6K6b-+rF}dVv=6@LB$Jb3SL%n=8k?+!^?Nn! zOwm2MS~$s$=_#tK8@GS>VGQnYBXX1yvOp`iq$}dDk*whSlcFSfPy24BVNa>2U+YG- z`<_lku#-2FtZwjUl?H<}|EKxN&6GOVi*&r5KzHdj_!z$J2P6Dh3nQEbPE&PpKUmRI zUaxp+GB29di+AtGizn-VO=6l^lmCTww@pT&pviZ`L_bpN+c6LP->hUX=Ep4aEyYG}YAlYoOC z<&D8^gvX&pcw-AOBNxPM)yoR!M$BH?bXu-X#=_&dT9XofH9@s22Y7BQ%mTOjiQvtC z%!>LUB{of#kmr~_n2aW)&g@E65C6GR@%8l8GC9s!l$YMfKHi#>>k~x^<@cwH$X+ya zTZ(lw5=E%Da9l1Yvqcs{#~KlnWEBkZFvJu{yAwFB^?Egh4b#3 zt}VXf+ENKyQ&55lM>DUWSf-42pG;LyUR9u757wf#QMw>1$O8D>A}wxa(c+`u@*W+x_o$?%J*yHISOhMT@fc z8h~9tUSXRniy_rY-A8|@C*~2FRrt$(t#jY>XxWCDw*z%qvrB%=esf5k*~0-8^P1N` zoo98SOO)ncCx@>O>-}KemwY_$-?e1K&Yp>~-)P^qk=SWkE8eY4Ak4gUat(geSWdGe z=WW`0`+~aOTXJRsr8L_vdMR9{JRoy@>Y{Cmttw`hpm^*+O&{aAUSZl3J~P^_jO$Sf zT=Cn>{;6zmY}QKIql#vAqEeveoVmzc_`+JoG&b*#_)}R^uXwLY?4Gy{rNtDkB!;j4<;np#On3j%l&NK%Vx9o z-?9nw7T!H+?N6{MC+;sFUn7n&%F1#es<+_riRR>4tEd8^+{74g&;ZEqOqWAMNk7+Q9}((}X?%~H1@Cj^*G!p_KDc{zcO z3H}h3$3($fyQrwxqRp5@^{rxyVW&mAJ$6bE%WdeXC}B^V`SAF$!bs@N=o!u+2X3J( ztEQEwjfm06qrp2DX73@DT-d5Z0?nrettmB#(9hUPk)Ypcq%qXu>IwWIoz_w<_bE%am*G*A4NT;3WY3NEU9#oTxd$*I$?))zah zmdvE7yu>q-$5iV>C%=>3;jRuTBG>ekn91vCEdi8_PE)-&i7i(VTz-f%G5pF^!nJsw z)*&kuN$aYsjYcAZA;)~$b>3B!!$KyzF!x_P<_;E^`)l+NFgK{@7KAm-Riz#m3*h>v zzL8j=PMZ}9mNh8yYQ(}OaE=wu9$u&{_iRIUnA!s7>c%wg2|%p~pXjGfMPE=yNF)5w znn9^@zNHc1&%FyWrwG0i4T(Kq9OsmA_h! zY=thet$zCn<5flBhX#Td*fgTev>2nvSS4d7qvMGBp2tt`Zf&+H!6lhRmIB&cG;*`_%)LG@SC zS4qfd*)JhUOJjcVJICm$RMFacX2n@K{ZU199lo8d?U{}8griUTy4HVxlqU*|G#DTj zJ=0(Xb;3j*T=U$L3Koz5!`8_CzSiF}OnnSykJUWJ+hJIeaLoNg$rO*?A*|k@##%G1 z&Z__#{GNci-Uv>du9x1P`?aFFwZ@yMg>I__?Xa@*bW<0ZNc2Nd68&j9DoQZXPi->Q zt3dK6lKe>_`MFuSn3n)-Uk_xSlH0+(LiSr1UiPQs*#pv63fT`)-!{)8FYGjj^%Hf} zJo&)O1F`cW9SwAthm4@5rS*%Pedvg)Wes@V>OF@R$becI4@dvJ`(Odjq@4ax!u?2o zFvxm8t4mQwZC~wod$buQcHixBdw%gylzo3bv(T(*PqokI9y0V?j-s`~#tUpDwiuEG zs1cFhE*8WXiLeF*FTaRddHFRa>7zz~Oqe>&x_Ipr2;I}Fn!XM=sjU>_b%_xK)rkE? z0UWpSeWdHJUo6kJul8g#;Wq2`kB{(N(M}B3Xo$_~&=JzX-tYI$($AZv0gNQ;?C*Lb zuJhH$o7^*c=so4GDYd41Pf5Dw2pcFd!NJ}THK}Tsa2akW-XT^kog!8?2t2TQPLzz= zy6ybdL-KR2I})C+b^M;b4>i9(qwfd!?~(hBzP$=slGw|c8TlnSoNayh111Ia0zA<7 z*!iI7;lVFy!BMYqz(sSp#kzWF}PG)c^1=VgV~yDp69_4Wp>d{^&(Yx|&V zH$(R>)xj`ybFFIVqmduD{@T#zR-%~GCIlL|?PhOepwsh-g&zC$fT|!3q7tC zm@hk#>O%gzBw>ctJhNkMZJqTc1-={_rs`$4(SgcEn3U+6!V4y^&;11F`wK7V`|H)N zhW=EWsCGuWo#ckraJtNZFV&d#KGMQk=DlS&>^;gJU929I$}9R7FF@xpWjmg48;L<- zyJ7DU+l*B{srnkgFp^AIvsH<5`XhHM+xHOhk-LQ*zZuni6>GIty`9o^U4z`xIY+vi9ExQF0ZTx6y%dU@Z+L8vGC=Ix!Ejhpv zUn9v|_2&W)F>MsIL+At}fiAnh4t%uv!T^O7%)TLrUCRX!JG)qM1AO_!6U1O{eu@WI zGWJJk^I>L5$@H&?sNeA<7Xf+p4o2*mfkuR^;7=a6l-wcDF4iw_V3ynmB47faK3u$F zfokD*gMei3n*P=b4R#@R)0m`N)A3pxlX2Tk<2?-;YvL{Iz{E$z`GJv?e1S?*IrgIz zH%ltCh(YwwlMp&CnVijIF6^vOa5Vfhn2AqKye5B^SH2t z;pOPLoV0~1OIgU%^8H_4O0aw;EtXZQuae%i14~K@q6Ldpg3dkoEezW2{4s-;x6F~N zC6*ZwW#3!G4W^HdIJJ4A<{Nj?d=q~rHJ7Kb-2CKx$aRx;Y|TcsAvv#sydE`hDUvSG z0Y$*-Js#``Jw2ej;k`e0kpQZJMCd7JS#kE_i>ATB*U?6@%XtW@&%S;{^=!e~gzE`v znqMwO0FW~Q$!OO)YhdC*r=SlqA}@8+(yYBA|1yM;Yk3se9|D6hv3db&1kVzm{k%>k zn@1-)14a&s6tMviyFocpfhQHi6s@sg&1VgGYHR8YILy$3@eiknU@4Q?^@n>0CUmya zT#pjFKdX1ecHkcgb7)0((z>7Tjr$GX-!967cp#}d$-d4&NQPmPp8WlQ1Fr3#F%W6?)>w&itfBUuKTEl6!B(hp8(_h_oxS>rCg z`1Rr~fL70&8l5cXX|#I?!kwawthnAQo}-;cG~<`pZQsh4`F~mnR@GClEeqeMR#NNr zTjKSwJB5F@`zP&ZJ8=}MtQ&SNpxlqZ1OoSE-#S8145De{SApkA@k~^T>r@H46A}z( zePDOX&>dm&QgoO+l0~VK7~$Z&&Ef=xpHMq2V!QKF-k?o`no+G!Sz_2<*{$<59|cx9 z_A^rwGwxTtb`VLcf8+vWHCmPQ|X^xt#}GM1jk)!1@}BE+PFOi za(toTA8)g5;&81T|G0qMr{bSsAHNO2OHJtM3hyD*0M1z{c-|;e5N{3$qa_^x12XE1wuQ9T9>ascs8i^2u-v*{D`cIz~)Qf4Tb0Ml(PHTPbRC5G6;3U3%8RU<&G>eBT$RJ z42#c&NyU2Q`;|~PX3RqRWWfj`kwE$*JOQ3x62ol=zS2mj!Tz(J~71VP72n1&=p_1JVjr+G9@11t! zF!~vSo>6u=#42$48HP6iXs}rqj&P`=n;uasXTFF25ZzYl^!~P2H*pl4^0o6 z4sFR{ow@DtjC~qZZf9p-kug#4<#5-QiX!9=4qyb^F7L|5GJipsiS*7uW$WMix*N1kbF50G|1H4H~M-uAFaSnc)0Fofeq~#h2{&_7Ky7 zPwuH-;f<8cpJwzOAYNh1=*9`Qq0G=+hakJyYc$kBlIR{u{yt1W-;RlDu4W?grR%Yf zT`n*Xxfn?8p<8haii$`30bF5LUNC98=A32c52tL|)5ZRy-C+DoTwiDjN8OEX)jzOR7T@4~9$PVlg$K|Pti;hxS76`)H-{Xb`^CbOwS*DQ{5;`CJ9emj$v z7}n|?Urif&8Oz{ z`yN@+OQM-xj;kip!WYYRFbS#rG zM$dj7&GN#%DgRH3Jpr4t(zLSK{1<`~%*=p#Ex7AUnLQ#&e(?ih?9#tf!b&enGdX7;t3fGZx zYo@G#1bNJlwIA6IK$h<#Y%C+fsb6($?4KF-pgGsk@@2nJaLj)IqhJT6K3bkxOoCGm@JMmnw5~zpkavG$_-Ev0kb5o~b`)jn^ye#&*U&Pp5`8X|JZXBG#?lB33sGJxyL>>sue| z_O0E3#|OboLlXt&L9n*qxot-9m<$>;)y%lvN^g9ZVu%B>0uv#FB8T9Zeb2qSUSgtc zUQ-u7ahTC4d1NG}oW$d}M3(Xq`mAYf}1XsfeKGpK=&6aO1w>-^@ zkEOZ$*tUmiOpubhYc*>0^$TfAq%(1wR`T`TXkPgkWT!8cBl-9iAtXzVHss%Z9T{X_ zvR@v=Tct6UY#!A;^jH|u7*3An(qnu|tTYxwJG}u%gJ|nh8j*Pgj*kkT1<@v8$cXSy zabY2-?1lN7v-e*Bl%Q281VZRLbbRQP|zDOwu~geU-|v=>spWpn^Sk@q@+r0K-=Fn- zMlE~yr{!iX$HM(tm7QvN=>D|)wMNVS(%ECe8Xeg>xIZn|spY&D2;JEo-hNaq=d`qJ zp|amAxSZ#3xpD`yJKQ4c1&^!cEKZtqG8*!HEjSL#LXax}<+GhrGCqeCfPfhXcb%LC zCy9kBn?+m^9SPZ=eGFC9-prTrS|0uNp<$ZG*-i7S(=jgP_|A2cj`eFY)z0kaT{;l^ zko<5!Bj|Ticd=l{om+1EDj+@FJ*5vKLSiBx?ylv|CuuU@edI^5g1~-0Qf}E?3vG=Rp-<4FadAlHU%dADs!N9|WfD8g87a;Rn>PqlCL%1<&T?)%grCi@Jj7xBr8N zSxdvumEkgKVo^9FeNi| zNR8jw9_f7_zsD;y3kq=S!)ndbADgr+*1;6Qel1x!zK(updbsORc1Tp+7xWQ8_&|9+ z#~KL#w~J4wFZ0V{6rZ(1&QBR`(D=QJEoTP6YM0T6k|gCgHGt>S4Y<&80zJd@qkpyJ zZ)@@2j*VVYOU9x%ET?ABj#E1f1PJjAHMO#*DjH$l+v)`~!oTeBSwQ^|hK+p@nj4h0Cf4+*(JPp5()REi6ZMCu&-PEBVNc7` z=B!4z7j1&+t#d$krG3a-CRc~BUkpt`P%p~f(d#RNhk!u}o||ASwXV(B_~ep9yzr47 z>O(_UAEX4Rj{dPHVxq^DOZD2L(vupMvFLyJF^;lzNmr_2lUyPrk(p$#pI7w+>ivNW zmy=BdiYD-w{Hi~{vKw@qWbY#7L?FXNBP+niT}U7~D$Sr7J{Hz-+v@QeFM%fHe}_;q zK6*SMXvYc5IO6*jrDD1%rH-4R38UBem$nR*Q5oS_UOMbic<=a=d(SX~PAhr)G3*1=_S`KTs?Zq0kWhv)Zs zD|4dPJ(pTcX?-jgh5PO!-~G_vUI1j*+4tq)hMV^{cT_b}-{x#vl%40E(^d9Si)X@^g}Cq?)iS z(nQ%aq+e%nS+B^mMH@z-%?-f?!v)I(AbfaW-z@f^D{)2xQgiLrC@=+eOyG0}c*OGM zLWJq&QrC232@tX6 zs`VOv@DlR`)%qm1ILb9BV4l3?Kw(rm2#N7!U$A|1wochMFuZw92;}KPayF^{u5Y3k zpqhNS)a3tJi%^cNxji(zL<)&oe6iGGJy}}3By4oog@1{JS{`=8$7OD0JA^~AqlIp8 z86mLfFpCE&QA*+8>S6qUhIT`p+D$X5znk@>I6T%w287u5>^}+oWCHrmwmFvi-JkCtBCB)l6>=;LtWJT=}5j)m|I98 z0uZ8VpF$)COHhV$JtQX4N_+niS&(fv+hOGf(sBy-c2jAL(JCVkTGlgQvQ9O5e$B;#Bd~?yD1lHzY7BdZ@Q3t zs{Ckxu?+BWpufqocD!at*>Q!6~ zn3&dKRr&s`N><@4uxO8A(fPAzp`x6}CvPsPz}`|opJ6q!?@%aPrjInSY#X1pE-wD7 zNl~5zsIquoL6m{vu~tR^u)R{cf-R0>Q{AGsdr_OjUq*XjxK1cbM)l8hg&8*T920q) zE&JL*m>k*9UN#wVZM@m%W~>#|JzJ$R;PJ`Qwt!@Ll@|?~6|j8TSF}aC%u)<;q^7c~ zyQ$dRQ4CI_di=d91yl4Xz#w#Z6nn@v2FdIEy(9TDqGcZmU$hB`b;EKJyQK{TS^*K&s#%lJ$L!QjCON z+`CHdA^)_f>i@{blr+46QM$!{P2Posh}cld?sdLY*q3JRo+R=7gH8479RSqgH`)|;? zc*wsth%jIt0dq5-6lnK&>^5z9z+P(`#PGQQbGMm$2KJ^a!}D>TB&u!tVk6FO79Fs7 z*|*51^&ENncdhxQs$>W(w!ZeR$A9`@`*%qMXtYXp7pLRog32hk=HFBc`wbWjQ)k8W zNOoV%CSaI@VDQV9Z*SuX#B{c1IH%PP5NS8cwT#>#B7xhYz1wRP>VNKeN?1vzp$9x0 zWsfQB8)E#On*5WmdSy*0c-2jlN7V%WrMGn1+9b5DZ{ww_W>fQ#dnXII;6->TPK;9skq z&)3!AI(eZe^OOVs2F4pWZ708Vs43pWSg*kb)e1#u-4f`xxw&eWjyWhyR8QLEG1}rM zucuBkS#R!{`?rUxI9|bC^^f^?DZHH!efWz?F;|{slhoKl&T7i31i$2gn*%rr?Vngm1#qvsJ@t z=PvWfm)xgLfjukxJho@0*H%j!rn#rWIsU7KTsM*l< z$4KXQA_kROkT8@4sih%ESi`Lgihd-8?Q0^65$61A%AS&(^<*Cdqa9@cLd5f(F$ANx zEo=iHli2o?3O&i>)AWFbSx?!!6nIA!T{nkM(ccq`xlkh96N?#j>_KT@$BP+2$)`XW zQ$s@G3D8Ad@@EjHQav{C+s@;^f%-b^rVqn^B|X7uf^tExtc8^*FMEWQ1^&f@Ef`kf zLeiXKm<%=K+RDzCGZe=IE?)5$Zt-6U7cS-n@rBD9@kKS>dofDV#Wvznud;b1>i$)s zdyE|s&aSfDIyV9|9P|fUL0C%@CCqEtBDzmqX*-QbNw8S9)QCTghZPe>5hN{|B{l*p zWskgqrRP^X=1QEE2H1H)5v>u+r^T$LXD-UVc~HX!IgTO&ON?Fz@<(Tk<7(!Dhg>qwA3Kjga_;ue z=5o!;xh=)_s0%v&!l86Z9TuN>@qfFIEHQ%F6x*F-lg|dNPu1~2lhNAaX9=xQE+(V( zNR*6*rJzzTd%c+|&fTjQiYu`iMuXZZP+sE{n9hVmT~Q;hWDR>}R?6t5v!58vbNo<&FN@ z5Y<14!y!a_YbtQj7<9X?0Zh6afVC@~MGqqK8l3la&JdX+rwz&Nkdla_k7Yy2V4wMu z<#JAK-FZ&?CDP?bN0Ix&WoHlds1kr~sKq$dRkcx~W%N~N`y71PLv@%pA3cNCiC9vf zvOf4YeaNa`#I?RQ{WD14zb05GsUUa#`I%FW;Mr(=Zht&5FpvzSm58qCe87F5yFI;g z=FEvHe=3l2ud!^X_b@&mr)zfmK5$YOa?8zeik-*8Bw7C>4)>5sbO2_gGztQK2{Iw&P30J>*wXh%>;YL z0})pA#oCDR&0DY=RmBYT z>fWSe`;_6|^HRZ|qi@7fkM3sN`|$7U;jSjRa2C(nF{F`gAa$!i@>}Xae;?2{!yXT+_cil=IZ!vR<&e9dE2ojc*1{0PPh=Gu>s0WF{Q0+z(XJKPL*x5 zkQ(1>Fwx0!31rHyGvQ3lebb@J#-b_9Xe`-|fogS>!J8DX$0pJ1`RMY|z#;4h+Y^N-3bk=u>u?=C-obeIq* zZia!)&g+iLY@%LsywEcFr0Cad;yAFgEvm_J1yS27NtZGY5%M zvxO_$+m9)jdx^Zm2QQHdcRWw83|g0;UXnepqRVEcG*Pu|@MoZ^?BU$&TA2ItlTX6z zsB<`KTCRR&Tdv*#87B6k*tBz|b$I^UI@()F7a+qGWn@rJvn?I?zY@RE+jF2p7OW_N z$wm4EJ+kMlRK9(a{jNRd$PE2CPky=B%{u|_AW1(zQrv=#l|In!D|_bQqfW-%j=R9_ z;C=dbPl*~{k&~P7%dk&)W(5iZGbmEJXMVJB#oMczuc@t$0}H;JXb?Fo1+54Dt7 zqN;}Tr+7X*U(#*5XQ@aKc60LVvBASM=&=V^P^e`HuDIa~mK&p>%H2&kEtJNoz)_f` z$G*TNJmxHux1phz7wfL#w_VM4_vYqoXI|{0fU=Y*veufVW%Dyz@}OsFhp94Q%nOGR z(`+!g7Hwz%yBQ;YH#FE*dP9D0TAMdeOm21!w2`<LC(1-KlpjoDd4aRXoJMaK$#Y#G&Y57qLzji8;iX3mX|sR z8(s99mWEc_+VAypaS}PUj)^*ip8pGzlXR(CUshPvo|DH%-dB2D$%=Y>hbS`w)}5+$V;R`y*clfyCkQ7Hc)h@~{J!3+;4hrW z-L#T`;r;%=2M(?C-?}5@onLAa@+9Hrr?ZdZpB=&wZJ+;n=jRnyr#kH~4+9#km-eVw zT-dyo;*rb`+~>A0sKu41oZb95U7AErJx0({sa&@$=8D#4)nZ63W?Uwt#-_{=hf7HG6XTiI0S+pg!N-Hsi9|0xvu6iObmpVJb37B}&;!IW^&4%HxY>^m za?@{3iL+2hMBp&+nF=h9CO^IM{q%lfR{H4Ao*;oi1R7J=TUTf(`dE;C({wjt6sq|B z3dNuCZ`eqLkb`s&deb+Uo!ucbNh+|5iEMMd4tvrna=(DJxUSBf+Vbo@`cyFZ7mK-A z!z1sl&thp+{rf0ESvxx1tq+HyM>fxGiEX0b)!yn`RC@Bk)+e#M8vxK|?fOq&WZcJ# zJaM2!g%=~+YNt;~e>F&1sd2Qe_cti&WNAD?j6uj7EAo_qPN7%L-PW8!X78D0{fUG;nWu zOGW0A2B0wrysTY|!goIWU}QYoIe(@HDRsr32R-;Q;35&(mvan%jFio!4>SeoUVyiN zs~+ttxMU5!7B%xb*l=T|*`~wIB?}cSp^?_l_6Kksjsm93#2vmqZDkB-D_)+Q`2XRXf*yuTB+$lD~BR#+AeCEb{w18 zL?oG>?J@;Ab`MAX0FZ59Rfw$Nlqf=L1!pnZcD3vmX_1D4R`w^2uus%DtfIe170X^S zYw5*y{ld?79FbeJ5(Pw2vv)~-1NZ+!SfnikACxhF^z!Ue%6}r~@VeSet52aPw{SeW zey**nsYr$d%R)Uffdu%#lZ>n=nQA_S8IUiq%PZ!FtTPd0Y?v_BCxhE&pHM9O?m@;h z%eJ>EF>&@wwp20qE!%PYt~?mjF}uFIG3=OM{oFuODJtsq*e0L7J$ca<>bBGAf%0-5 zUe{Zcl?l+VTcTSF>WB~6ZymIDSO?eg)qQ5)HZYzlF{u^5mI&ey3YCiqH^_;5JI|rI zzfCMm|8fzl0B=*W+VMy2r7P|CAs+AwXPayc`zW-ov8?IIj~S9Co4ScaXBJIl_|f@x zlhyfK)zj2#(xZ|W$VOYIk>6^+UfaWoLXj!HL^@7LZs8}@E?%og^wLxZDQV>wW;zpj zB-zIXFaNex<|-1LCg>#`7iFzrwQ|b&Zu3!9{ir6aQ@VDQ6*!;6Gi!*A&<}V0tsGW1 zOF{wS`4MKgPDPiCCw06%KTO<@RAYqi!G@v?kRO!-CBh+&t{amE**CUO2f%rN;e3n< zZ18Q54Q+Ri>JcLixU<{t>?+;aWp{Qo@90h2u>E#uP;2a0-dN0Dn>;7<6C<+;vYGqZ zdr+)65DZcfnn6$`Bb+v*r?i3;2g+E+J1T@(^y}JG7nDKcS03jtTSSnLTx_zhcd-My=G*$-Z%MNo;VRZ8R6y_U zR=S}0KKE|5HXBow-{ks(!9qsBZtiTTpe)eZL`!SzPdpk#@q9w4b_#7pVO$B4?8~P0DE4#PJG1R$kux$=n z6vJo8Jt$^czDoA~1Bf}QewzO9oS1FcrhfgOB)`M{WzQ22Hr6#Ul(Q~TbI!YNjq8Wd zEAbqIisxQ8#dVHYV|C-YWC#3GOaA8Nj??uySRJqyc%buFA&~!}9lL%9NKJVH_3|Ir%GDo3t3Xu)y2!<+Y zo)#j{(otK*-~cVJsK2gdwfUm(OfQgP#?|2Rh8zJLk)Zb-s0V8qH=v*l=Z$}8p+4Q6 z+J(}SeQCZgkSK=fPK$qf8^1t}gtyxsoq1PC9%Ea5YI z4zkuF(o3IdXy%m2euOO#V;k@b&`ZoZ>}Hr-o6A68R?1|Tro>Kv@PKEPDk!F#GHNVI z>)J z?Sh?-B#+x#t%_CRvNnX-$*?tU%?caTRyx~$Be$F@CaCm z09Y;IfBnE(T#o>@0&=5d?;1#fH3=Iu<0ihPMz1bCvMw-0tsSU4_Jn>@<^Lg0EaCVW z5<-~9TTbUIpKq=Y0mOmR=!f$$e24y&%;tcI7_E@ChfT}p4gsML5;tIA!7=X!0)MCGF4W(9 z5Er;c)SBWe|37u_A7$57-Fd!u@2h&R-m4#1Qb{WPzVE4ISJ{#++rkpI6LbWY?Z(*d z;Pi63{fB23f3PI4UYM{LW){;fgMi8)I>n08RD!?-6mfMTl7gs7L6meE1Sw(>6woAP z5J^EQP;?X`2GLWb1CBA1ROjCN?ma*D*}wNb=VYgF?wm?x3VX#yXZZr1sS_7uFh_uL-54UNzu(;f#KflPW-_0 zTNqgK$&Ks+1eT0;Dn&;77V!31XSSzBy9}k+O|(2i;02+u_Hl(dE+(7Z59Q%C)2hq4Q;zn zdd(Krd1L+OlfpT4MK4;9fw4?_F4fTthQ!5@)mJr7`0f@d-6X8B?DmO(;taLzX`@L0 ztalxucL-^w%G*MtH3cMopnW$NxdfW1S~c~LurR)}!QyukNX$8aBjnds&R<7k1()sLW z1d>Z{-5*b=yk&npCK99{7nS=Nah8N+%f>unuVTJM5|{1sn_l4r^u6J|Pt zpaY+aX!r|QO4bj~Eo?=Cc7WW@{#W3pkYFico;Nf^@nN`c5jk-_0muM8&lo<735oRS zoED0W1++M+5}q`Q&jVT=D&{yL370|Y8IXAZly3HuTRvIm@j~cSq}#kds_}uf)h1RX zziD%NvQr3w%5P@MAhr2SG$XUQaxS;ib@~+jgDz@+I3LdPT}i%awjNcP!8Y3I(FAbv z3;SPdzYS?QeuC8zak>Hc8mxW#`_TF)Qi*cdtnAVGlZf0(@{9-$i%M_8!3~5{9m$WS zOB)mhqBrQbHzgl5>jLehA~USWXd-vMSuM^eZCdvUs}I!uV1pVK4UQ<=NGJop=429e zUK>^@jR~Y}nMzPlpYtlpnUUh-;>@SR&Ff`rO$zO63QHR*IpKYi%T7rqYbYpsGWly= zqMkOTH4dq--`|Pv&5ig=uEz4K$?OWct!X>#HPS=O&-plY*6QuCHHm$J9MaZ6CU=t` zDYsDOr{|f?vBLHISS9i_l~6ndQeU~I68%|6RZc4RpiOHHw1*5d4pT#Ypv{tWem-SS zZJRmpJJd%-uaO3UiV9E=E) z3Z3*q+jq@m12BbIxHEvI6QIIkU`xfiST|O5y=;;T?(+oglFqAB-!R*|(`s5^6SIH& zAewj~?Y6OL>|$DHHM0=rv`S?18I`x}_cIPXJ_(s!#jLnb}&RgC=PvtWW9CWjyKz+TxZ%zO|1H>xC6>nM`5fqDju4W zP~3NJPAhKo64>)RA!9z1LsFCL0U~MUS8=wiCzyLUbAp}4a z@UWLMW#1;#4XZ6%6Ot=bAd}#AD!^+Zz-v6f>!eC?GK?#aHK39ZiKsNL34hR{v6BM$ z&%4MC`xfdN)3*@T$%^lV*^$9m8x=RMiqVKS|8OTgu3~#Y2(Z9Pqsul)O}m^n5-cBW z!1$D)P*f9xR9L?Su$DlvMp?63a1)FSy8=y)0Q{DE+0E&JOq>Dw0f|tKixLbWR})em zWgBHNiM_~iiUC=QNPdV$$3${-dz4Zjs`@C9R0%JlhPH^cvdhI9iI#MtraYa_dIf^R zeE?%Br*9%P|Mb8gJ3e>?^qgAbdLc8LmIAADS zgjq%zr9JFc>ZQZYSgIcIOJ%bjC&b$Xit3R}^D|ePjD2=obo1zr>opzC|IzC;1x49m zbo5lf$cc)Vion*aHehXrEmOqon-Yc!ieT}C{mjbH$#vV{RO_vqpW z(6W)^sLh>z_)_?!TIguCpzrJa-J*x!qyX5%(k?HwW)OS@;*q(MF>Md}nh&Pz0S8+J zM=h^g#H+z{!WC!>x%X5TEWmXiR{A}}Cg2wlnI6Z5QLqQPJC0%kLp9H;D8-$E6y%dU z1*5N0;!!fJzf7sECg&(6zRtqx*6N;elY6_omf&W0I0JQy_`{~OB+D9Rv`GR$J3KP4 zl68DI7%f)y(^{T3c2dz$?MS0PyuTJc(%8krVIE$WKkPfwxSoe2JRAr$8F?CuBty?w zBy(dDl7>t;dRA%kHYXE@$=AT=D>iSsvw1_g!hg|Vy~7|AR|_L*V*=Y5N&^@N?HL?E zNvWytUF!P{0s=j{F?6#_ec#Q)1s?9nAJX@mczBtIH|KrFxgujtY<^0m1iDJtJ<0@B zLf6EPrtPNWy(JzmQK-;eipd$d5YW0|BT_%uJlB*-v=yDYxg+^PiKmxSSZ?G!Zy7;2 z@j&Bczs!Xa>7b6dSb#hra+7{IVGMDD%Z>`fvQbt211|~C!Eqe(uabL6!b`{h9$x*F zsBsAG?*@S)W{7f>Opw}S#59-#svK=Ua6ymD1S+YkX2Fx{C?$~1So z^1B)CuFuD_)}BKJz#ruSuL-=h0tHZ_T+kh_OsJfeVy7`lqseM;s@*mgG^A6@mf57c zw3^p$%#s9Fxt=1bRTG^w*H(j_1+BE7y7@lL>UG>vceoqy?PjfNE>Ys+MQH}=(>dBT z<`yQ8*pxkiv*k}N+7sAXUJE)0G#{s8YAVIlREnvo6jM_vjDn4x?LfKv;m%aFCM-Qy zl6o0S1DFQA+PUzV`M^1}gfOuf2@^pS=msbh3N z*%NqiDL$CCNmN2Tnb!oG&0r1EXqXzb;D(7lBqR_EhUeyxqX*g}vIAib*DZ_dYBLUtceHTb zQpR;ls}h=-a zCkxDWkx~bW0wp}x^aFUV>Fw}bIwsX8^VO?<8FqQ4YC~PumiL1Wj`C z^8^Ww6=bi&rqw4knlSg1P{cR5ra zIkusAzha_S@k?-UFR2B_wwt!Pm<-dtKe}p&Fk2R3Dy$(w#b;agF2?z?pSJ}uQX>=o z;=y$T@*F`Hm{9muH72aet->XF7N3Wj33!AYuAPhS$Ve+ zvH+PatuZZ=qSMBLP}49y`l9)HPk|ITKWw)0HO~Z#49FkQ7PiXP!JZeHc{>gih7?Bi0b4sqKe?H9qN?wPaw9YlzR9){1|c- zzc=lF0W(W{8$TUZ!y2;@D`{QYzhX@A4t13|(GYCHB%W}v_O@D_9K4e`QoVazUf2Dx z9ATL}HTSukZf&sJGvKLQ$fmI)J^Ijj=!J9~^It-&qcXiDEj-r9p=@{v`+)7QH&mg6 z4L;F)nxP_A0sX3}L2I1ck{Ss2M{RQMP!qZg(m-=gPe9sY))#6qVL@Y6y&@id@TdTn z#{lIXl5E|?sfxd9+U2V}XN90@5&ay94toEP=^E+!ob`B?f>wdQXlS?)XG7UzoAY^kOz-9mtfJf$o&O0oz~G8;I-M*ky%cjThZZ7x z(wrPNwB~CEpoqLLS+8hXAQad@VcDJL#-xfBV^*q5?AQ~Rcr z^0o{&d`$`qL*LRJ>9lMVj3#B6rzs9j7?Sq7BIHLnUbt+C;)X0Z57)__&42 zrw*Zx#fuv1F?$nrA#gwjW-*VsrQf3X#|wJ@T;>=iG~@%rBmxi^hD42N422Dh4|jL-R-ztj0C;WCM83cTe8eDpEW{e8Eg5m_q=Q0jaD;JZT&ava-`*%GL(IFsuxr8Ggo0QXvacyb}rSS2tbe@2$wl39@o&E3fROuuFeFxTeo(erHz z17V-G`FO`nTU~KxSp}wepu3uajsjxJ3PW6CJ&35qqCCAZl6(xuh}hUj@*bbGCyXS2 z@)3K&Nb)fdlo^35rke?7sZ0oRspKGpF_j{VHWUacMO-g%&1Op)BjdZX@FA`(c&~h( zFs)E}K)0!ObFITz8?p?h>21!Pz!WB93ECA&Xymoah#AWSyvl_RL=EYHY8Nh56`JE2 zgZUWG88eEoU6A**~x|`QmmdN^UmRuP~Dw zj`Q{etjV8T=85n+dw>F0eBzG6B9M|XbwwrY<`idUocGrTSC77?b}#UlT*>Ajb$gx} zm4D8#D0#=u2J?SR`j=8M(GMg^{gE>66Us{LNQMccp>XpDx_5u5hkE}C360NTWDP_I zf~XpZ?(%sYJi8FmAZKGS;(7(f)t1!#S!@oAq6eAjGHXEO>Ug zoD%;sFWH1N1a73WSQnE|*{tjZa(-`>foLDqmXoidafRb!Cq`Ln)S)AKB7d+?io)am zv*2$IkU8tbe4KpQ=s(S8p`TG&7B9lD&HY)Juz@H~JoO*+;i#*~hKbQHc$GIKsbexVlrGo;5DxZ(_%W#DFw2yyF_;bXag}L!1;*!Coq`HyVdB^CZ z&wHSEY_?0@gLXC)Yf|l&a3fP29eIguOXsm|L!cXIO7ZnstR$_<#5S;9CjE-uO|>^} zITZV>?~BHEs4}Aiy`bEd3qp5e6nM#TJ3G=Oil`Osd3v=}XH7^85$WS;NJe^}yf*wj z*CJ1(+MQIm0PV{B*&=mSA?KXGwB~D4@fNAWxT*L8_mWwb18V>iU$;Kt4fB0cY&Wno zY2SgJA=z?vHX-D0^X$xXX8`{(d&v9eW3cCq$=?Gkv(}(XGik}xfHFYj(7dIj+v~~a zv?ULZ1DGygsLHD~Dub2k_`Q~TC5i_m0FzDPld(r5(U4gHdKU$0Niz0@C|}D!m>ZbR zMrL!MBxuot4jUmzO*(dzr(+{_F7uOw{-q)Y{@r5TAF?wYhU-B^l^tD5J0bxX3A0#gOIgm+#s^zW6zm(?gNh2;u*9RKVQq1%@Fhuriebi?AI{?bVKaCR@`kP>Ii&C9& zaqXR6g>2ppShmX0eI*+OU0^7U0>_4F^-zZmNCQ_I5;Y3%Nv3Rb|ECRl)z`I6rvA6( zN7+{Oj39YxqgDn1cfZt$tz$22tFcNb-zzWdx9B6M39L&ib?W&Tos4OoL$VroVHF__fyfogP0C|F9~1wLHw8>)#CoHP z-sndz)U}8&_{$T$_X3r1zp=&J@57kmPHT#OMWVJE%*=0+`t9~>3DZeb7&RhvwJ*eia zGcS48Sxshp$fla?Z4;>eWOmsyIPEOVk-w$nyD57+JO!Uk6a_1WRp}%+ z$*Nb^LNAM}!+qg1ISemkmo3c<`q>X#>;T(_1zSTNP;!-JJlOx**mZ!$0U%19P)2jT z(9`f#P)t5nHL|qbGFBb!MAkNIj&En7~Gip3J3}?1& z9>Quyx(B<1Y{P7&JV0sFWb(e|Qv~5xK2kE*FZAxJT|fEx9D)mBpMq8_T=koa&2P?U zmo3B925mwM(qisnex-c z2QWu&scH?GH7~*hBA9^rfRn4G+AjLy<&z|d0OzPW+YHIj44$?NC|doYA>GMh;rGXJ zmf1c7hg&v{GlGzRlQ+!ypg)!5^ZDtoLMN~YJUWv6iS`Z+G)A4Cu?6a55v=F!ts6N9 z+XGl2q6%)-?Esjcrd0w>6j94c@nPyK*M zJ2k)9T3XKf0yN3n5`zpAd43Cy3r3EB^js&xO9y^OIw38(M{385)!9a!>Cxo3J8J{B zp@30kBXaEz!igp2laFj}bL=3HOIw>_pUQySNCEErln)WChAzn=K(l5F5QMkFiclm0 z+=r!jOW&Mh%Ca}}`riGL-#q@3-~6?g{N{<(-n`N>qOj1k-~*{GBf1tSpIHt{q(i~Y zv#^>Fk>4a?tS$`XiEXwAN&h!FS=gjcJT3VE3{+$ya!EdE^bM{-rV4E+0-JoAl$zwk zuG(tYRteaKBoVglHO!&1T&kW4d(%_Z@$9mN&+M^=r;BRwY%%#7O`!`sWa7=lhqPFJ z>rB43(Q|k&_&hTKQH+Zw?~ca4Zv|s7B9*Z(CZp4otBbg0h+6pyN3Fk=ocuMhdH}wtB`eF9Jc!5M!A4!6BZs z5XZ{auYMu#?#Rr_*7<-YnZCu(vL(>}v0b(RvKO^E+p%@{EI())ZDC)@^mot4*mtPM zZyw{`;n5A*Xf}fgW)yl_4r z;;ApK9HR6l=sKgMGcfNwv`nKF_loYoC0&6usujo?y$pibEvNwkrYhx*}3{ zsB*N?f!I~5#P@b8ez!L|nD!-?`c<>#Jao995IjEfd(X19eOvuz<@M~vBq!(L<(S~^ z?C(EYsBhv`UEm=kVNp*=g0l-eadHz-@ie7$rO8;IdK#^7hz{ESPsRt+axe;8)`9Yr z=1#}H*~z%Ro+oj-i7kP{hjiA=X)|j92rj$E#^mce8UxAS_cH{d{mGAa;!j}B3GXN~ z#JaRTy*YW;PM!@AF;veG!hT75p+UBo6w%0?U?g|}-@BbO<(omLtAF!(2_5cZyZ?ZG z@8%vC`L8wPw0OBf1nn|lUHEZmUHxWTd`8>YumkdD=xqfxI@~1M$DeN3Ag5w}rJRmQ zo25Jx*R>I`y^Eo5ybrH!)+bf#3Y~1Up8>U){J{=xa25|Fzmup6t=*(J&&(f?s#8%V?fPayDg-!$o-fPejj?w|d%NWbal#XBs*5_eCI{=E%nyTcp z4!7|17eJx;b}lb`T=+J}rO0zyk0|e=nEDO9bRg|G6zz{*#e=PcrG=0%m6OWO>~I7X zbcnSs=j7%b^N(>s<3rM`2iT5i6P-~f<%(Sik$nIpBa?kf%o3SgY$cO@d@EGw#EHn* z_SFa6;vYOK$amOoqh33)f$^1*s6RyzmMUCCeX&>M|N zNa`aAhTtC7!|%h<3`IEz!RVvj=MM7ZpE+0lU^4q01)V!x0&>)cCmW7$Hu{mEM5>QTB5VIWUwhD?I51%Y-YKiO$KUa%g+9hdHckZZ6^m7Q1H8xI^R z{F3oaH->k|!+h$L7X!rY#hf1SHuJ;AGT1jvRG2=nKb{da>RsYnp0XegVd59)XQ6CN*8(Pz!RofGu@zQS`;(nEJQ(Y)jIq`|x;4VYDVhe(9IWpK zD5_uZ7H%!1k_h*7(HYRI<|To3)F!;Xu_pTEhqaa?P+;9lfvuywm|;T2;)&do%}emg z&%n8i!*~IL4`#p(6$AV1_3Sf&=ZGSNd5GVp^st%VMsH0{u|$m?)$#^^vQ`2;$gQ8O z<;Qe`rN;qaZME;Eq5Y7FZ~Es+&sa5JX8e9@4RNxwKH`#}S}-tK6Hs zYzwQvLzyo8>6E8}l2c2an4ChJ&?3OIq*ei2|PcwOM6&Om^@A z;zHtG75<57AeifG`6oR<%j7okuaAEl`L~XLRsIo)u*KfHQ4=RSiM5({#x}1Z)YqRS z38J(^$1`jSAO-qZ)F5%^Y`7a@XB$K_xwqmpY_*1jL=V^J$@@9%38SzKm!h00*Aep_ zj=+2Um6VWv{RX}u&_&XR5mSRbG?K@YN|j|7ni72^L4~E+ z>>%MHckx-&{4e*CRYr)W{s6xzv+k0fo?%gp0z>Yqzhf)HWSTQbH61AY8q}jq)&u*a zhyC3{X_QaVy<9VW%%)yH(DKV(u8aFw?q$EE;TOD$?2GM>V2nVm(1^0#l(O^~Enxl8 zA)<4jlCaKt@D_S-9elG$c_X}((!Gsjlo2je$FLp{ntCe*Cn%_bD6hb3r!SB57~VXD z&E+_l0bT3k8x_;P#B#_84MEon3PHgM%k1V=Bq^Jc-2*Jpz~ydI3@Oq&^hw!U-^Ewu zJq5PofVuJ2p2B(lrL+-s^uRwg4e&p`&bJ`B9jDtB&rmbg z2y39UES>vD!K-kI_vfto&-nuc>V5y`t^ex%Tyw}%~>3O+J63@)%IEIAFR6Ne?6bp+d!)1u=`P=-=v3Ucv=n#PUU{8%h7Nj@SM^$hwsxq3gsIR8VxI?e1 zDW|(t4Ky6vlpv_Y8(=jgKa@y`$yr3duRFEZM2j#ts|V(0iAg-#P3j&+DqbW$Rlms- z?cgUhMxGznwK$CUaDAINxpDI-?U6pZ4HF!@3V7}jSU~%9bK0MLkU{P#ywxvz*E=}v zSAS;&=D4kvS!i%L&*a7G{2}-Bx|dCD2a|ViZxBB~u*+sKEyYGMEWNCxb#9Ubn)=}& z83aAwuR97q)RZBfAixZQ=e&rJQg0%f>3sJl?lR}yMg4BhI}OD+B7)rBve5w!53V5{ zBOO4;GP@jfXZ3usC?U`S0R-fB)Xuf(mH;I|fL4Qz+9KwbL10%C0)qSs2w-4c3j#y& z3qk;v9*&rL;W3MI30M#vvgjr>jG#r7(wj^VWPw4i)SDLd6q4~ot1M>B2xV6oOLSMo zWYg=?8&TE@9AGsfDarIL+Fl8UZ*HmFA2gEjw8?x!;zq|~tcc6$*o1RvV{6O%IA`>} zu-NeWMJ7#HCKdo%ub8k^aba0kceOOl#K1~yb}#Ygzj4Pu!%D!lG6#5Z2$zSSzxspT7GuXI&#>Ow=#jQvlIkjglhweIzEb)i ziN93Fp(?aPi9$JEr9{C*H?lz=$FDQNwG`vf)sh<{`|Vk?wye&R;#kx_F)AsfstAq`4>WGfU-&bi;^Kk`G5JxQ z-Wvej?yFdUTnn%gk-7!Fuw!V<_-XQg@3aSO2LaNlO(Jx>(9iuqeoy)X6@T2HvSTFx z6YXxrs;X$AL|Oa9CGXt91t!gyl5Knm1PMirl5Yf(?IPr@|tnVpVk_H$F;k#GV|FvTV+hcEIHwjv5P=Dfl5wCwW@{ z^qqnDlOIr_I$(XoLC%lEfb(uZ;`!5rJrl3{`PQmXK;kh~#cR`)xwVE1gyR5Xt@~#{ zwD5eNf6Gh?b|$VL=AK0l^?NAKlgfSzvX55GcP7L&t2oSi(f#byD8v#3j z6Dm@v5hw57V2;-w*LAeJy)7;lyIFMyf9dItdx{ZL-s83&Ciu|fu0Pz>O>xWNu4*o< z&IvP2KpO%Xfh^L+r$qaj=$I*p4#u?01Ne)79Axf_qV z_&$6sgUF^I>=LCTrl7WlyZlvnWWPJ{HQKi|Hhd{w$GAIrl`pcPQAu~)R*LbiVF9uj zgpPqBadHl)D~%c!9cL57L-N$gEptpeBAVNdMHVgB3z~Ga3mcRx)vx3G9{y?nO=gkB zNA@#=%i!Evs&6OT8}i9_9SqI}0yZrg|UQr+qe;%D9y_Y}vJu1b$p0kN+@6zuOO`i3Chkr1dKQM?- zOHlnBVMLV;yqA=N5zB25kD}|-dX8W_)#+0xOgt{_^GoUL(!MS4`%CPr^~HK;{jnsK zOtvB)C2QT3ktZncrY{O7Vb%DU`)W*Ma=44=fMJLm{RWfL?j|XcPuRvg8CifoM9;3` zoNx=QH2bkQ$D*MtN$DB)vjuIYUu91OHMB2Q_{e{ZWDxMFEBUVR?@qZSaA4Ng%Kx%e zR74;{T#I*%2*8|m>Dn#zU95DR0X=jb2(kWihM3iQgZGhmhWLi;lYC75CI&qhpKO;~ z6i#moK>AfqTIiN$xt`9kJ9b+olwxQE~Tg$?1E*O$_`ehh7jLGcHo-jJvT;Zerkg{g>u9;gjhgc zL2;Ac{8P|;tP1172tGwA-Q^gs@Y1mk?3M|hiD$YQUQOP=Rq_`t%V0cOG8UlKpN-9) zi0`4BFI2sQ%1nhb2nBVibX zv|En1qqbq(ivyI#4C81ny@3XQRXWRALxZ2x!Lc4UZ5bu9CAH1B7Z<)4jVpLV}&>pvgYOD7^~lnO{t5ba}D+c->W~TfQDi0km=-G(;h7OKTpyd zAp6;MET}!!5154l1x4A01$wEkZZyAIL^uYO7Oyh3;w2YJ;WF;AuTmHfOVeUO(zfO+ zx#>8EiaU#v^Wz5AX@WMQuZN7y9go#2R_-BsEJY~mx*t4(l~q5&GB?QzUG_{vf5AKo zAjpTH$Yv>J3mMj^mbA9>ib_ndODbWDrizFZyfPE{c7o0_qzMLG)8!VWW{MjzvEuP0jjlD-bVLjlZu53!Q9+)!a-qz z0xrT1VV9fxHuZXTY3dp+F_z~Q_VUK9NeFwIaV`+a<3BqBQOn6v&Zo2=8c$9%p9n9G zvu1dxMqFOf5JIkT$N}ZCfW3LQgOhq5m`YrtJO`n-jr~6Qnn2s&(R%EK_hFe@L@w!Diyci}O z$)G>(p|4$wcHfQuS4uZ|@M;qkGx;A5CO;%^)Fypi2D_g=Uz_g`o%tQAmkN%_NlQ1R zhoD3QIQ2(qRa8>O;C!I|aJrU^2<1HS3wo1DXX#DH)S>_6X9*^r`UY|e8UxD&rctJv zj16@||U2>Y5ye_#Oc+rF5riKzsY7>^Xd$6VR)uZd`OryAzfD(aAPr zZ0J+)>fkJRo5V%%Sa?lRa{sJZH+|CBfNiVp?;&ai(Pd$~H_l&_V*n%i(_;QeMWK5a z(K-%^d&vB`AT32VbcpqUo9yw;NppD%Z0*o-=L zw7Y7iO&mv2?5!IqcrC=wzK+%nVKBWmIt;*#NYELD`ZKQtV=$L9oWZnl&lzM8iZhrG zUnsVqPmD9f#*2i249Hy+5_P+)6vmJO@&I@7ao)faBTf#bch;|0d91U3J3m3t#yibA z30+i$L6K+o49`}y?Emge^>NeOt#D{ebs(9|>W>W2S7>!9&$!YNIL1&_(GDWY9p1D* zRz)kIQ&$Y)lD4E&&|lV#X8`YUK1mEcNz8%57=w&^?vy z`jNrsl828e0=DgDb9&I4G|hB^ZLH{wHpMfaBpVf&Px7JQlZ2UQS|sveas+Z1MI_>tiHl~9(*zx1Xk%>X8=1_Fj60_;u<#xw99je2h*@Ls;xoC!q73oJg!W*lIULq zB5hNxDCA}{B;^We4Vboyu}Z6guSZOUyyd8w%y$pv(V#K8#hf5THOyzuyC3=P}n;Zmqw?-~>@Tehi=Vw($9bBT5wf>rUj$3qBzXt%dBvAfvglBVFkwv;c z_C;Q3Q-&f@E$)9s_aVPm_stog0s~3bWpQj%*x2~Oy;q;fMd&;12?Y49`ts-W@~-B~ zCho5F^64+}^7kZwLe-|FU+e8lf5zK0EpJ-@?OJdDp5Dfk&#D%VY1UWm^?y;XKi90f z#+>7pWrEPGZ9Ph6T;SLAde+XXyq#SJC^fPf-D3nz>pqAwQ(?Spm6CWm z$X3C5xoj0P#1M$QA@Ki}BCbtQUP#i8blCC*dVeyo-Vw20MEXE9mP^`5lC~q0w5to+ zTwU#wMhX00ik7|jd?rg-6OLXlq@v4i^s69H8|z(yEQR$-5fk?g+Bk2mqK)g@AU6L8 zYvbc9BwPf1(M3AlHx%R?Va=AFYmNqVJHg=O5`%BQq=|~2yX%DUzZM-jN zZjGlo62|4#+&Ln6u-JQPSVJKpEf@J0vtmSHEn!YU^8tz#4IYg z@BMIM~~<1%FLM-egv#IVC=lrU*`-ZOHN? zDJ-UH!j^TeU)l_=p(~#a+%G1Q+!cA1N$g`bNAw=oeYCr+SRw#{8Py}}j&Fk7gH<}9 zPlCSqAYrPqbxbzMgpdQT#kfkm7A(auuZ5Xyr_2VCwPr?=D8`^+{#-0Z>AbL@1->~X z)@_Nh++=)wM%TP>rS%0iuVH^#xQhP`UcW?Im_og1EkPeE0%#iYVmY&0j%iy|ds3Ir zoU7qVrbe6HQYk4U6UW9(MR4*2@!CweX|E`n!t$Wwf1aU(^?8YnGS6>8n`^aEF6onC zqx9l>7T=`n?wubchZ)uG%ls^-39}%+YFdR?lk`^LpfiBi{CTqsx@mZv=Wd1JF=G>F zIEk|8z3OJ@?9rewbnc`FqbOqD24sqS!0WiVpZFoTG>+r<3`}&?KsXqURJ?(5ywZ$4 z2G!gEdy-Ew(Dt}>1nQz4**lvwbPNg$TkEQ*=vJ~Y;ACn zf$*?IWq4bZU@%V9A@4LXUM4N!ygZ;mOBfQknU*=8<>)u77x0twH#hEO`FVuHa}$O+ z&!*XiYM1R@@9oKyR--NedbyJM(5?a%f%tMI^PvspVw=nW4o-;M07ltukn<+^($J)U z#oSk54OMrE0%Y*fQ901$3sww7!{QJiA*D4DB8CGv)JVgyvEHL#ja+G0HRLI3T4q`_ zY}<0Z#6WV>;=EkBs#J`}O{)XJ)yBQWe>M2voSNm5U3&Bq;!ti3eU-f>*K-V-w&Jh` zx0)8v#NlB8zXFHx#TlU-GZ{!F$tUq#fW6X)di;QW{Km#Eau8F^Bl&C_yo&_PZ9+}*1=zp}+o6!&ow{c5fqa5N zW=PL}p66ysHdsefNI6PG2sW2zbiK?!xRgJ@0}Uo`Wp2$=#iQU`L_-eBo{izd_sAtd0fqA!WWxE z@5C~iF_60y0@=JQ1j4L)!f z&Yb?@g0PER&Ee<@n`61{Go;7fJP8kSH}I}Vyv1-0Jem1l%PJM~sE|Td-++XCEfP|z zZulr80UF8(WeZdzh(5Q?G}KnFu}5U^`>x9W1vF3DIS0unSP0yR_!ThFjSK{uYj z_QR8Xex9!6?#f&J19o2vAmLOTeR4W~pb^J2Y`!MDcTnLl@yx8(*r)EUt3JnxNtu!B zU=ON<$~y@<$Sc8fi|fOM6g#)zI9pSr&kz_#fUr)4;J9~djv5+xkH3dnGY0b#6{Yh; z+&O)mhL$-Jn1`klnE20JuASMdA>S#=bDgw`NJvRGim3n-RXk$ckB4L7%!!WAA@Vde z9?_%}ZhfM&o!cKzKCBfsF;W2kk~uDgtstCbAi-_NfvLMXat;s)yjkqmy@%f{q0Wrl z%s7`y=M(IFJ2t?pby#<-4FE&(n>%lL0>mhCEN9*nqnK#}0@~VIQ)1yW2*`qS_~*~mC?-{n6^N~X?@DM>0*%MOZNQ{Fq zyNiFt%!dRrs$@UsW}x~Ek+=X0)FAmJG)Q+=0Xj*RZ1I+Vd~%wpzM$W1^%inl8>gkL zA7UE1!)_AYU^I~6bcLqyWqGA-3&8ro^cCqV_?h_MePAJ27DQbzsCJP%2vi{#q|@(ttsV_J-*XdXeC)K?Nu`*=HmMcHP9M6 z7!t?qVu+@q|7JJAOBQ0jlI)J(yq&W8qrkVOKrgi;krKQZk0UEt;2?o0sJ7WiKfC&%c}g z0_diyC}%^t5X!|+4#(6<`W&BFH)ord^mswPQqEDzZGTE7%$>vF^O11$ynpFT>qFM{ zt6e1nTFG9DoUH;zG{M16uFXo=qtjZ#&tWY<5q3XJse0J{)nFTIFoJ^)u2>%iicBii z|Fwr+{onW(0VNL~4G$k_efUe^;lFBq_+WU5RIoX;&wnvId{_aPUV)}2GY}NU%_s7$eZq|S;SP5kK`83a4qJ3@PWu^k30KmA?cws`pb%UYXQSC^Rs$V)_sb>J=$u&05aur`Os(&P6QF zcuub@E_vm$UU?Ym(a?U8@GYe_his{3f_1dv)=i;i1|mSnXP2|h%Z2<>BOcSXe3X-+ zoDL-lggu`l3JQr60c8#3aV>Kogq=~H&LFaWXl^jP1!{`#KOv5l``5$d-huZr#x zxgQ?$<~x0EVa7hy>C5enHU1!4ZmuYOk@8YI$_?dWdt-a@p$$4`q6GJ&s5D@!$)C5` zqKXblLgoy|8^CND&Q< zl*L~2~*?cOZyBYgLhatBofxWP(hr4(8hA z4?)8Z_S?X-p-e4&?pj0P6#}mw8B{JE+Ib*{#J0gPO#LdYT>%{yJt`ZBj*RLIElSR0 z1yfC4t6%z$iPmd*uZan zrAGnuNNi$NzTYQgEow%?G}Km~f>BdpeLzXQX3lk#YYpgumIl`EuGNI3I^7VEYehh8 zh&l%8X_de7s{R6yI{KZ>L+n8M>}#7ZUSeuQeO!6P;HjzwiUc_p`vw3Sz_hC1K&D19 z8)V^|EtG>y7)mTtpmPweVd$mjUldf(ol^QTOcjVSa0zQ$z-3dLgG{SQGgDK3uWJ6=m8BAH`(^3eaKup2GbabL@uBfVeDo64J6OE*dd+HzZGK z|KjUfK}WmR#qH=PMi#!CD7MUyo{+d?+^NGRMe7}Gl*#)ytD39D1_#s|g)A0vbZD)E z`@1h00YYaV@RC54Th>NgQ56e z3o_0CB>5_EfB?vF_cH(_i`tg}@`?e{1P4po10er~=*#~<02u&tO+W(JQMRcXh+c&! znc^U{PO%RmMzL3a`r&I7ss8jbmlO#ykfOwVQfR7$3NQwD-sjXHZcjLaRTeGBC@t3qhlouS-LNv?>=^HY?2xgX~} z2+85|0Wd{3OsNzc5FYe3X`LXa59)twQwM9?G4^y|yxiyweJ2>Gd{!Qg+Oaph9dYPn zsen9-5pZ3R{BNK$|Gh;y#5Sr)jkdQ*`4hU2c+yJwr?ftW{usit8AYJ{lf}mRyIGN{ zCbdAbDBl8S=9tlvd?F9y`@Ux**i$%Nc5OPaw@`$+l1Ng9jwz>`7in+P-A| zzisJei54+;Mq&;%D$#JvA6ax)a?f8ey$O$i;pjrsW3QW1-TGkt zV5HN;DP0@smpCH827o?y_=^Zn-et`V1)YL0 z023+vp901L#A%gOWialLp{0Ul;h-_ms$-jaX4MeP;uBJP6b%H%WZU;y5nq2;1yV0eK4MO0 z8#D=sZR8GjQJG=AVLw!0+5?ywMniAbr>kQjpfD`#3>c`WHjSLcP;Tv6XSLSK%dX9_ zBqFCeYROl&GxD9f6Ou9DS9ul&uL8B&;nrZ>5ko9p3Zvkb#vswLgivZD5RTr+(aQKu zKrL+mXMIt4BIBkxpEX@kkU3?%?KE2p2Hb2!8E#5k!N0OwUgp$!AX-6h_{UWB7gMPP zsq_TZHN_lASh?XJe2!h}SV)5F%CHIa9vAG6{a0CiV_cfISC4iEYcH4u6ROqNZZHL; z(=vA^%gVCytRMQz8R;MeLS1L3hXa^p{srUu#U!Lz+L(S4CYl99Kj<#AxUIt%z9xId zI*jReDs(tA0Zsjeb!MHG{W1n((Fd$!suZgMhnc^!>=;?Yx%G{vv(ow|J)Ebo+!cOushiIqT>K0VUgl1GcG(*zvNt^Vu$-DAsRru781Dzu z*g?xH@=uOAX`mIvMKC zLGKwemWD7y`=)crw*iCgOx6QPO@$Q{S@^rfYhN&GJT8n3x~fWPhRUksnoyo5BBM|* zmuIVL#Zt?G`l#`@GVa?I<>Ne`Z$;J*{ux{AbPEHniour zT5{|zY<^lO$c z%B{_N-?g~}FF=7cx6dW1{0XehL46Ls5IJFlH6#A4mDj1KX0OFr$;J$ObDI zkH7_r2Bv^@NGFW9ak}QXniAgxB@OU*?tzv2bt3+xN-O6E=2v%K+ zi!Ftfln3?y>P`iK`AwWai*h-mz}v9i#1Ipejw%KU4VlhHDTa!6)afnEGy3%+Mx%^F zh>r9eoWYb0%9&tXvf!ysFLZ*v8Iz}Z|9bAV)qxOFTOGWD@*L$JX3t>GUpY*@QRyeT z(KIO++hwkr>$mR5S5Kh@Y{^2*#@af#lCAlc7?EQDob5Mr_mMf#BA&Dwkte+osU5Ot zKQ|&D6<@)7q^2IxcGZ)jf_k8a)X%DCy|@lQ70-F7LoV9k?najpsT|SB@7(_k*=^0% zc412lM!n{J?vh8LH>K!=c~JCA$)hZR6BM$fY;3R^ZrO;_1`5twCHwYEY4Z9}m)mVD zzRNq9lKw|mv@y=vEVqAparj63gCN4(OID4xVS4gZM#G`jLfBv4t8 z@&`x+>k%;VtOFrrK@ap`X$od+sD$uLNP*B|hEnNgR3g02Qo>AXUXx+{+q$&4r|_Mc zSp1#>>)^CA(?6!X%)Fly5;5;)h_g-SS=}@L(|$`sDjF~0_kas?d8VY&1fs}9ae!FQ zR}sCbJN1`{xo;rmGI5)HmT)->V=%9&19?_S6oZtZ>e>|hS7Tb8M>$sW%JeEV-|0?# znwl@Ikyoo1A_szCH#dEaUOX82vD^Fr5H&E(8D3?k6d{rP7T#W^6M}n5+RMIOJOu1o zkqp~JH4c7o848`r-zCONEvD_+EJn6M%MxffpCr)O|Au}L0zca5wNtfYlYYuh)|~w#9;~kcubjsW#d7x3Y%$>xw$1w}w81 zL7LKc@TmH%*eF_2TPhPk`d{R3&|%j+WDh_A0*|WS@9NGRLu}f?5FfRK#vt5VsR36* za-}E8C~8K4+xa~rL-tMvnZyYzT$%O?!z>akQ4=SmM)n%tlhVj*sE9Ma4;4%pF5e|8 zV1s&)@fBzyEKJY&M{O{=-+MrO|Irb#)=@$XILUmsKFq>&y0$pAxJh6PO@^QYzzsyn zx6Dh%j0>r4I+so(Y{)vm46ibyNQ_za{cpDM5_nVd0*lToSA%DaCWA(A4vpyALz8nu zsxQn$Gu|AO;t3*#G4gJvbS$=;Qp1)i<54(v?|VBaTn2?DZM4Kf-c5J%H@`ptAo*Rq zsT$=-M{~=8CcMH_j&{^(gjrHHq+VWWh@`A-oB1G3pJ+8d`rNFZVSZ?;=_IopC~DZY zICcyC?(Rzd7HMht=U;QmI+~BGHNX-_Mk5|ox z*R}hB-hPE%Muhh6DLhhdNf-jI7}N3@72#K%E_x96ZRiimeCQGU<2Ti(lKNC;ihJD$ z^ZSb3e=@t5ox}?op#AA{b01=*mBG#382a}YWgQ}5&Ea2OHvHdLRWVKBN_PH6wJBE! z+Ry8Fx?AoU>bOr}>h=2?N`9?R4Nxtw{@1PErBQ>qn-^fU5xz&wc3HD+TFA4qn&Vx1 z9_C;yp97ee!0PocKOakb`r!^`0j~DTd%6^s2;f>}fY^XbVfoEfVX3JD0y96%<_P

b*xAH*(GXdFUg9JlN;+NfhUjX)=pxp*WXJ3}k@Cxo%QT#(glfad9d}y$kcB2QL7= zTXyYA8d|5Es+CmLgT)vA3%ulSx52u0>48!-WNAL)=Jmrjw!z+){O~$=CHz1)Gu2Ms z>PO-0$Nr9Q{$XnaYh|lUmQ+7H=1%A_Y_3nL%vSxeA6}2+d)$A4uF9K_(2LD2z2njA z%+K{~M@sbgFnm5f{6w9t_@v36t$D4KIEU$slQr>C=C9_%5@&)AdD`M2cr0qR*PH5q zSUFDE#3W~U+nwJ(x$Vuxku`(vHvd=vH;H!uy z+%e=aP*lou@}r%)kfng~QnT2rJA)GSBWyjHueykR>Km4LhQAHczFII?Y3^nfqee{- zPGT!2=`=poO^XUFbq*s}>0*4R>@g9d-qHIr;aZ`nX`wkfY%y8b!4(U%Ei8K$kDu6% z!nC4rvgBo^5SVUkm6d2-sl9eci?K9#M9-Q+K@+dh`dHwSsm70JAumIPi7@q`gos0F z4@Tq4gO*dJsBCz-Tj(%@(<$7n!2ZG-(-X~F_nu-og5hD&!JP$n@JPcl^HbQ2)F(NS z*)mAp|IN7O%@ymv1}NB6gpG`pu92pj4-Lz1h8yCn=n=2=v>8FkAx1l5Wo^dJ5{_z?YCivo&~SfyC~OE__jBP}+h z^pa-ME$M^)^xC!HYVwh-$+=DL$zR4Z$WO*k!rfq@u)lyEBNtVaK6t43zo!qrz5bw8 zM~?xf_L{fhrO{E1a0{6yi;NI{nEcjyNq{ZZqes9)StR33(%&h-+|z;rPHN@+OV2S>7LPAIJ^cr`n3mmc%D7ot(BU*u06% z?oC=yC~Q_lq3W@DQ@Uv-HuKwyVDlznbMFdl-Xv`9N-6d>)*3c*c>ptqW&$>ElC3+y z100zB6!<#Qbkm^|IW}(s7dR3W=W;6dDSls{nj##^itSd z&9GVSjpWa^1Z?glW=1?V$7kKg0i$)A3FJ+XqENUUl;{)|$OZdC7|*D3j0Xe(qYv~*^2UHwk$(=dz<I0dxAX6pUm15gj4>6gH+V-<`dBwD+%HW1G%j>&~Z(#G-s4iY}iWS zl}?8(@Ga{ILKem=xg|k7zjY@OP>3BKc>(`Q6Ir%Ifw7Ab@X262jN4`;QX4)esJWY+ zrWg8zd2=->VK0k?047+7RC%At(=k{jKTp(-sz4SR(Ae-a|I#wc^(6@WQobB9|Hz59 zkn@$fOTz61c0lz#IxlC;Pf_oc{L9PPm(cHv_lN^_Sg+E#O=gLqqM;wChG1{OLi5ZT zE;h2`eZ*y3u@aR=HUq#3+axIvwNWm$g7Oo~xD1g8O?9@*oesKhQz=FZe9WB#z;O^zfO7cJ>u`;z_(KvExVDA`Bm7PyPvdn%BT_Rg19-*37* z6pAj3>lqc^6IR*>w)kCK4ES2t-zIygq(3D3=!!p;?3 z$&~6(KXH!qh=frW-JrCpFzT6k&RWoXt}@S>m4Fb9GQJnBvH$7jRT$*w!b3d_X+ zN?mNIT?bv)r<>GKV(shG4R*B=O=i7a_2EnMS2lNGsHRhUY(s*Cnk`{qvU<355KSDB zvIgBn$B@wpX)Y~mWCyfHmh6!w+k|p&Yh>qzKDI`74Z^w~LZ*7;*akNsX|5Ehel!>y zvMB}2-&q?g9hCBVx-tju%Qjf*GW)f zGH*gc=|&JoU$>|Z`29MvMfAv{I)o#G1$1M1!}pPft*=4~*{giTt6LC!-!FQO1Y#9z zr5(i8o9+QNnRO@c#Ga;if*#86Ae}%Z-3&2AEd$n=eu8669l4#=61@ z=4MGV8_7qANTIL@k+N}dtu$a0N}kfw)jXoB$A>DJ1N4UxcCs=N@@CO>S8En4(wa3V z7R^eTRnAuY(>2`LY*-dM3wwxVbXqJ!6}waInV@--Kq$?->NW4GtjaX49y*?D-qrLD2t}ArHwuk)=tC>*$f`7N9f_yy z8Co>&9x>IPbREU&Uz+BfSfpPHetJiydG|1X$(J(CTiI#`Be`L)D|H{|ns?B&gXYaN zt+Xu}MXqTx!llvf9+N@8Bjm;@)0#ow=r6%{A?9W?SB|O0WpmkY-m}4hlma zEpj&nHT!YIiv8}@?ALq4vZ-YouAbM{NJ|V$)3T{<6)pQsre$L#LX@UeA59@gU3DH6 zHxe77#fxpmirDVXZrScG_U7hnn`~(*N!O?e$}@+)g-y6thN*v|@Sf^M?&cJ6yeOBO z>|BumFG7JC&R?+AKzq{7$=@NzidxNX5kIrNLyDDY$OFL_dcKM7`6La*&9Xyv=W+yS_Crs}5QXIdeT zaZ7qI*&%Hy6`0fF=73vo^@G0L=4GW$X9FZ`v6)+NcS`7jfXWRwJ@}zzz6)x_NM7o@ zC@VM#(?iy-)nYc>91^z%CmhSIK8>p$$*u+@W5<|ay)7D&vE5)6=#(F1IbumvMDD}i zAqv-?Md74vMalcS(pQKpAmZ~BcaE(*lHM6?M^bDo-(7f5e2!hpU-4T@-iZWTPu>#y9q@C_w!JXIPcNc?3(U%6+WYFcNqmSRPMpHOX=IF!9#nH!u zH>YJe`iwyn%opoP%dgHHea4_o8{DgW8XSGbpq2F9WYCBgF=zk}s}in>L7#46&`Ds> zbfeH%b8QA42L@ekI{E^Gw)0$9{n8jTsd#tb==QC`i8mW3Mp#*JI`}&zVdan4ME2{? zK$^O*Klk+y{;!Xx^&{cR_)11XdqqNe+q31@DLyG2dd$-hfhpvS*ov8suocDdA2PPG zRvx}}hBKOYdGL0_POVj}?m$b;xAqzz-peb!?tbIl`;L0Dirns_9$`JIdcK^!)p=CJ z3!ETCUE%8BeScIIQbTy|KT{HQ0Z&LLKL3owh*zOO!SQ{T3X2%k{6|iI_#5r4XVlk3 zY(r4XCz!nrykeD70aS_jr(Yo516m2)yoDyFw9nS`qn3o=N~QK! zFgm5nA7Q!~?UK=1J$#u~LOu00HTp2YL0vae&N9*4DA{46{&SRQJCLrJ$KB>v z*vIopem_Xbb_WDs*hY;t>f0$7c-}_I(Ndhm)b8dfQR!q1(BCz$2DCPHK;Or+TCM)ZbyX zD8Ux{+@p4BM#F7t<}I@8_p#@%Bz}9kFASjF4Qo?j2GOpZA6|Te{=5l~t&ItIS>h4> zy-VxSQZ5d7Hl-PB?x@n9wj&eSYeZEEPM0E@djJL=hvXxxyON1y-XIDf9%w%L6pjtN zD+K8%N)YL7n!Loffg`$^ThyLz8dPo(0}oxK5%O?xNZ6uOt$j|DEo9`iQSgqq4NHA# z{}?!IsX1IP0xQ9DgmGv-*=NJxIozhOp}|G@MmS;$$RIvo<@0jn*}(?e(;aF1p2F40 z^NxbLOyv>7qP!9@F3L-=0F{@c`bKOOOne+UKvRi-eq?wUxb{?+c3Di9*@L{9olB9t z(J^i_Iro+Hhx@4j4c~Q`p(ppe5vPy+;2E@P0)}ZHA>W#ZaalzQ!WoPKu3!wP1!Fp@ zd3-S#v)Yyj5PKnNeYC;2%fqF8nQBb=b8Q@Wc{ptMy z>QY=b*sPVBSy=6E26d~%|9$xh>g_svPR`zkXm_a1E}ILqTgG z)TOHW099GfSg?46I}YhM>iYg|y-LefPf~INm;g#Hq6|yTT=L-ttbu>uPt`?JRJt?# zm*Yy(!udQ{F~~y%RA7+pZh$OJ&33nE?8=8V#%`z>giYYl8NYL9NT>C?Gj?Y?oLd%Q zw>xu+Usw+W(z#*TH;_eG(Q^jJzD;=xE_+Z|(i4n=896Sd;L#~=CiV&$2esx$Jr_5H z+Zz1RG_AV=@=YlQ2and*7)?{pSgEnz#~TP4L3sPb zD%E{Xh-*U|xMeq#l)hCKS(Tjjkz+ zqF&8tZMe;|GCrpdl2{j!SeqFL12E(~^D*VM8FG@zVaR!cL9*9VJ9HN-J0L(EC$d4k z8gP|T@TM-#UCD7)Y6$(i%rC~xy{zt03LL}G2Sfx*$!|3jRj45FDYPuZkI|&(2xH}I z2`8C~$UHyFHOA(sqQ?~Tu-OSp5}68b&jfvsR_#z3VAR?j@-=jKiPitgL|fLTwb9qI zfCJUQ_S7*%VwNzf&jBF!*IxFaTBtdXU3rtX<&Zke+(P|5YVcH;%?XcYWA@Xh?5A;^ z6wWJSQY_4S;?ZZ7u^Q#k4Fi&O9`-mfN{7(?P&2?!&*=~@K2O_dJNW>n*rdCO zQezzxW=z6{ks<6A2C@uce;tHf5GwM{sPwr_Fos_3W^+P!bi-(tz>3iaI);*b#@!XS>;WRHWZc>=!C>T8uVclJIJh`DHq=3~K)& zgBsef!GqO;p4<&eE1)B?UJ4)1RrC-73P!m=q4EMy7@BN>0^tKe0sJs1tb+Y?N|av7 z#w$y76-s9!MCt4V!jimn9SS*-KRcCKq8LJG+GYk4ZEzynOw%{oq(OXnUebWoxDE`N zE+8wiN?Kip+jxq*(Ent#BHnF=ZGzs=ot;qfT${BBY-o6A@vJWJ zZ+zZL0z9D#QBOhSu}TE%|K?~}%WKPIu+RA-C_u^Y z*gQQH*3$_D56d`p1)Zj%7<2In&shX`<$syzQm#8{#%EzXUnwfX-s}>Yw06u+x10P3 zKkZRMvueQpaK!Z>6Gb>rGZ?Xo$&wyg7yU6oT5cS=Xe)Wt@UbX4Z(Y3Cn_wm+?}yF( z>gQ-dXTBiE5vJlH(2+Z#$0h$5m66Bj79tF`bRYJtTTgn zj0%-K{%H0!k5m8HP{Q~OjL;|{<4M!Jyo|bb1{u0kIvT@SDjP*Ym_8EmvKEZR07ovs ze zg7Hnr60~SSRvY!1Y8=#oWsp6kFPo61x!;zZTCufjCH%?VZc)yjptYY{U28x0LR$Oz zpI&QcqQ5P}3#EO7aSMR;vr^iJPcxjCsI*5?D#yhaGNoOc*?6_;on2mOAIX(=_Q2DO z(bp4Rn<6;4QfVI!O8fDjz0$65p%F~-PUB5Oxzc{@e~{9?Mx(v9(thket>8D;P}(_f zM#4mV*x*emp&}A$(S3flO1t)$$Q2mdV?s{5pI&L7i2lh+`w0N#zVlL)cCQ@|ebN*9 zjmh+m6fT%)$4ClIeN#KuUi$)GQ#%%~n~;`^)_YDRC_ST6@gmcD*Zd5$-g9(tnS^;? zroa7vR_nbesQMjHWa<6$YrV67umWoT{95kP5UM1BiHe`n76dg@{*Hg(>6EGDb8CXU?K*X}kAwi5n=su0N#F zxgWkyLffkkwCLAF%W25RLH&@eZJMF!56ZL?f5kCl4nAxqwHzrCdo{_rj{g zm;jim5(Tn>Yg!T?TsgXudjpLpI*gKwPEJ@r&+wbITBHh<$p=ktl%fb}il1%f6E-!? zEfcUUXZ37;8!5bA(~=j)KDDo$ThQ-ph7c_QA!aI$Lb$w%Nq$`9HFuLcC0~UULL^M` zH{Bj&Xkl6>O&=$8%)+vMpHl3kiB7Ba`_!ja_WO*UU9;Z@-8udK;{CqJYwmV8t$yPx zU#;KtjhK)!HADw#8YF6csS6h}UPtf@?2HZ)&So{2&%YzssMt=YHjwDV?b=N7*w{?* z;J0h1cx=p5JVu4@8})B#jz^dBIhG{hk@eA%l`Ym}@;4hND-y^6FngnIy7X65e{0g4g<$TX)Mh{=l3j4xa*_d3dXex_zR@K6wQOqPJ!d)I3=V*hEV7 zfHD+4^;uHQ{4q=PxC=eq5lF1m^WaPB8ntn|2xa{7%k?h9wS_0|D!IC z81zhyHb)Ykl<);VDe=m`04}w@uinpzLSZR!GR9_D-6U}E%2=D$J(wAl$KQnM=`EZd z2^Ms_d6_%!FlT{YTQ!cl#$EbDsPdcJ6gqiKm3x0pzTKJCbd`79PWcwH-^2N?ihg8P zj2yf^hP78B#yes6dB@^jF%K+uFlE4^vQ)dFurgc@4nTh1JaH()P&3X zEXMEk>q~ryA?^Bs%6C)N=WVzH5!9u4SRbIlN@2Su=_>5PmAlChz{-ioy(iCeVRhGa zn}jDnuHv@FuQ?3w9k+}64uWr{Mad-{xI zg3lSe#l?ry+u26w2^c&mGNIq5wNnL=ciSVuQ^A6s@3+U-B7re&6X;3cf6Cix-6aHT zBSvV`O6x8m%;n|SiD$n>femUuCf$cUk%2xxF2*4hA!c&PR*GGEHJuDDe-1OL%2;QTq|c;`#n=+iIe#_!jfm`pQM%fP&krA%mLeHiirXp8HG z_zeDj#qr0~s=Qdjh9OW#SsKQO@z;w9Tlj&jt=0dxeZBlPBg^*eTDr~1Ey$02n-Mnu z>TTI>ncF_7H(~=?X5t;Y1WJ)Su0~{$-%5%rc5D{qdelxnwYHO;jO}$MzuW!g1XKP+ z+q48hS5050!^%_r>E|srEKzL6O)^^dnQUv5YtPR#TU#ujpYwV)zpXjq3?h(_?N$b| zg#F4;Q}XRT(oKe}w|BQk5lgv>>a{!lVfyhh5LAO8;vV)P(f%iqwl2}5yoS5k`m)P2@EWXD|kWnv;BY6@gL@^6ga+ zabW7zqCmgKje|PLNyU z&BTF)1(Ep4ev5#aO}jxGw$T_-=s4YAAlQJ*NA5U8IBP*dBwt~fYQ9~YiBFh>)&;8CkDd>(Wt_2fTP)$O3C?U^kwD~& zP?bExXB$Q_e8^CGH;QV;@bR{1rnpi7VfrSJT3J2~yd+(WFmR@e)gM3=t6JZdC}V4rDQBt8QEh-cnAN)V;y$_UJRh92wx2n3kx~n@m37wFn^XFEj zgUJIl`q1PdGn1Qz2;(1kZy3i}<6A%1Z@Jd665oud&*fUbdD4M^Ed~f!TDm)MC8LQ?>T`_D7DV+*9|IH@p zXM>P*P*>7N5MQ&JU(6b3x*WAjUB}Wf#ofr7SWpJCb(6C63-C>5VK3@?*>cBL1DI9> zBwLmQ3c?Mwv*f12;#e!Lgu+dsKeFaZ_%mxR)G2GOp0}G-=_QEGduUY2+ZqHeeAt+6Q6^ zA*2=8!FKUZQCGAb)R#nbY>SxztWr~6B^laju!2dmr82Nwh0_p35sKfXp9_-J$`zu) z6ZvEceiDe+UCb@%7FPIBh(b+#*P}+Eo~9_&>wiMkJPtf6$;gqu(h};{JRe>1VU`& zt<<0O+H+5;j$_lN`*4^X4X&rrmJf1(hk(o3aeyu%zC|1YNs9Vx$3Fauk9}O_-j=w^ zd`ZBNG`g~n7Q^8^a^p~#?_-VH2%Yj##Ev#wfv&8CGq?Bh>bCDTGBG0a!jV^qII$SiXn>2&SMB1vONt1GZ_W0(r6!t?H15AOyq4 zp*1&Zm@dLt9r(_R94olfn6UyeG$6UL$_4tir6{##Q@0<#%~I1}()clG-tWf3?%^YD zJ~u^+{e3j9VOE}-Zsf|s!v^IW)o1F_c2ZX1-Nkx0X# zDmYg|4VDVLHx`?SB=^xX@^(sS;l{~+16Aw3pRY2ZMG2gd$(TxDvG;8w>96{3Xt`vz zG7OhVq2Mc%Z^b%ZC-bE2L(epwq&t*U$sAo^n%17%Dt_~jn#0)u<^TpH3O<&5G3+&- z2@>%VUgV?v@NL^>?QAsb^nyb9MhglYiCFk=e7s~iE%{-02n^I{*xq9|Y}U99vlEVv zqhb5<4LjR6jQGTbb0}F(NhkP@nzK*_vWD=9o((4v5NsmI#<8L^lL&ewU=qQrF^-8` z0Q^|8g-v6rxc^}&a_%1E0rJ_{}+Ccq4wZsP>VnR;CAhgRDnedhiXR*;{)+FL3;G zbv+ReAQw53hUILrdfygXR^4t$EWr=|?OeZ#O|fb5mm*{GD%Dq{z5qrl$#y!yr%TBL z$|VaIEj}c>Hfc?ydMM|xPn#OCe{F3gD>$!+P!w!g!5=bl(r;jH+o6>so+_EBW84Yt zTSdD_S-YrIyqAW>%M!^+7|pPn4T$N&!abzFJ2?#=WR-Z`%W&Ka0)^zj9n{0-EC}@- z#xonyCKQZC0)tL)(UmOc>*wvsVSUtc2*|2CN!ynb&ysaY***1P@dWwVprG}={A*XbUck%6tT42y#OzC zBPY68?A5G%5lco+Mp{G|5t$Kp%-5O^3Z&SN@a4Mkj&+=Bt8TBa82VbIKG73mm!~h^ z-|byWBOf@Z6F#It>a-ZS$ysUHo>oOCw)lC9RoS02rE|E8nbH-&!)9h27k{J4f=All zkd16p2B0q`7aNWm0|W+}p#@5egL-&Q+cw1+RINPi)haJt7GsoEY04;ePSyI{eMt(@)LAkRkYpxp1tVVfg}*${$@(==noXt)e4_4u94DF>)`sUa0Fe3GG8 zI;L@DB%5F8*dURMAr5CqWi2talf6<@zP-!u(IC3Ntyf4iB_DGMMC9W&iNck2q>D9D z{|ReU~3oMEpF zM~n$a>K0^bBQQ@{d%0DL&O}jR#wLZNlW9KTEO^ZsGJ$(}`5lBserN2uR0-p!Q5LTL zG!5b2rNstpiE}Bp-mgmmkokB?r9tE@&D?V>ohiDU>?qnY|}E=6nUv|>?z45w{u#obhOzweT;z;~&OE@@TU2a+sUmkwH&Fzq*W ziD&E5o~%n!6hoId0s`+9*Lr?#;XrBUVWhP^g%`&>z|2te)>W_ z=7r5(o-h(1r!)ns2eS5E6f#f3IowlyhYaZ;hI5J%m~xj?JW_Jqb5vdfOQ$LtzMY8 zKXbwuBDAi^FzPXwmY(LUbDfRPL3maf(8!(Uj0?Lz&DnS{oUasHBq8zwj>h2&hG+%c zqf!hQWpF(P%(jEa^`p3crXQOcc010Rl4OqZzOPzS*mFW1#IxOJnU8qT&;eHBOz^um z(vZ z`DcbAa1pmz&OawwfER8Rfh!-$nbmMba>hGVk(^mykBQ{GT8soyQIVW!UkKye-^TMN zgmG5jHti0mn&*#&ah6XTn|U>h)Z2b(li!IrEIA*hIfQpPK?o=`v5+G<{0sqK%J0|e zH$Z{g%Nt0~sfuiKjQB`UnGq3|1J>psFwLQ!yMlMn0Ae2AL1RNbUyA7zYv@Pne7spF`kXkTt=#deqo-@N0hRU z%Loc-s22aV;Dy1A&c)U5!HxKuw5=zBIs3?d*gUfVY^@}N^{FK^_UqW{R9aD zmmp82HWk@q?vrSj+1FXw@?i&%C0Hk;1iws2?^c;~Lf}}Pa&}Nuc- zB+UiIUJQ?7m~6J!NtlF-{|^EeC@s++RYPu_#W>)UI5KJ|=q51Y-HxnO;CED8x3G*=)sV znBlhl@ku&BOWVb5W(YHanQfWf$I$rX^fyFoX*FhYQ_LW9Wub zSISP@t-E0k763}np+B;qTQe46TL8~YnNGbL-<=Qwxi$ycYqV>5y#wK^V=3#Iqh+o* z{Or+HOiTOec0n1GrsH1;MAMt@hAS;8@)wur&YzrBx8)OybR*)TBgslWw=>dt8kC#~ zadI1LfwU&e0I^VGmJ>zO`wGkTmaF3Mil!*R7c=tYJ%wZ$1MZWfwl5|Oy@30Mf z#pE^I?ZOH6kxJa5pfi)b>}FXM0*VC%d-IMuheK00^%nUA`bc*C%RQWOVaH#HV7;k< zLbkI*MuqK&s9ZNAoKhuSRgQwzS{Sl6*bzt$Q|)1F>%I-Y8{h_1+(r!<5V!CU{|Sht zD>CVbs^5z$F^}seM(9+o2MFDB8rKax&*i$0=LK9x0n0+Jd&vJN4tMMB9N4^m@%wIXJUWZrKAthj6Tg08$NoU4&p-xek zn9S=D3w|&oer*OGn(nNerBnwm;mj=U%9#Axb#d&)qf0BSgR-o8W>5f#knxdgR6VcvSnIC~O6H z=lS`OU~rVp>_87$!(H9wL!((-K^C%+pF@Gf5DBr+EZN`#s|W!CxpVk7Ux4;iO{N7e zSU+I$kh3K>5~fJt zd^3x(k@m6H$pvut!0eKA?}^*i_mpJ83aO=)gTFrgtL>UVP^?#j=&emy zoNGe0(F9+wYVi%R20#z$g!>lMBkJTVU9)=lSz$8+w-}P9)5a@Ak|bmvA06@Hj24p- z6_qGVfH9%gFaaGBdSDh?4Smf?nWMDT(QY@?4=nV3o-tWvueEQ0O`^7(lr|(Vt*u78 z*j9+`wZ6+wRy8MGDI*3u3f%LODFHoa(<5J?PWK30P~jgsNp0Zjr_{Dd;Hrm6Exj`M z*zUTtPA8tJ;}uF71V?lrQ3Ha6SL*c5dL!7)ce^`5-DQ~-~cVk};>PzVsz7O)Mo74or03=A)^Su-uSCWxb)kxi<8pP?bXbfH~sMSXjFli3rg^O7F=UX!sL=J6Yf`zGV+UF=c$rSNJB+ zqG{BbAMjBiqXLE%8crM{3>=#88_@6l(|Zjbq7#T3ko|7v8NGb;3)DxWpDVjr&p@&HR zg)ma`VtqxsaUNBnv=apMY&MKDr8mYIw@{eOWHUq23PdS2TB6i?*@b)?5Mpdks8}Y= zsA*pIQjBpnW2-p<0=h^GM!vtZfRu#VHlb85 zMcBfWl9;i;qY$wMAKY1>EDpA@TNs5ObDvdWQ#CnA9yogKZOQ&{cW$zll9YCSvW+|8 z?(}49xSN{nxb*>$*MVKN zwkQc3jYi%NgA2*26$o>Ds34ey;)-QY_W5dQz-YMZswS&L`_D^;!`)kxjp6Pull9^5 zFK9Pjl<+}?qdgqjKT$J`a5agMAM@?6CWk^5Cb`o7irO!0Z&Q%VO_D;tkjixct}@_mH)s6!Ty6>-nOXp9xmrDDqX;(N2?GW+A{M_E-+rnny3O| zL7P2{bb8-rlW@T6ox*GB;j$iX7jjEgd_7l?I4QpuHLW9gmXIRI4cdrSdj;2>Xnn8d zx}9g~#nL7hb4B;5&E<-ns8;8?ndf<2*95I|ThKNMyI4b7&a}+kqz~#lu86MMt;eC2 z9mz^*pLwk^#yU{%dLx6=rTCjz8#IxnhJa2|dzaOT5msRSvmJ~a3Q{1JExF`cz(v*2 zGwGN0RKKjh-Ro)LK+ZZ49TA+xG|?-u6WhIXOacoTCq~D7h1>3ROe_r|UYSzc>6o%Q zaQdz zr(@P7)0IY;MJ-xhm@E*R{TY*Jte-nkyB@OUp~CUtwM;Gf+r$jAscjr2PS+O*81f58 zeLP=K@v}A##D0D%p*{*OyyAPCK2d**Oy*Kawe5hm2)1fbObLc%rv>eCrq>=vqFT@% z(O+a;ZD^0QZ~@IR?eY8;?U4f8X^%T-FvVa8;|{J6PedWqHUODWEt)6YP^eE+Aa^QK ziDi<9Kcc1OOm)U8HU*idy%{N06E_0-SqQB`Elk$){Mz``^jT0F>4da#P)p;;fmb}U^F zhnTQPFx03EQ9%qwauQFHOnTf4>^M@X`cg(n>1VP^vZP=-h7Q?LJC3OZQ9w`f>`IWI z7#s}#33R#QR?5iIgRDX9Uc5{Nkwn5FC%|~c`E$4gf-KgYoZdE~t@S~8jSz}o6I6tg z1&P=2V+(i^Q%p*J4WqzeAzqEJQ5fo^u1fNdz})GwTGm3xUOV*as#PIHNrD{>OZMu6 zK7D{qM?eFVc;0&m%j$WMIo~#XB%N|qKtho}3zy!cQy!{GBqJtyFwnoz_bjWE!NrT( z;62jmyN6*bVG7qGp3EhjvIK1#^$8|A`t4@Skhh)?oFRqVCslpo zuF?z&#s+k6Txo|--y;qsMrnwxV(E<3jn^AZhTbzNri7cB`>4$9k@F!^b#`Ben5yBx zW`hcWp~C09U%(8@oDbSyTM>Qerk}vMib}lZI}a4xgJ}CA6Pd7B6vrF_N)RdeO#`qU zZ_bruMiXVduax|(W1@}F1ZS0CUJfqs?z;XMSD0LEUG=E9vEG6blEy%$c?fhm_zn`V z6DmPuADfurR)JcGk>94V&9GFbz?BxRLwoAjp%8OnoMv)CUYW)wTfRdS$O7)XPGH=~ zAQi}hw{SlfJbfIOeyxMivv-&)A2&g9O7e&Kk-V#nbie{Ge3{GcvKA?H_YdiJ$VFb- zOSD;tvE)F*ald1MLYv_yRg;xhAZ$zEc@)`aJIpWHMv6N!5fRof#$7Q@cM!uiu*G<# zD0xd~bt!^1Qox6nipPrl!>WS#1#j3 zjLB|~Fn&?aj)>(4eB5coU&SnXfEM74c!pW_vfzReQ}h@AB@K;CSizu)Nvd4$NjCnH z{`R_0I9j`uMM9YH79~v$NjlY_C%IoqE+pYaN79d!R1HbalAch~#E=wQ(#Qr`%tO)$ zX8?%FD_eI+8`5OblRU4qa+>Db@rlo4Dy*bwz9B1~BHx5G&9~$#rKQyl`KEkYX(y!l zd|STS^lfO&?Mh4=h&XJmxlf5x(yxbnbB5K#zAVwV=aHr|hkSz$C@}@#P-xM`2TAP8 zKKD)fh!Rt{YE{gt|D;k+%(8|?ZB}YJQlO7-)wbqhhkUc{QtISJ3BFxFP-;44l;A-% z+ERjV+4HPk<@1K7{Y;s&aiR(;_6nNW|o?!!Zh9*9s^!^4&(l$P-^c<+tM*d3ajp3#o55yOgo&#dq z%#S?XT8?k$bxLolH-PdhdeKxtXz4b+n2~R380&}hB139*EdccAdXZ6-z3`2FS}*dj zOI!QlXLyl^bqdxi^&&rH8CI^-n~WT-lF;A{dJ}3f1pbB+I_Lq*T3*cr+SU47FF8*} ztG5yXh8s=RGUONChVJ;hm9f2*%&Ua@x#uCbo(sb~_y1f{f2$tI&D{D{cW9=V-<}{{ zywR_Qz?(P19D^K-=^Ot*<9XiP_96=O^70{@#@VTupT_qv?R%vMSwB0OyngQgcS91r z-~AKzHF>R?U~+i%PMS0#!2}K41QQhZpc)~AH47xjzNz?eB<`D9S^^Z>0l)qR3TAmK8V_NSxH4hXiIX;^} z!_G2!vwGop%%Er%mD*sei+c&9D3d7Ww@eJi+_;2Tfe1TQqOWWxf}Lz9)?REQz%)#& z?i=0pVxLJ})HL>ez2b9}DF6eB$&?sXYy=TQZJdUFkqMCLI2}cB%n6H?Oi*N(I@K3q z6BLJRy-|YVW#(mzi284cNwzlsZ-hylkFH=(=U!4f_Yc9O<3$;azT=PbnkQf4C^xGF zX7qBt`7Va;HW(SU z1}z@_VcpgGKjvR|=}AkYYVEIuwxb>O3WLdMrg}QiA$?5x9!3YP>@f~@2zoKqHeRa{ zGN*_g(ef`XjW1g%ih&W-7a4s>FE!(2?2VE#@2W2v zoI}hysWI}P6i*vcDwZ+w?m0SagPiF-W5pyN-O>e2qv;#9^@m(bx*Jmeu zPQ*H9dZ-FR7d3Y&X{=i1Kt+*$T2T(aK24+RL~BE}dD^T#==?JYw_`?&9q2TZQWs&r z9OPpmj0oA8SW$M<>1)pTs9s5(qkXB# z@&xnKRNW&+n^uTSX_TYMHLa*5PZxy?2R6=^9U_UV#YZUw;A>`rD+%(To1eV}d%;`& zXxtpk42VL|YX;27G}cv@oEi^&NXvYfKs+4F12oTH8V}zPpMQhb)RV0?-Q$!k+o$R^ z7lzEU#@rjc`PyRxBp}(syTL3r}cdX3o;*~sL0@sqbO5J1P*&<979$<8E zk-gOXEup4fQIMgIWD6$tE2eRSSjJr{>6-27D+62AGzS9OSu_v-s|}YQ|W6 zM`cmMze-1w6I_cQnPWKe3{M^ij>~+n{lAgb3hkr*^qkl{7jpKnLBBr0_a})eynE3} zLL^ABGu^d*l8l+=u%zCRnbnmA*dpy#nax*3>B=}OWWw=p0k#WeTHs6E)|mq8G-2GR zy|XoUaermRG69BX4_NeZA2q3Gp1xSk8cA442A0{r16#8qSWid%S5UQPhQChjW;^97 z&sc0%+(Exnr;4*^)i-Fn*6jVN3LA-&)sZ{M5%*>(4OUN(i)Y)fvki-@--3kOm+jY~ z+#Lk6;ydC|dXrFylL(LS2LCccEWZKS4Kd}V)=|1Ns+kKh-d2HkUm`J{_r#7e15nf3 zHR)TKT+M8S5lb$7hCZx2@{KS{4iduX@f;)$KQ8garhbIbm+T11zP zZJa>)_`687gK1tibnawB=hCpD_n8uv+0dbD)SNl)L3tdfHuRxRGoJU^co9n=EMDNJ zh~q7+*gP!cb1j+9)3k92Z&SZ5v#ATNKthFs28ayU{ zN-~82eUSR9ffn;fk@w~b{M>6f+r-1mg#Hq(*jw3OVy;Gd8(qgE^-^^ zJNfu&p$)gMuXKYb{jzaubCMq<)a{K=Y%e4W-KCS7sU!!tl-vRkz#NojsiggWB)sQDm z+=Ob4`yG1pCGl$}JY$uqL!0*RN-Q*9y*BV_#R6r)n%;7dcB(*w%mgR}E6y{4>bz8- zn$KFEts zsM1Ew?uZw19P>&HG9bd)H2)CGe;DuM-r#*aSYxGIUL=~>&^Gv$JJF!`w$l;H^%HTw zXt@4KsIE(*T<@hclShYGp_@V)E(6ApC8J6M>fwqInWYh89wmz11&kyitl=NI587w_CZ5{q06>PXV!d*+m_oS4?I$yibdGyxW8;Y-7m|3e2)CS)Pf- zR_t2JBCwCP$eFjYeWLn?d2uE$*vAp4KG?R8gL4eMz-`~7?HA7@8;(%~-3c%35T%~< zNu^8>Q-$yR7k&D$!NhoA2vuU>R^nA%_mPg;~?@UlR994rr0}WQI6fWL+tv zwH8_1yjzpLL;RyUb4C^6?Hjt^AEt`@$DXuJ;e60yVoI^!1xE~~Ylu=)I0{WBEpiy?hAti(4Aal17kgjMv z9^{aZ_Hqy@d+7?KG$*adFuN<+?FC;19rtkbyd8hIPcOi@RS{Sljjb!lz0}5uV?de8yUOZI?DaL0w1cQpEZ-y87xCQ44wSh?^D^BKR;RkfBy)K?7hDO3^{LLXR4#ZMJ@-y+N$0zhb)N)rK0e(K z7Qe$FYSj%*QUY#^6S=P9>bRnp_)Tp}!-^F~*lj2a3AXcB$c2Q9#5Q8780Db-XlBJ98gYM`MYVlml71C#A)<*gj(*skEC7NjC} ztB3=CP!We!#F}gWkXCHq>tx#>RK!jdu`d)+a@Y2QgY7`lc}$QztCCh-H-3MPUBo)R zPPX_WEP{b7ijcyw+C%_fjW@Ka@g|sXW4uu?lI<#XuP-+3hJ;X1Vohd10reJuaT1C2 z%>jM0a-H=CJQH@hpU+fyO;IIWiW#pv*_ut&#;rCp^w$og zfVfM)6GbWG64&{9a|xhu-CDv$m+Kbv37;+z z(S2e%i@!y8bC33_q3eyIo$eG67F|WO!kVdQ1zsXrQ6t&D_Hm%FksndY*kazw;g+_g zqx)1CQKBu-YQvD6X1K0oYCsAJBWPtpz=b3t2yL>K9w(dCZHmrPN0hq9r)q(K?+pW_ zRagP(=lhj$$hS-*f?dQ$L?ff!O4bVvsb&yN8xu7qSkxP10v}5Em>Ymu92dV%cHqdj z2N|DfUw+)GH+5Tv0giOS`S=jwxwI$Tvr)aYi(P;Ez9d%4H)58cLYDVXF7H9^VO(-4 zs?DePgE)6TjsCLx{e4Zjgu3mgsmnb50ng;H&zo( zs~Jf9OoSf7<&C#P;N^Cjn3ZF=9m=^BgmLR|4R@cK$yCgS>-h{coZm|<$3{S=gJQB( zD7b4}6g;~RkMxx5Gyk<>vWgg05r_VuB8ERf5$pK@TV?KGP}U#c_?ezac8<<1Y5YXC zqUS%#@F4*FQHC!q=QxMYGeP!5qSG*mBgFYd218k!#Br9-(o)idu+lV9(1<5YK!a?- zIZzmLDNOsHwF>A7PaAK|6mDdQ%x^|=qc2aq$R%n5%Lm~b;jE-eUxG*lj*yn8Y6Cx* z?AG*P-^03|);3wXZ(7-8;}qe$$@)%2E?%Ia6VY*&$zgWha1V*pdyU_xM3QVo(qMHn zM>m=(8m*U(nAHW#;VErKcQ}z23hRz1S_{_Gsk8|iZfH6Zqj(ieS46s?^g)a}T!s|) z16U46$f@+4Vu5H^*8gPGQdlocA)=k<^a*|J{yIc13hToM zQ~9-im>kv}ix23sCT8F9_}zv0&*L`*n{T~1fOq^`&=zE_=#Jlfdg0CSo8mtwcrN+p z``HHk3>F1ruS*t{;$%MD2(_dXze?(FDgJMAxrKe3gc2Z0Z`r%0_(Eq&ESJmzP+}>` zC27FvTF{xsh;1%QhAOh8n)pFkXVVB8e+C!7aI#qICNScrSANxGv7CHbUkyF~0C^!j z=?CITp!6_l?z)*kWb9mzxP4Sc>!)|I+s)#YJ3Oy^2?eQ$Ju2ehA5_H9H59RypZ225 zvAUyHY*Y~=e^3#-RK$K?gvJ0B1ToUvxot!k0Mlt#{}$}CL0H3``zSGJ2raO4KkfhL zSSTuVTHA#c2a~>!9T+f5>KxliWOd!USxW~X-O}|WvY7;Q(n`IiYMXK}wYaCIKpVji zyOhjXmORT>IX7%I0#QmvTN8%G2_+5$=2l{t9!4Z_Z2c^8zrY%#2IlZ+9+x&!vK%zd*~ov-3-4^E_V3Ux$Lb|V!C0~Be^O0V2yOj@rbiTmVpzu`=sE4Dx2 z3rCBu7Y33pj_WEA$&6;nC`sj~L}95c+c8>*3QYc#SE;in*gh}EkvlNCT0Om3x+wa4 zx0P_q^CCB~R(9Jv>rq@ji8i^9odlmQKPa*@v0!Z6_|h2K z0s}{KvguBE%_ZQ@(X(w!v(>F?)yY3=fUZ&UZuXhkYQtI8@v^+%wxW^!ECIzZz}7O$ z$?)|dG_$ZNjs(=W?5^pm&ec=tEkd5wwp$i8d>&}$t*S-Plu%ZFbc@1D#Uk>!KHHF! z(Z2gc+?a5qCNiGL@a_{?Jg8RZ`EFTLxMG9W&Q7PL#x9q; zBg|9IOc}CF2N65XEpES42=Wev5W-ZzIIJtN8 zlja_$-9GoW$H={%pENfuVHgW;)l2~pKoLL6ePU2o`r(N2&G)u(JojsD&p$Qv%!a1cY9+oFMWi^10Q)3O7UssXYU)!wtL60 z?KJyCYsmgxe$>PiTdPS|3;LzmFaIqd(5A?I_6}sg=1C#V{)_d@?Auz9yMs8)?XzF8 zn#K(ClP|qIrtM4xViM(LX6I46;Rggbhr0ElG2M#$VSQrNePymDj^oIE+gx(r*P!B| zZM6KE+mF@JldW)CP!qMS7}7edhD3K~87pHRUOT-bW@4?87v+}YL(a0PI%Y%I%0VNR zn)drv#pT&HVGI?sN3!RN2N0c0nhe+ylx)3>$>8xxg^bhu=Jp2=0QqSKSL*3VQInYV0s zG$S#iyYEkVgUvKYErAnX+^@T;nnL;hO#(nR&jF&`^zGpoxxXO<5rQOhrWa5VYl6fe zA>|mAaquh6r7|X54Fa^!ysJr-%8t7n4cc{-!(=T=(O|j9nEI@f95n^s0{|6u3hZkBQcDS*TX$j3EwaTr+B* zjZ;zz1AHsQ!{2Clq~=I#=4w;CbNh&RxquG1hx?UkQ%p>%9_H)k6nl`se{;Rj1HEY_ z+zPa5jgvH{3wyH2za9?J?>YI*;y(U z_jjTQX>|_+OaSWoV%?ac;I^^oR-FX$yFCMZuo_OkXW&@mRXH{fQ@nB^*-3tI8VCff zv9uw<+5M=_b*8RW34x4VlA9=kJX#(zWgmkXxnno3lElXY*{#Ln$u;VSG9E)s+l4mA zIn`8>#mCd^g_db7hJII&T!lpTYkuNXHtZo5OtbU`lPYSKTXh+E|0LPT#oc^@%~G-)icF9bnD?q?(hx&2 zcws*YbG^W9a+4U1MBVDiSQR|~iE_|^_3)7xoVy=-BPtK0NZD)#~a>wkx^KV9mlWp9>|C~%DFUDNVssqh$NSGG(dcNsE~Yy~nqU7@@@ z*&O{{om5#%tioB!h67O1J;Ia$=RM7g@8HMjg)^(Oc`IbILoZGKyA}zVFPK1Bw4GzG zVTAsG zrSX@TgmV^ccatU(iEAdUi;I#9zyS<0`c(NKnPv7;&4{DFLqx^_cVaa;d^I!r!`S;m zFN7%chM7qH^yUrs&A#yq9(?z*D)4DvtIh^d{r27sPpF%iM70|}hUsG}4HQ0)`}tmd zKJHtc(&3@U&N}KaBR4Cwa%km=L?(P)%H!H*N<_7{ZBA#Ym160DibN)7OV;=DC3U0Y zmyt!rw=%4!IpbL2Y#^Q*yvB#(8FXdbv73K1C@83Q^%bf3f$U?VeNOfV%9kN|v zKm(M(u;{&iD-VP}eP2>QkR6SViibB$g${~K^k-}{uXF96YBYoP^|gVtql?vzGfet( zE0FUK9HZLYd?zvgj>VF9X9fVeIHtVn3chiE| zi~|^DHk*}7Scm${7bOL@x+Ji8-u+`g0Ae0eRlX}$kGsAGWKgqVdrLL&+KD0Vk+$5g z>Ib%#0{i!Ks&!RF3nT#*lj<9NBWY8U|h_JK0E|%vP9o{~_G= zvKD1^0P+lPkyONk{Rp_tCkE8ckNBsAn9U=O)cGOx`)vKZ8FydyMARb=GT;xFizS!* z_xA>Vt(Ecu3vKR~#;<=@|eJ!)X4u@NZ`k7X6E*2vpe<`bg>8{8SGfTQ} z&XJVIbC3hna4GfUO}94LVvRj!p8wacARV=wZYJ$x7SwSZdEN!78qhoofwML(Lb>4+ zsv3^Q9Oq}a++irW*V&wwf9;u|w*O?Z$XjMJIaAm!h-M!BGa1IOm9D) zOz%>r8bhFB5MYCNR$-1%`?Z#@L6YR81f0e~j0+|wd7RX*!d6WQtIY>^{4cMMJlE7bT#IbP zL|~EouEzG_d0F%9~V~l90gX}kMi#BqrAKKDDOU> zNefBmg-O}^>AoVnz_Wno>nM1#3=6syKSS#LI~yMzcXyg;FE)9#%~8P{$g*TyH`&() zRA<^C*m_WhwLk+XL^9F#f2Dkk1{mr_*mS_%I5LLH_}H>ri`a&4EEF)wjd9yLTj3B3 z{#ciS`on1mRu06dbznC2Xc2gPbogFm(-s8zkS0a!EJYy#55 zXj%g#eKV2|upFV27>X*22j9h8I<1Q$`~go8cj%lE6JDf@ruayTt*8i@Y6W-89GZeN zfM{Fac6reg)HSzN`IJ~h*3TUHFb+m=S{pm$R91J7J- zJT4i!nAMdIre_UZa;cumnygK0D7i~dQ1`rH!|n=i6tjnvKSXvy7b4xB;HMsL!m76n z-Zk3Sey)Y`9PX(Nn?RkEGbs(Y3xUOkll?NR|74ai=44~VU2;-g#YqCz!Ihs!EDj*^ zS@s+|%f6_!l*bL3#Q+Mvlr_bpWofIF`^nj@9uUMdS|S5?%?yo`#5H~@?%UI=uQg#; zA`+|-Hi%12Ey76q`x$k4ct|_OYd{~EBU+4#fJ;EzDm&1Vo((yFr_9z0eLFKg+cO3=_{YSiUELls7tQE8y?HGS4EBUX=9!#ypHyI5QXf9%nQfn;z=N#-d6I%u;3%N;b*^u%vnh)v z>tv)A@Ojh`zg*?dz}3@YD}Rob8!Mvg?;{@3rFIG!QuxjiuL+ zrU~v>=HQ;GOkegx)X0?b;rz^Ba2sTNr7dOmtwFCf3xO>l zx~ls02{zEUZf2@g+s;0HbXYvo--v^iF~}Xlt(X+15Rjv0P4!IO z{Yt8OBF z(x=(jgF6*kt4#Q}7pa1xrk1XI~4+q$F<`uJV~@f~a6T`PcQ7Fn?pdg@Bcr zZU0^9?U&E41671C>97Nug-mo2R@?aR9i+8LR5yX2TCTWhTE@>ZrgHIQE8f`V>9XsK z-PJ^Owj~-NSCi$pb$T<#Ye;#SyLd9l4r4hJ!!@JKVz;kXP=0(}z zX~eAWOl9Ak*~If7XG}%jZ%?V4sq83OG`pumy2-qM;Wwr|PQ-x|x#aKT!n`Ps_+KuJ zxR%R>ktUu*JzhGc-MyZ6HO*04#cf4}(_&$7^$kW*hBiSsrgRgs1;!U<6opH6FrtTW ziv&I2OVEDu>a~$Hr!?oq(=aNCr>0W0X~{|xThx-^b0-9DX^FdSrq;3Biz)QSyzM;s zF-&Fmn0Z)wdD$EyemT=9M`+aU^;0veXM+dHMTxEQFsMR^uyc!#)TDahO@jNI>V@S} zT3GZdfCF(s;XEkx9L2>iRR@d&ga4#qSvAR=A&=I=CuhN1w34MZVk4-7-{%O)&n8~j zK$QXYZ!YbZfM5&oY`|g_KH0Sn`RnmnNA2Lh%rf@Fto=82SpsP|=qzy^77i}Q#p(c# zVCpEdx@a&g=?^L}l~Irv7HHd0i*XV9=lkGyY?EKnugr@^^it#LO|qb0z2MeMX8z>7 zOk~P08mCTvAFDN9HztJKVq~@Yna*PGMMX19qKe5MrC966inj|ZUYY1A7ZvG7y^{%w z{Vr@~jpB+zi_je6=df3Sm7LNClCF1iTOpJR>z5z!#gwHT80#i&8IT7782ADAwVs&u z9XVTaSqM@0m1e|cZFesxoMaI|P>#zBif7a(Eh@&WF_CkzqJBeniuw)hDzZ1N0-^Av zVn3}V;fAE!;h=}7_=4xh1*~oJV{OCZ%wk+2V54@byN3|F&^|hm zKK9UnT1Rn7aS0DZX{Zx02cD;GY4Uo|qMTO$k|Awoly=0yEJ$uKVTTk-!b>}~UTav5 z;j~S89h9V=u$!Oe*WC@olwVHosJdM5V?XH5iS-F_aryh=t_wjCcJLMA329kcChUtR zkn54@X2duWN$8fw9Jy`NtfqS8W3KSttKo_-5u)LRH1=`MH~7R6tNO4K&PB%2s?17=eG;F^lixkAy$6M=5R%l43$k+d46Uf*9lR*A+ z2KiT=L2mhvO(3`YUq~Q9dP90>ak+FWT`JnOd3o!^|D1dNUClk;{Etmq-~7Ljw2&nu zQ;p>HVRz;1uEL#}YPGYe{6Fwy+%U>6mreYn8-1R|b>@XxX1YiHRYCp16DO<^X${QX zm3m!Z5lVJm%EHjX`u4T+ZEHy=nR@{On<%F`ek=N=w7%FD+Fs{1R&zKgtDh}XZ+ zy_PI9)oY0)b(F6Vf6|n%>N#QOWt~me(yKV5>H{zj6tHenzzFG=DPX-Ev6xh_%#fJV zz@)~Q4(HE+dQ)F1L1)#@l&-%+L-^YdkQ?Pi-;!KD2few|eQJV~lwPT8rnvP>0Z@{2 zx5i49T#q7Ai96AY%+s!dbRHKDYlAE*ieG--^gH9zj5e6NOfCf(-@prcs)^FF@9L%$Psr|R`P z67Z_=${qHRhH|%9Pzm}Ry;^7ws;;eaH$PSGSiK?-ADpKCSwq=APJ6VLFQrOl$qshs zjQS+0LZ~8>8mdSiIlU_4^$>;0^J-Rrgp@FEWX|h!_J_wcE@Zg&NNomAKPoJ*b!qQx~TG?v04aMR-e#V zJ1A7qX#DVW+OVLpc1UBTpPW>MQO_n#_yZiftb-3yM%CODM-m7rL8=5E67Wb&t zF_(o}FnZIt#!+}DnY_QjZ|4@5@G!2CRO{>2>RXPdEC}Iela8mfoLLxN{k@9W8na~* zTW?aheq4sHVq1UmYV&;dJI&nBGUpa?mEH?&Mxok@y z+sdoEUq%Gz{i7nls+WKO-G6ihST{W&04FjtwKotz&nW`*qyruh;6)91cl!ZazM=n!!WSu2PnX@Q|5q>HSf?i^XK8*fyJ;53FUACs&_Y4x^WW@Jq( z$CCAD(ovnsC?W@DWUc3PR6CLUA!E*F@hbzJDVYbdmYVV+$s7eOu>Nt#{I)2W=~j$G z<}W8RN1ks#>Mx0zuN`mHUsh(mJ{@&p!#6Q=J*T6dG4qVMzvxjuCNtkosE2V!`QMad zr^4Dx8s&c<9Q*oolwWR+eK*l<#vRrFc2OReb3Q2wl~~+FA>|u z2M}-{Luis>X&nH$H?9Pak%)ngL`9(%KdUP^G|ZH#<+uf@5^XV!GheLa$k}? zW%GEH+tw}Gt9iN#ZAYQEQu)~84- zT&S3O17+@{_J96Fjmh!>YYxSi?`6p?8@r68IKz{0QsGrzESd z3+u^#mBtMtW!ia8_+=9yV1Ds@c0!nQvaPbXk7La8i#4y~J&3Ed2YE*O*T3&>^V&?$ z?4sC(uQ*t*2Dtl(RWq#-lt*c{if#VrvpD~Pc)V%eBlGZ$R6=r*IVIJt-Sbq_{uR3JFWe_~5@16M5l{^yA2p zBVA_=XxAmH8n#~^0Oz;M|F5W%1#A`AS@T7jXR3DC138uxSa&hkn>q(~73w-Yq#Tzf zv2{o%d2vE43EWgz3T5LguG*>1R|{l*-O@L(Q(R*jP^h1G{}Vl9`}Ik7 zC;EQjx$l(;zNN~Wiv5A z?FRs^Q5p{NCt%7>$joXehn@_?#S7oyo6nfI&kFBwJJ@jFJuKz25@-vDKrvbKjeE2O zP~lKHDJOf#-fzf~c)u=t2zzY{$@9Vj)~<{k-TrAA^Y#GU8|xYX3fDj5IH30Pxpa%I z?D-Kcxvhg*i}Bq%3q(+CXm`$gvxa==!lbb|(A^PN$Bz4b1AYt)pO0t!4r6m-`K`Gj z-yA%yu|G14Z#h8JLXDJ$xfZ+Ky-FP|!0RZy5xC=@1fc}W+9`6juqoBRM zo3zw+2^dT9hu6~te?+~SO-~y;uObCIYOoL-P@2XD2!1t+It+rj8eCRG3POLS9;YBs zTB==+yALb0amTp>6FPuona~`(?_CZ!dpiVHpd%*%@{9TL*my5b_>k3L>Ax~q+HJ1M zZO|!WC23S3_fNGpsDE#UD1rTGU7*NB2~{JZeV;9KHVtwA5Yn1$#MRx@7i+$xLIU?%sA(Pv|<3MHEEWZMz?AZ}&C#HrU?I?4gx2Gb=Mx?LouLqCH&+ zLAl*c1BfdlkL&abb2Wow$5Hj1@tK`MO;|V-CV{gCjG)q4qaD-8M%hmowu7-6C?&tQ z5Q^14N=Y0R5-CddtU@mMXMWsW)0sq)^65B!q)<5YU=9igvxn^c+VAJyug)H__rqBd zB@bl}+57!jk-Q(x9DV#>b zjc=aeDQSdWurEkYQAVyNya8oavT&`=cqYUJ;X-oG^ANw!T}~wuau0=FwIUsTq91UZ zAL(I8BqZCz_?Q$8h$Ll{}Os(Sbv^rkRh6YkWlW zn2vI6;_;8C0nju_`YF5)aqn7g+_?x;!or5o0<($Yz-uSx17PG`AYs_*BerzQ08$9;uyeeL&-X* z21;Y3h<($fVG|Tvv!&k-$!C%!snVt)p#@d`WKzmX8iO24AuL0fjE_P|_D>H`ie4OpR;$+N6_zL#=vkCyvQsW2m-3 zMr;Kv)`*W|TSM_Z3tK~V+C;rGxyWV=p?jNMq22N_>lA~Kmzi}AA50ucW1Mxdk7`e- z`5NIu6`T^-6I#-qP)@MS_Jrb|pgo}+_=9tqa@w9yTyf-2jJzrLGMzf<_k>O&i8s_K z-=s4riKoRpjddVi7`q#4)Gd3d`H2mh3tFeSpy~V{UM)1YVJc1cgjx%hAd&e!p}s-( zpi1yz9&b-5W%RP)(mt>~q1HT*5Xr7bBCQa^3_t7%?Ql2cw;lL*V|{}01JpRsLpkG7 z!~C!(R4Q}orsnsAdI+U^LVM-iWP7wrOX98=Zk2i18m+b46N;LJXPtgh4_giwrqRI8 zd)VTuXFXw?EzP$*p_Sz#E#XH;x+k>Keov@quw(3=&^}zc&5hRD-|9w7%Uj%NE1c); zJwGD9CzMm+;!bm;wLPJ9plMI2wgiV=rDNP^!=BJmx+gU7s?2U^)MrLRu}*NnJ?o7? z#a_Ii&G8f4MT6k4o{hJtcsMbIn3!OkHbn~siu%BppK>Hh7x7ozwNu7>vt~+rI!02E z^$Ygv)iDkSupmyVz<3he&fImi_^)F}LNS>lO*ZEGjTx6SPU+V|ky zfGVo5^7lP7(@e^f%|Q1;Iwqox19 zk98-pM%8N+7^7q-z@q5fFx@8bnLeCWpUZw|TbezWxFJiFyLJGXC{VbiIAOWGt2W#j z>a#%^F2WPtKN_}h7Wt^V?2r2h^X^Q7f`;zc0$mT>E;8 z63Cjp%s)LNxSA4F*wDs%m-7^y7W^idxOtt!W`*EePS-LAL-Q>!%HEawmaEF-b|#n1 zNvYW4THc0cuH$$U*0H)%C-Q%_vD9IoZN`$3YZ=R~rm-~NaU0UyST_7qTE?=yyP=I` zcQ%$U!fzZD1>|8Y^M2!>NyqZVIHiQ~ZT1sy9^Zy*p*f|D9pAe!_KiEfKYKX_Qj&F> zfn?ZP22zJjH;B@_g^S)>I3vpS;}KS zZJ!y4vIB3T;3-_z1^_*m17Vt{ur>;2&k#3ev&J(D0K#GVd>jMa;we0Kpzn;5c-(+RemiZ_4RKpO0d#)zqsA+=uXTzhDt1&DpY~ktS;Z zgY2|5m~JV6f0}dcr|dTLgo0f%!Pj*s0!f<^6cX1r!6g%Y&MQKz0JgV9!SJ4)lQpzx zhm^V1X)Z)dvsjV)OZBXZ9GI}pWy!g=e>c>uH7g&|&WwLGiCqlbsrg-;r^R6PXaGuqK3@8)ZVYsN`vz ztW$oF1^Jfh54ImVEncKK13G*Mqf1(54kAYYRHOPAWOcXd8|~bx0Iy!~ON-0`KKfb& z&0ar_9}goWYyWh!_M=eyTuPeelRk%_otEX7B;7M~L{bfL5rxn|@a|IE2J66_^xI&C z$4FsGxf-^1Hj+AhrC*>@4}cJt+qd|`h{P#eatL%2>!WEk0fNsnho(sZ0z)|(%K`Ne zK$Sp-HdlOqvh_PYD7;jb23WUD0<8NCCse3lSn(}-hLLLIyJ0f<_O#&6ie`LdA=czl zBKScU)xA-0by=8P9_Y5Xr1=l^15mS#FR^C7PkJY-a@`#rol&u))Jc?DkCGvSBDY3L z(UNu2iR*7C8&b??JV0#Y*~E)ip=Cc4bR#%mwT^= zpn1wbl|KR_9jqpG?xsM5^vL(e1Cl6^nVz=wUs#BqXjDqsGAE}{4}4$+d>|d&fXu(@ zZzPp`ky`_*(O3e>8SC9SJ8e^wM)W)g{hgO%qUKz6hGvZP{E{TDhU@>ovc!dG&|c!Y z#hiuAie-B=UyQ@(am>fZ6uh3+@s;TYy;i|G#Sb3|)jgP-bOY^vZbAd)HtNvaCY>|o zGj=S1$DV(N{is;+uE3~%?HUMWx|`2=52%;g7FKh(ZhNc4A)ThnCRYe6;CV32z+jXb z=IU?vWo7M^<5F8Y#RhpSP0E***1zqadDGTTG5RCkuoTj$KmBHhPVNQ%W8WNlXuQ(4 zDNqMX|6{*dw`aV1zWjaOG+AWYLf|HsL13Rw32w5jq;1~)7;lb=pY=Z!S@d~SbW-=Yjk4!gw_(oiUL9s9X(gVKWT>XGe--C zeI6`LD-Vc!xM|Y)S;I1vPMNvs?Xz$^vo|zZ7GynZlleiC(+=Ev5W|8k8l}jYzS(jK z-cJ79vw*hgn=AFEX>c0i$|lW?P7+j_`)k+ZMb{Q(x2W#!Jn+(QZj?E$r`?;+eumPT zhAjQ&M>-Y&KY_8s{4srFEA6d)9M(5Yq{(Qj1evV1a;!5#PtIgD{3WtC;a&qdK0<8V zobVtNnB}>|%J#F7*64F~Kt&-H0x)xDf;46|C8@00zN}}*PIi~`p$&aQPoUMTTa77h zj|sqO_f~R9kndi~19SLv8I5a`tmWghMFGLT9JnPRi!*_TY&ke?dMd3bm$;fm;%4A( z{1#Z%gbgOIX_4fCbhS|OS}?R>-!ePhZ&Ev5llXBv;zx=Yn}udg%hqjrHVnKPgZVs; z0g7dxv#d6t>$HB|!1zy3A#aO-{>28Jt5EdQoG|rp+TteRF6A0J=wztr@j#! zJLAHamd2MYjaF(AVoJ8e+;HqHS5GWPf3H(b-0NzQoH_yBNr0*9)P$9hch7s0@w%v3 z#Ojpn-(wD>7@k-;bj$0}AjWgjiXSR2Ari5VX2iEk3)HEAJW65htcIkDe~f5e}rdT(M zwy{~nW*Ob*2CIK^%#WE8iduOZ^EJLn$Nm~Ut|%XlF<;*@XoE(_X(28G(}`E1?ztl{ zrmTe*4<1MN?wU#+i^o=R$6$4PC(cO>{XyahcM!0IbxoO%F`?p;qM+f)iXupp3>6jU z2jh=|_ncBFB)4Dm=Y4D)lha!#(P$F_5aF(?6Ffv4l+AUd%*aS}GlFLycdE% z7Dn6#_My823Vv!h?mPOq5PlSrBz z9~Josg6VueS$O*%e|9|Hgi0_HO(wq|73^T)LS-*y+230i|Jhz(O*stSAmt22K%2s8 zxIaBSk=iljh;23_DT&4Nk>ZX~n~fSH0-!osXE=os!1AxLS(lAXN87Qvzy_jeY~E=} z>DcV*$wqK64A-cV{0PQlMiA}S*Srl(^H@=CTeGjGsb-HTz4D4t~#oB(+~ zu*S3D`u?!03Ya5zsb4H=Dg5cq>ffe21+-$F)(UZRRCoc}2A6GVDB*(Nc(U`}JB(b# zo^{Z9Vxc9-hhv9aHgu=OqxoDh>D{Y=w^POO$cd75I-2KG{I~}t_LxJVy*Rvr7dpnL z^@ZFIlOM?kvGK)3)Dmf9=s`)uE`o_vO3O`!--H=Q&$)9IQkDp{vJj?KdSi(n3yyk% zzWa^$*S97UY|L{5afFMQgeZ^-u{fj^+V{^fe`hQe_t0a{7+dSGRJ@K`XAC}G5=Mbj z!{x3*!I}Rx-!S7yoVk83AZ&4Nx7Op|e(Xu(fKF}LOgO*R>Tf!p>0t9LzCLa2$2T8O z)!WqZ(KhqdmgD{!&&Dwg=Sb3H1O1*k)E$rgc(uuz1^1~u8hkw@J`D5HCLMmxmq=^_ z{^@*9X4;G_Q>t;_n_QhNx8A1HjH;8A)SE|0OF3;!%Cvln6@*Q>aV(NAn^V7YNmkO} zm=v96&{&FB{i973VKmnut-Hn}#+DZi@@>4x_|X4^po_1MdVModR&!0TW-iR9Sobi) z=Q0_PIj;tw8$sKVHI}$8pUA$OVXLvx$HJc3PH;x$ygVXo~*fr01wm|Vy6&kwSxEC2ihp1sqI z6>^vZcs)KY5&X_HcOH(=@y)yP#2ipzbq0J4)-AwiU0(Ul@Io+-82Jisp~7Rs9c{Ll z;AT7qayJIb`g(pSAz60(#T$KS zR>X3Gv*w%qW18Ir7+IkOn0%&Dze3Pd&LacWS7k-BOXc0RSwtEDsqR+nLP@_A0W2EJ zOkhgup@|to_*_SRkXB`L@H++PcX>Etbe2{^AFgJ}M%s{DRB~hb^_^*BlJ+)t^#EP< zI3>Z<-RtnF4Sj!?>bt<#_e3ouhDOLU)nVE(L>>mznZZ6VzR(-%SJ`18Q%<_S`bzX; zt^ISZ&cr5oa)NPnO;I}-1d3V-abgHz)?7`P0PAeY<9nSYl&IggXq^{zh6PzR5%qyT zxUBp#M#Akpy+B^c9;nswlOUDo9z60r;V4%{TqnGagT=Y-y5fFBla;#F%#G{Y5cf;V zi%K8lf;Rb{80q+R#dnhdP2vJBlytV9baoL9l4og@JaCE1IfHLhjQw}fBE(bwtTU`n zp`hY|(t8$_V)EnBT1*bvxqoUHT+n;wd*g#Oo(w~g^w>YuJf8t&bqbUK5BGJVJW5oI zOQ#mz?KbxS=c0R#vuNnOJ`cl7?QHp!a+hNPzb2HX$8@AHjzDq0p2xs`Hg5XpL4DLp zGK4J7Q^P%s9$7Rp|DfMf3-3I=@Xj#mDQZhzWj9E^LHDWbDP~J>MNWXkk^p&}6tSBn zq?Vdfd#MC^igZk*q*rpQcz*2kMo~r5<5m3?_ua#o6pT^?QHhm1Hc1o>X)}D<%J1g# z;lQAL+PJ8EX$_G7nd~kZx+fs{7cyTne%vUTyPi*xfhk6v8q*Yx#|D5ZO2ZGXKpMrL4`T+ykQN zxFR8sLqL>YygU$83I#$M>sQ=M%|0a^TKfDg&n{%%!s0mX)WX{hk;DVoibG+n`G%$# zHjsF#0%lg&^*$2Zh15xloxjcXbh=O5@%vob6rZ-|xkm5Z5g9=N zEAo&*ZK}_+`FFYRriJf9nrAt}Ce1uQcNy52OG<8SvHAJy-enUL59s*p4z}#yIKx-P zv|-e9$XB%@(n`Cr<}&k@H*4|@KIN(hGosBCh2j#XsaS}6U3a}`;sDC~yA*8u0y$5y z_v-7M#Gy0BF1TweHb(MI7`emyCMW^*MG}!0Xf$YaLAbWeJw2%jeFfn89}5@IxGelRpmC6`6dNN9_=ghLj)WA5#En-W5^O7ZcSK^!LBLCw$_AQ^1;cM zvA4C1Yg!YoX#Heua}HJpSfI)k8o8a#2}O5hYZ+IyCLCk{b7d6WuUZqXZ?3lJR<|a+ z5PEBaN)-E*gABqgDZtz}x-@F;>wX>rpWx;XXmFc2^K*flH@No?Kq0p)aOQ_#+@i6E zGX9=2)o=89QfNLs(G=D&d(YEKKvb0hU-%E7V#gQekSDLdvyhxjC5mSd-r`=Tx7pLe z+*5^+Ki{6*c-OCYe!^lC?2r|kec0Rda<#q8@}e{5E3qwT*_ZS6POzLutBE)9UnK$y z`Q~AhR>C|bgtE%Xh?SKU4RgpBeTJTv!xg+WjO|ep)5JBPC5YGyrub|mhc3U%$hNe! zxCkqm+@#BS8=!)&mb{7CjK{HMi7}JmW2;%PXcj>=Ts(sx3s`bob#MCUAEoZ&s%y_5 zr=P8L0Xx$OJWOpZp_Hs%^+)Mfh8pD@{t1u4MnCW%@vU>*XQvq60Dg@?JDjrBHEq|+XLZP;qm}JtE+epVn2H<_;WvJyHfV>6?C+$-fLBFsHP(K(5zAH z-8xNA*~`&pMzp{A5p!ZbGY*`M$1(uvW^rM;=7H^m1KW2Gu>m4-|@jeY8`n- zhwQK%G5YU_QGp*-vhxa=;Nfi&P>jW~c&iiNOOo`+#hB;u>H;WDA*pVOpvJN81 zk0>O^qqIzN{5uj9{r$>khtlFfmHLvYfJt_U$I#W59U?y$L5dZ^P zgP;#*1})!i_Tyy?1JiaZ9Dhp${jq$s=E`n3Nw*ELJB0;d|Mjc&b+~_3T9P)O+C0!Gc3ZL9!xwIJ zTGIW2P$b3w%wvtOn(2=IMafN)>)6F$bP^>G>XE?M9cfE0J;C#|DEaC?;nP&qt42*X zJNNMMtYQX}Ij!-{<@o9Wu|(tZL@|XP^1ZY12KKlTY4pPO0=xANM#6_= zFniCs5Lqqpv@CJdoXst$o$(jjnM?1eqiK z((StGt!yfHSIv;e1C6(ZU)fZ9)zJMi%Snf2C7me8VkYj9xF$z&m^@N+F$Vyqszy`R zc=GqK{bnA}m*g>HV}I_OADobTxFQee%O~dEd^}^Q&pyZeewD{gU(*XGdIGtvFXcHt z{a1M;*q3kH{(KA8?41AG^Ia3^sPpHg30?pID>!&rHs>_uf4AGx0RCF{?Bl z?#%;fXZ~U9yj-@uC*~fuRdWvy@^5~T=Pov1`sEAgZf~6AY31fT z3^(Q9Jd_8>4S5)>&g0Qd`2sG_KirldxE=ZCJzUClcFzP)DUbBdzyZq;8pDFtD*d3X z?q<*|*@v0ZtvfO(veNXKJjT)rV|$OyHihJg?6Cppd-71f8>d5+tYSXrS*6{7K6igZ zxR2cZLK$Or{mp~-=uGQ_+cJmBzlMvdN@M}aeK8NJ8z)wOP?Ql+)3I?vjDYySc*m{c zlJrmRPz3~{3GA;STw5o?C_D{rDgGBF2fxj_B^CnY;$%bQ9_q2JG`S2LzC#9?9owA;U(MpuJpV80k@XIcGG9psw>OxP%pW#JE0OaM)%M>KR^pL zK;H&_VHdN9w-yP@0DOt0m`c5a!`(#-W$!_%+mQlCw^1y&mG`E8YCU)z__Q5zc$2@J z|L(oaL)d*x_rMgpEGaIh*%L3Umy(6=MdkRRR@#!Da|VzG_yji_b!+0A1hEg)iU_of zXOuj4qeLCLObIAOD=2=syHgVzUTPK862G>mUaH{*NgalUQfG2^I_J)-SP`=zC3}Q9 zjEJZSGm=XcW@g^JDp-#;%XcldByTNJAQEUn{$sudw{2#w2BWuYW@tgB+i;8k40;{$ z4dD^P-LD37pQsq90{e#U%<0zOnG~r4lS?YEkGx(hxcitQp(r94ggc_BhN2LC!riWE z>D`B?+MT*=Emwo~4pu7^j~v{c-qfpIjDWk;>B=&YJuCX3e}>UmI{xkcea&AlpYE?8 z30Gp6*!$hH{Pq45{q+*@mZi5JzU0uON1lA@&#L7@@@Lgf8QUwmFY|-3le?0Bs`|0V zLUuQYZY=%8N}-?9ChEuD7P(t$cNhKt#C-=q6U+1PU3x-C6s2fHM3jz*6cG?aMMV^` z3j`7%0tqIesZUW53kp{3ii*7}cCd>b?7jCcDppj!*}EJh5X*8vR%9O(GFsTNT!fV9f@2qGHFs`WLmsnM4G)!j;WU-OOh*+ z5*<*cs91qmB6o1IcXzaRv`ck!4R>|1OOnJ%q$v`+c(EiY)h+@h90EcIYYUeR6n_QFyXgM5I$I z?XP4R3|XM)Fu7D>=VT9j>F7d~CKC|&DS=bXVUnZ-hv;~PGxUT5a3>7Km^9!9u{^0x zcl=S~RR(=^8KP8CR1)+73|SZkaz%KQRH6{2Dk#Ee5;Q7FG|?nRtZ)FC5)}s=4KgH2 zEVM&I(k?PuAdGf)5eNmYj%|gJ?HznI?F9NwKj*8P1_9|l zJl>9cPfaRlVE!y~HJynpwPvFf8Auw3q(m5gbxH6?BS%eafJUJS(O*e~U-epD=B(%5 zLIqI0Bv-(&00JvwiMcx}NhSluMm0rEKSn3iCF5VU9u$OFX^K)7lIl*q;Z8zw$Eik- zQXXi@@5H=?F!Z2wC8`&WshqzToC)hbv=+b2k+RQ9Ej!+_)D z)oYG$<%2pr_(xcx#qpq5|2G^-iLkO1g-byzSEw%pd>g-K;TfVBh)M!G%ZkL(Xv}4Nd}FS zY>pbq{-AobRw#g2C?*UJ8p}nMQivrrlmR7L3X6V`dKL|~0?J14S2R@PY!aZz^AojA z0xJuVFkEF-tGTl^GziwB3Rq9e!!H9{tk2!SVL$oAoCPp&bME$EMFo}>_yiPd_#dPovaYw6f3LiR6m zD>ZbD#nusee}SLSX*K6lL0_HVzw=R4tV}AA5-TwmXQGQG0&z0*GR$Z)i9iE&Nm8rp zq6AscbX8A`ArVNVpcSL_A*pT4BpOivdoe|H5zlZK+}*~Ln?J~ zn~(rMnQPfgdo(5KmG)WXP zn2S;!B+_tl@k}(~|F#BF30S!P4=Ye(3jl#tr^m=q_8XOe94rpXQHpS=k?h|IAr&lj zlrv3wgD4?UkyfKNQ6o=H@%)#%h(;V5%C6JW|Cz}VE$bX$=_7`v1!ZcdYWXV}BbO%0 zqD0|Hi6Hj`K#HP#YQpo^%79EpW>M?Xzf#D4Vlo%iUkMtFQ1yttwi&7(QU6p|MT@CA z9j3JJ+r>h^#-nXQVxL1MRY+l5Q|^E^C16G+!EmtACj$4>L83`XQ4VC#Y^2H=kjz$X zGo>bCB6B#Q(-4@|nWLVCbTxmHhIhpOby`!MhOC+T7AC2Z)@WeiDdZJ65onigY^CVpf;VeW)N@P%Ma%fc;AxMNZc>4oE+tk%oZ}BU!njRfi&fq+@Gx8X!6( zyn3orD?vlgsn-gW3}o&myr@XSZq1WARs1WR@t2(@PXgC1*bad5DKcyFaj5M~^%H{s zhAGMRf%pd7A<Xae{_rJ=bni%A~+#w03Si5LJlvomDN9dj;Cy_m!gG4e|z%(he){AxWSN(D=g9MP{%_5Of^i78xz$d8hW&?-kAImx_~+Mr1h zQBVKh)vsUjs!)t{XR_TIXYD%PK|+}zhD@(v9R6Eo1#y#~$1mLdUl>G!LYzu{zZLUI5%Sme=IKiv--K*&8A z_Mw&Di=ffRIiNqV0su|6ZYlMw*HLCirH9T>3jG@;N7H^$B;b$xKWh_VMn&G-h?W|P z{hL!2W8Y z1SLx%Mz-qo*E zR9>>3zY#a;xvTA72r;qxR3fJ2I5m(H1rqQ8)kuNA>8YRY#vt`mCXtDvYdTJ;_-PWm zN=G)*r?xH||4q$^@lt!gn=mjT{J)znt2YDdRKI#-*7!)Kde(+t%@T?(VXy)*iUoTT4ku4xQHxZ>j6&@f*9)K?{E6Jmb4{RfN&7H z^;H14ZnuR^MmQJaM%ebMQIj)o-Ty zXh>Z|brf?AJJp0Cm3&T`Q_(PL2?fg)q>uZ>RHCEtncv;gKO4M6*n^#}h ziIcjTPiWRpp+A`=$Zg>IYFXWd0I+v5S|iqL33X3clIRJ!r|L+En7)?(H03R*(cQRa z8y6A14m#L-QgH)UPpmFL>sjE`a6RGefGS4`6l$><3Dys^?@>=YiX6_uqeSuXNY1(| z1ugg(gT^mJ#j8n}YI&$KF*(E}!Rc*+cM&mw0bu_tRv?d!gj2c5o6xD9(sLP3$2x%c zA(H;*Eyr3VI1@_=l@fkcZ?sHPR^(U7s<*|IX{ny5rUEkGYQjSz{f!`2nl|f=AU~a! zHPx`X2`U{~edb?-lfu8oQFpbY2}K?CNL7o|l!2tIx_MdYw)8KPlWrGO_x(=?H8pa@ zQq9Hv&D4@8g0mFxp#~UVZuTVelWHP59zYfIE9NFrQwb@~rfO<$?*RX+B@MYuPfLiD z#*0V5w=(K$4A*5@(zhN2ZatQwX^z)83)fq_ep+I^mGCRd5nA&9uq4zw^;>9$%7lD>t?BGrbCW{Cs-?NkNTQdc7+p4KvClC}x*1QnIL_Q+H23H@I*zDC!8 zX)`<-K21TDim3b-{zX4Ws5aZzb05}}s?r3CtkwO2%s$i}yQXfgPN=ElG)#!(q!S)3 zjVJV(-z~(+*@iqAQAevHIp{a)0#sTQkG_mSIiS==`MWAmwt$*Spd923toeuvVLz!; z+d6Z$nz^Ss&(Eq;y$JxW?0=?UR_i5dQwTV-KmC0E>fr<`Jd_m>YOT1 z6h(zc%cKe6$lFn+4u2_7V9kOK)rKS2Inch~(C>eyO?}}}9zy<``Ve{~!MdV)S~&b< zeN1_OLt8>Y3H>jr)Ga+w6;M+tCQ}Jqzsi) zeH{Fag8CCOR~JyTRusmgkN8NVfKuq-8KG=a&rmBUSza@Ikdpy=qd|Z{;@`DgjSxg> z%1mmF{v)H@zujN{%Yq>}Y4 zZ{$}t;AF5`PpN5Oe>0wAMX6A4>T^`TsP}*QXc)PW{RQ%W_r=L!ay!^9fNHn3cdKXA z#D~W~;Y3z5%8#tx>J840%F`P}-N{d>)f;wls3Q9r+TK(8z||XejrPQP!>;jQh!Q(Q z#AiOMbw6t7MHv%@;5w6oiaJY74B_O1pG+_0R-p28f;B1syKqZ_&tDKbU2TbBi!2Cj zolzzJ=yRCKjwmTMfvJxPFbwMlS3|f8ZS^q`#HZkb4@P6;lA$l`#R?6o>Pz)cXl)z~b`2NQT zQ6ESw6GBq*M(J9XC;)Q};bacq34jBSBG}7B-c|%YIh@^~P69|J&_D1wAmW8s-beZQ z)KG~Sx;7p(qi)0p-?|BoC zFXPIEk?0k%+CjvF(G--F5DED}$0K~x{9=J-P#s7G>V5T1UqnH5s0VyQ7x+3M7vI)9?g?iu`e9-q|HFO=Iht<#xfGQ9)8l}7meHHBN z=;RE49NnX0;S;eyEh*vy;t&V=0063gwRsi!Ez60|49Jq=ML-oe3>+>N0)@rUav5|i z`V@qW=rp+^RwTi&TTq5Jl*NGSHr(HV>n_yd+h(Z6QaY-}J$Q5Kl#(uiIJPk4AFNm9VDioO6KO|fnr!Iw$^ zO$6|?C<3YjpQp^=>toJPrUP8Ma3PYqqdzX_PuswdUP1iMh*TbYEPNnYzYrxy5rnRO zi(v|Qk47pQ6~qc(xrzhs>?VnpVzb~q7v6u{Vt{cVUIZ{Ilk6gXZ}j4 zbW98eAGAmzX#C%s5 zLQmQe({l{;_$fSk2G?`AUcmJdu2*oqhU*Pn<#4@)>m6M0;i`b^ z16&{B`UKZ!xW2&kRT)=8{0*+}aQ%R*3NDNeyZ{#sE;?KcxR`LU;9|qYfs3nzc@S&C zr45%3T)J@S!KDwE0bD4Lp~{8Y;5JAf!{H`WQq5J70!36TUwOD%dA0={U(xyu4jGAr zAQNGMjlO;qLY>0`?va!EDUnC<#!4sy^{cfX`2h_WR(u7>34XKyh%Ri+hj)pC^|2-p zcRXN#p(aOsHY9kMir+P9K)~cQgTzgOAhi>W(SC>vy4q16Gllpm(AyZ|RvdlI0^&Y!HNboq?gq|E zK%HU?nFW0EGze_w0>#iL5BO+DLxeuYMh+gC2)+>`0se+jOh_bPWRZjq;)kCE2Q_8! zX(%f+SR_c`3&lbt2!JuU`dDKqV=`1q7xSI92MS$D%wUb7)XCoZm%@Ct5p~`Fmw4l1w1ny1YGNZ$6Qv~FCiv|oKy#;cZ3lI+}+1Y~+b8@u3SRM|a zX@_rZ!#CxH@C9&dNo&XeK_4z8>CFLMQ@EPJRlT_cayb!w^+$$ey$cwl#1TGFw z9~%s@D_qS~;0|z)I2PpIzJ1VgoC!aDi*A;3`M}S7GGI-;^f6#9%ndFpxF|Rb?(J1z z0oA z@&`%DKNWidMQf~I2#IS6&)Vu(q%Oky;c*iofF!1A6R!XMHRR;$>_M^T2#R9|K9nsH&EZyNkH#09eosqw2(b zcz74xm*L#@Wc5(DqnUt$kHLK#75F^d!>{0AMH_!q`S&KvrP8_qh`NA+{c6DqfZM6O z9}X}Qt5o`>03)$R!7Bmosse8S7!7;sePJzluM%c}M&`Tg6ts(pC=bAK1ZZVECTAiB z8y?+Meg9JZJqMBTG-PQ&71aw6Au=%Z;MGF(ibA~}0a}zg$S{ES2UOpmRex^??;oN^ zG$s%8Ek}20WF-MRgwVcz)$QvKFVI9^m!%WL5`G6SKB$^)+vsDFkOnChOt>i64(`$P zLBTEH9!)`QkF~UQ|RDBl0GgKd; zAWaSzEGXcw4E;%x!5>UNmc-WpVuZ&SVuaTmVuX)+Z&3@T@UMV0E#acz%W#i0TME7h z_ef)<;3u`<@>=kBfK}=pncd@%`%B*h4k5Ptqa5hYYa$rTAgMS@(BC{!fM zK>$yCd|5G&BuG`}O? zv8KGE&<$t`rOGb>7^%1vd<k2G*I#Tmic= zF(P;#97ir#BrtzU;jk(E>;@nCArXchkoXY+Xq)v1ow_ zD@9}yR7a5yd1~r_j9YL3R1WwETO}VYZIB@V8CtQ6khVF*@I4DC7_DAJU}1s^6Q#q8 zcydvPR>$`faDd!!XSi0h=3q~ z0A11%mPLq1{Xl0#V}ybO07lCU3JwAojp>LW^Z{Xi;NHH7aqajh@)yM`1Ym3g`!@U@ z05Zg3si4-0A$>D8xg2BY>Tzk>I=XE5Jx!(_mq*vp)q@}I)M0UXTJ`k~(EU&GqdG%% z|7Z25Xo5+e-~U79_wDyz{=weafdBFj!v+lc`+unZL&E;cKMV_t`1^mT{7B({ z`3KV!5vZ6_vtW8B0$9{OKZbF_5m~?a9aJFM3R&q+$v+ z6{{3+7iFi4c&)jJtfw_4Q$?VX(PLi{7t-rd$%7!aRgn7rsAy6@50dibNw8l)e7uE^ zG!W2JAq|?OiACT`gs4V8MVe>kGqp!ZWu1#2(clMseGAZ?E-IL{oLoyH4YLS6CFnyv zWq>up_hQ}0dVsAQJyu^ZPJFKR2QT=hpN!+P{cy@?<P;7%0e=~w=3oaHGzQM4;dmvx z3}@m_cJP7*|8QGei^bEzAw935J}%%>>GD$Ds_QPvK2zbX*I;OdLuzqBUaSkP-@mv}~Fdttsw> zYvay19S3}LCLL#>r{+W&7S5y@(adP>G!nBp-W6xlaeNR?V{36EaT=G4Y1! zx7UTn(3o1dB^QroK*K?yYeHkt^%**F%Yqt);jpTto70-YKOY*-=HN6fI%KkAw#9vE z7I-q9LF3{q`VATl%E#FVD~-eA(ePF{rA*ZJ43A`>lxB=znyy63z= zOQRX!4QZWNNR`#bIna+n~AaTHaHifL)979bOyeHhB2&g6QBh~>%|Dra$=0cUG-W6m3ee0 zs0G5!!=34tOq|mZ*QU8}c?=pJPKQcBKhW?+IGxiFdXs9h)r5z`p& z3p@fDXs;P8_-l%uL(XBSH{gv3#SGXz;Nmn4F%muv%4Fbto;8aGT*YP4==RX%7-|mQ zrxA^fh(3Y^sG-ksyeldMYOY0d0a~N-FawqzY;@8wrYD=r!07NZ;kdT}a0s*$a-dQe zu<>S$(Yg9Gc2mYII@X@y%)xc>Moe4}$}u3yU@|*4$MbbD+>3!RVb7JFzya$5-ZUb; z9P>3{nK%GZpx(xKGyE`&m9w}do7R*Wfww^n=r*9h~0f1x0A01eSLZNSFHeW6!j)Z=D|3{WR9>(QFv zO@JQi7YF0vMl2TA5%Wi7LaA6H#>T4UR97uWB%jzo0_d3*q2Z-75=-XF;*XdaSLbRNhkPspncIjuFxDIgV)o{(EeR@Ib( z2AQSJi3FLY^)DnA$SZ~!A+acV#l`IaU(zq7l_Qc>JOVBr3`5(Z`mrHrBBmbhQFjB!wrFm0fBUn8=CWWiur47NT} zeyB+fU#4cM!N$E*BnHroloa}^n)(Q4L?E}AmTHCA~n(jC=I-hx&f!XfF7?S zLpZ7u9!q0Y(@vfCmOX`WqgL*9g+5 zYpsC09lU;!pT&djWU+W9ZD~xbLr^2IctM4maKWL2F`3ttgX{5mt@JQn5f5X{=UG8{ zjUXSGig}owwz~lhGqq%x0|RFbNv-jb;(3;Y_Gh;c8Ijz|k z%Mq2I&d=>Z@+#_Q$^}Yh`k=pY~I+CZ^Lg3ZVmy~!PbMVV;tp<>5e&W3*FYa?R7itbIa$A53O6nZmqj@>>biu z+&jJZ+<}`1o*4K*@LkY2(q&liu!LdR!`8}9$ezh~BW*_Z9GRFgGh=7Q%?#QU>nXja zq|90}>-em93(c71KPF;ACW{8s3EZI@q%tw-Tnuh;F7cSlW}z1h;Bxd1G&Pv4&}&dM z*@Vi#0+*%4BhP+&siu#nCJDkqF3 zHVkzZfuF%s2nznYzofcg1*LrtbmMc7MsDum@tcTSzJg+RD%xMFO7>qc92Y5Wn(!kn0A?f z0LCnrNw%9yCp0fMBx5qz9FhbKXc!1I4!B#f*>tXwqEHX;y@Gj|#f1I_1%@OHR0bwW zP@6b378eKsN&`V8)Mz%$k1*LWfFu|j)LTR^P+l=QAYw3CY&sokffP|hI?%p>m_TzV zhQ)%aa4;50MmCKNgk`fpW^+JyV1kwhN&)I`I*ZQcg7p)6k&EVfE)$0$N#X)uaydv- zVltQTxy=dWZ$&2kHTCCEGDs90sT@fEOJ4I2cUaKt(Xy zDw&an<`QTJIJ_~?1`x0jtXvpewvt7Wwuy0|c0eK!+!!zx8|joBrjm0(Q(-cofl&07HDA{;B*WFQ49nC`!cLx zp+l6+50++Flz{D~ALar!fv;+v(MS%+G~(0%Ic4fH)Yq0fsII z1`rzrCyWjy^MDiq@&KCxHxUdCQVIkFT2<1yAZ1{ z0t~bCAtG!b8T;gt@x;SqJnSaT&zZnjR^-46%#Vhd6CNEd6f#w8OrBSpL=V{aup%u;W272?y8tVP4ZC z9uBzY=QCw{s`;jd{=skVUw&xP-G9cVo~*L+bbrkE>J+GYA@_l+J~4f5fRa!%l@7q9 z0|xP{yL@#1Qq32G+U+4qN+PAirq$;mx7j7p#Ki}Z={WO6EPsxmDF9|9QFi-IfRUPlE6sX^GLepYY$s8~@{ z9Q?8;_|jWLQ&9CcQLHn!mfLlJ`LDg18Q;i4h+ao+weYK!| zs<3t~Sf>^&1K3g}e+s}3DsU#i$QDQ8j|Nzk9z6iIPt@luZ(CBTK33i&VC~CszHg@Y+h_3YApv*zHfGv} zW@o3`etSv48S_J(tcUcz5b&*nfVZDmxgmG`@I``e-w60r_UjfY77L$`{Kh~U7M2i_ z>NCCD>5X~cv>5idkh8@Oj`DR4G?fX^sbe*Mt=+rke0`4`ptDE$B-n7TxED89S z$GDcK#w)I1-)#xFV$S|KXUekjO~1Pk@T2u@jOX%P-n9GPfq-+iwrf)vj*kD{mw@w5wA@>|ByMK@_aOwFxgzo(%lP#-_Iwu- z@W<=nIs>BDEx+_Vo`9|19=<*E^Zoa4zAFfLS9;aj)f={N=lvK(z}bPL;+f%*6I%Yr zB;XLogDw$OMJK#}Od;SoVA zejFj-^Lvl}p2RZVZJ+Qx zs_G#Dzc4YFA>=$N8eR30fKN{hmU2%QO_^6!LBO`6Cie#z?>x7y>RT1&o0kW|i|Mnl zw2A>%VFVNyBK`hpl{R7q2$AcLzDV6bC;TKZER#FybE>=d*ru2n@pfB7_KA_Da}Kx> z;{)swL!OT;bsn7?LTqkhSZw;Ubp>wcFC~CM1%=KQ^Np=q^;$9!LvF9IK&U)&(P>%K zt7Tx)KwKAKJqY-QXq`z8=UB#7tScWN zB>}hZ;ROWTa*F#6mqQCye8blh@Q@{Qm&@jtd~8H3B;eA0&-#Y!zq!+iRz$$}eJ$P@ zzyCI|2ki&}uSgwoVL>VXbTsWW0pAH}KJxvbMsvr~E)uYZW3xFox98tqK)Xr6dD|Wg z2|0Id^$yxY0`B0ys^HqF1(j!MF9}%RzhG659?5%O&?*SnWTDTFH#zIFS@drNY@6AC zrT&{{XZfHdq6e*=rayaBpufPAj$|Sn0nuK#v~q#|lTf-5`M$z4@*3ZIeInhAfXA1u z8WGmrKRugnNx*iu*3*3+Hs8Mj%;6}1Zk2zS!@`)H19TSx_T4pQ;UeR<7q8Ph5bzq) z2Zb|kG+F$C?oYtiQts@L?9Y3l$3QX@`WFtFp;_=BxX@ydg4e)3lHe4)widij3IA*c zg7qRfU%;Z#+KJzx1K-uDwF*T8RFx|CmNE|o->wC>rK#836=2nR$Jc@%0BogFr#H3W(@OYy zSADDnq?-p9axtOcop7(Y4bbetjzd8SiEQQAsyh8HWqL>GWC{l?j0qeR42ui`7K!X^ zf&@WgNwlNLu`XfZI2oJ;u(kG^J* z#z)_Djf_vLK0{UeJ$1H9^GP#}XUw3ycDoIUek2cWDE*;`qZM)w;!4Xa%1y6UW5D@sVi4bD777 z6DZLN4?d54?!li3xb*?&T!@hoY7@kWkJa;`49cAFj>>aZnfIDp1zf)p!Tm}hOXH`A6>!2v!AFO-;EU+U@d}*_B7R?5 z3JNqF;=@|c(8mIxoV#H4o(yF#jfmJ>gZ zAe^aBXaY-EKgHvD_j(e zjNHi86}DoLAsmb`Y#JCzXgsDCO_!k$JCKIV24+UE{cB8XqGQH1=QM+DnqiDM+9vuI zS`n>`c8+#Y`x5su?F#KWewTTV_Jr}2_L^VL_)PoCsKm8fd3FrymAiQHl9Aan^OkMh zleLA#=DK=y?DzicIfhYV*Y^GTk6F8MQ*pbyh7%^`EN1BF8W^^Aa`EUK&@C{imryi$ z%GBH)2M-@9Idyr+j-94vYz|M$$k^50WA&P=*SPJcO<&FCd3KBz=gu&YhVOs93s zx2ll7^B34Vw6YFel)rR&!K&38_7ojqX=yh!_werAd*!OrXY$!iOe|V<^nUX4P1Vs7 z2ERp1E9PY&zQ*tYd38^aCYM+iS*X(nPCu8}T@eJv+P8qc~j0 zM$G1PQzq`?#^}y;VDP{U>celv(B`_*J(wnJhBiC6TYK2)WZQFiEGxP>hn9Y}k3PM< zEvHQ*6Du<#V{Q-><*(C(&0}@twBjadb?VrL<;mo+dV_^bpU%`8$f21>HtovcrLPRL z=&Z$K=``?Q!S0BeEyFl{cL!mJc2_PhptEULPKZu7HZOgLg)Wa3z%!?J>DHdE3#GcV zd1GChus!MKp}3y2PR4@hB(3x#lY2zzWIF0M;^i)2j_Wdiw?|gVICpj%#t@bjY_?c4 z8;srTkzO)b)ScnZHt<25Gv_lW^Kxt6vL|EP>fz=rT?S|Dlu3*@rVgFU*3XSd|H>L$ z*rN+q(INdKPtHkf7%&3%X0-cro1{+|+l4;9lU~Ej;ASjV`Xw8*_nl}*H(}7m`ZP1} zVB%xXwn@Ki!@$ShP5;!o2Ln6+G7S8Cc%>ie0H(T7rl|{UtgbCXsNIj3zR}HG#}=%y zG+kEu{EVv%1MrtfVT7}^8MvM{!wuSN&9PuT#U^y%P@%WZ@kGaBPf=q7Aa+>F+&5ua{Dx6`u69T`qEXM7c7 z4Q(xB9p@{plKGwXgI>kmkeZe~b(v%T0ohZgncdRW>)xaCo4tegkfGuCGpFWEpRs1k zp1ns)PMo~`@KF`UAO=8t4^OXdfkQKM;AP>Sy(K40%N{<$s)vUs8XsXoQRegoi%yi5 z=@_*3@a){J|KK5E;X={W>1!a%(GzzbJ}TES=-f>xO3&O{v~T~VE9Gx9#%C9-+_(Se zv9jwoy3Q>=Q&L*iEvQ%jfnnj3a&ouq*t!2;$+0U2jf@8m`S|HaReHkk+jn%ENu*}x z;s1=@xT)vfqDIC|n+0?U>V*c$=rP-mUc7X({Ot#sJXevFXJzlOYSYgB$I7nUnUDF* znd_L_thDU>#nP&vUV{d+IePl79A3YXNZWgPcj`QCdPq#t@e^myUA^|?M->aWAHKR8Hldc291co8#05~rtJP;k~Y>3X86%zN1FjI7}_2T^OoWK1jewI>BpJlHq%X5HyF#dH8C51MXcZu&k8g?9R7ld<~D^n2WQi|OsTV}}@}@8YE2 zYUoMlvD`QT9Br0Dt0{dDV<0y@qp=yU5w`~;eKKoZfwnQjX(?mubt~|SV5YCsANzrg z^V_iC?NmnkKDsGg59uspQ<{*KGW+}pUP+ebT{ z@}jh%A=1*xcjgUxc2l0FZ)cAa+^IeNN8EqVazP_b3sckYvN5TfhfPVy`NY?K^r77GN3SJ$L&m@1Y;CuucUW7y z;^G!vinc}DWZxdw;BmY3RND>7>q8y+m5s8UPH$=+e9E)OOyjr?Pj}zk;I-ehjpe?; zJE^zEcaMA;a!qH`GM5br=2zm@wv~Dfzc?Xw!y}(5LRl7THg;;t)DvqCHEz~>(|6t2 zu6quAe^c&x@!jp{mZrsqv;@W6AG4EJWcKeK@yT&VcYNaXj-x#0heGgWjt@rXrl+Ko%^-oL$)WLW|JZb2sxRjf>hcB}~p=yt!TI&~Qm%Xk^hX z2iIw}`{J?0>VV1}Xx`+8ZVjyK{EpD6BdV=L{>AE;aR^-96x&7{bPP@3{!iv1Cq6vH69@!S(IA!jn zg08t8RFaKE+7Od`$L%@+DH!9Bci)Ih(Had>FQ| z{3SbZ*%oJ`XTxs<3l@F6X8ZJngt=+SdZ$*C&JVHh;Fvk>qb$3uinU#NQN;=Wq>kOa z$gAgN&X!BpPw%zm2E8bsIWC}l{ED2ToQMy5TQ;|P<Gvw>046Fr_hshGG-q$wjB0m z_lHH7T1x%TpM5ami}?osIBPkxd&<#a8Ih$g7dXG<`F)9b5OgWIvt=dz^pN+eGc!N= zF0`0@vEQpS+Oqe01_x7<`uN3N_V4F1#kcd^HEUDjCN9eOxM6Ic zju-b$iw&~4pVX`4gz3u|PgnY<45Hm%J1FFV&KlQK%w=aAHXKe_=II?Lob(?&NN0Nb zrKa<)8D<{Jn)QR1HsI-wyOX1TP#wCtyvXSHxlO6sg51{dwDrOOIS=-qWp6FZ7hng1%$&7vUef4vPp_ z8q#KT<=t7mGHD0rC3O0B%3pEa-o43)sFr?C2RI>>KSB+rf1S8wK+)@&UgalS?HRo; zv|ZZvsGaSSMp@^W?#_H4Vc8!i|%X zC(m9w<3!UYFDIS(s^vP=(CF3IZaYUtH;Z|h{-rdtqS3(BX=aa1e4eDYy0>%O`2ic- zb5A?v>Q9`udDqLW=h$!Njo0%2v9;ma!kdp*HOo3N42vl(Ext4V;=P%7r>}}B?i7Lf zF1?(6*D_&eshy6-l8N$9&%O@m8k;xm!{9O37f%`%oK)bx$qo-2kv1=PB0aBD zpA)Rigw(Mgu3j0lZEc3YkB(oy=UjFsJmQj&H*wnhz^0W}XT~hO>p5in7*^=~ z{MYY>NDtgOaW!z;%BEePALzQ)p(1;8|8F_w5ofKgTfV(M%kwR@voe6Q^D@WlX!5JE zmfMYuPc4(26l!;$lH50TS;DegH~%@s{r*qcP={G-Xj)vYhJAOak$vBah72Uy``_*{%{(?$U+6JLb1LaIs{HnPtr9$nGcT=cDk$pZ&jG znV#&kz`Sf|r>NU^(_EE1IS)I1F#OhV;M^lNBkuX_p7n0g%&o>F2TMB+8vHW;o9FmdICbg<0xH!lu@MVWbFRg`^?fUKiT;O^xY-57}y;<}2 zx!#+dVmcvn{Kt87jT`LtmSheb8G7IPk(J`W=v)1tludf%aQ(SSTWaU1dGec~$Iq90 zN9`NL(pphexF#enX$1R~US-1DV?9e>+?!=xVmPqd(+kB9KQ1hfXghVtwY}@E*bNuH zT;y`Z);)dmwz9Q(J=3NZ#~k(jkkTdpW`0KKxBM&RFC$F5eOYV!aFV}l`=TRRjVjzD z7wo*$e(3s3r4~n%tj(OLovQ3{ajr9+qy8xp4*#_H!s@I!PITJBs-YWS6!+Yo#R*yc z?Ry3-W6XzZ(RNECSD%bIKk~cf;ix;Zvk^rFUTbcrXCyTJG;r~$E}c?e=u8c1Bq-oK zR+Nw5cdbvq=-!D>2dACMZZ;#nmHo7sk9V8{hF^f>j&veFIDSP0^WntE+1IRABQIEUXqJuWTE#Hr-<%EJpcdomTSjt@?K zizrT6JFVjI!pSTH|8F<;dG21{@KWL13V*w<4MQtuygvFq+m2~qJTK6!r(MHarb#=> zU#A9K8nSsMjdZ7d{SkW?)nkBOR~~u=lAs5__*EBi-!H1oDW!i zcMo^z>46a$ib+@2FUcBke(tmGC%hBg3eMTEPPgcrl2J9i>{hFQ<*cZYoc*?~Lxp2@ zbh@;~xW{o%lasGgyq72Yh&k&UAF|U zv&>7L!fNvR`qXRvxeIPtUf$q&!nmO9;_A;6EbZVvK*dOER_7D8K8ARa|@7np>7~%$QfXV%mT{*l_*WiqnTecP~1f zR#x~r+GncKxZ(TfU7C5n+4`}Lp*~%&_IO+3fSq!?(aLz)sA0i_bn`dt@;vaJb^h(b zlV;-|mK$)ctqgQ5o)}>7|2=A@c|xPW+-de5lN-KV7`XVy1ZPH2&cON9&gS>l-sA7R zedA+&aN<43*?m8as>pdf@U_jk-Kig@bi6fde(8WFj-M5K$3401?3iQZaS-3stb=Qx zVGov0@h;jjZ{pj7^IM%d{Mi5Iqn)c7>P39W+kN13n1}wl*0)y}+%Vj=wdhItj*ne0 zHdOS}yFA@E`p%2y8-y-{yO|oyR_>&_yxfOf)7f&e(({e@(1d_pomRc}>D7Cv*H>N~ zV_WM1j}3dbF<8E$Q2XZNL-+MeKIN{H?Rh@_NqLu<`SKex?^bNhA&OORd?%cZX z58N5>sq-D#s-dNMhr3V8*qP%zWlwfoFM|(bM-?t!Clon*JFJngmW9feEf8c~F8=XD zcVr0f`1qs=o$>DtvRuQ%pV=x{#ZUS?%k%vg}n#X2-nd;Q6 z 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