prisma 6.17.0-dev.12 → 6.17.0-dev.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- "use strict";var Iu=Object.create;var Zr=Object.defineProperty;var ku=Object.getOwnPropertyDescriptor;var Ou=Object.getOwnPropertyNames;var Du=Object.getPrototypeOf,Nu=Object.prototype.hasOwnProperty;var zo=(e,t)=>()=>(e&&(t=e(e=0)),t);var Z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ut=(e,t)=>{for(var r in t)Zr(e,r,{get:t[r],enumerable:!0})},Yo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ou(t))!Nu.call(e,i)&&i!==r&&Zr(e,i,{get:()=>t[i],enumerable:!(n=ku(t,i))||n.enumerable});return e};var H=(e,t,r)=>(r=e!=null?Iu(Du(e)):{},Yo(t||!e||!e.__esModule?Zr(r,"default",{value:e,enumerable:!0}):r,e)),_u=e=>Yo(Zr({},"__esModule",{value:!0}),e);var ps=Z((Iy,rp)=>{rp.exports={name:"@prisma/internals",version:"6.17.0-dev.12",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek <suchanek@prisma.io>",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.17.0-6.7094b62bbd6bbc778403e89cdbcbfe598503ed9b","@prisma/schema-engine-wasm":"6.17.0-6.7094b62bbd6bbc778403e89cdbcbfe598503ed9b","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Ei=Z((Vy,sp)=>{sp.exports={name:"@prisma/engines-version",version:"6.17.0-6.7094b62bbd6bbc778403e89cdbcbfe598503ed9b",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek <suchanek@prisma.io>",prisma:{enginesVersion:"7094b62bbd6bbc778403e89cdbcbfe598503ed9b"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var ds=Z(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.enginesVersion=void 0;tn.enginesVersion=Ei().prisma.enginesVersion});var fs=Z((Uy,ms)=>{"use strict";ms.exports=e=>{let t=e.match(/^[ \t]*(?=\S)/gm);return t?t.reduce((r,n)=>Math.min(r,n.length),1/0):0}});var ws=Z((Qy,hs)=>{"use strict";hs.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var bs=Z((Yy,dp)=>{dp.exports={name:"dotenv",version:"16.5.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var As=Z((Zy,ke)=>{"use strict";var Ai=require("node:fs"),Ci=require("node:path"),mp=require("node:os"),fp=require("node:crypto"),gp=bs(),Ps=gp.version,yp=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function hp(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,`
1
+ "use strict";var Iu=Object.create;var Zr=Object.defineProperty;var ku=Object.getOwnPropertyDescriptor;var Ou=Object.getOwnPropertyNames;var Du=Object.getPrototypeOf,Nu=Object.prototype.hasOwnProperty;var zo=(e,t)=>()=>(e&&(t=e(e=0)),t);var Z=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),ut=(e,t)=>{for(var r in t)Zr(e,r,{get:t[r],enumerable:!0})},Yo=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let i of Ou(t))!Nu.call(e,i)&&i!==r&&Zr(e,i,{get:()=>t[i],enumerable:!(n=ku(t,i))||n.enumerable});return e};var H=(e,t,r)=>(r=e!=null?Iu(Du(e)):{},Yo(t||!e||!e.__esModule?Zr(r,"default",{value:e,enumerable:!0}):r,e)),_u=e=>Yo(Zr({},"__esModule",{value:!0}),e);var ps=Z((Iy,rp)=>{rp.exports={name:"@prisma/internals",version:"6.17.0-dev.13",description:"This package is intended for Prisma's internal use",main:"dist/index.js",types:"dist/index.d.ts",repository:{type:"git",url:"https://github.com/prisma/prisma.git",directory:"packages/internals"},homepage:"https://www.prisma.io",author:"Tim Suchanek <suchanek@prisma.io>",bugs:"https://github.com/prisma/prisma/issues",license:"Apache-2.0",scripts:{dev:"DEV=true tsx helpers/build.ts",build:"tsx helpers/build.ts",test:"dotenv -e ../../.db.env -- jest --silent",prepublishOnly:"pnpm run build"},files:["README.md","dist","!**/libquery_engine*","!dist/get-generators/engines/*","scripts"],devDependencies:{"@babel/helper-validator-identifier":"7.25.9","@opentelemetry/api":"1.9.0","@swc/core":"1.11.5","@swc/jest":"0.2.37","@types/babel__helper-validator-identifier":"7.15.2","@types/jest":"29.5.14","@types/node":"18.19.76","@types/resolve":"1.20.6",archiver:"6.0.2","checkpoint-client":"1.1.33","cli-truncate":"4.0.0",dotenv:"16.5.0",empathic:"2.0.0","escape-string-regexp":"5.0.0",execa:"8.0.1","fast-glob":"3.3.3","find-up":"7.0.0","fp-ts":"2.16.9","fs-extra":"11.3.0","global-directory":"4.0.0",globby:"11.1.0","identifier-regex":"1.0.0","indent-string":"4.0.0","is-windows":"1.0.2","is-wsl":"3.1.0",jest:"29.7.0","jest-junit":"16.0.0",kleur:"4.1.5","mock-stdin":"1.0.0","new-github-issue-url":"0.2.1","node-fetch":"3.3.2","npm-packlist":"5.1.3",open:"7.4.2","p-map":"4.0.0",resolve:"1.22.10","string-width":"7.2.0","strip-indent":"4.0.0","temp-dir":"2.0.0",tempy:"1.0.1","terminal-link":"4.0.0",tmp:"0.2.3","ts-pattern":"5.6.2","ts-toolbelt":"9.6.0",typescript:"5.4.5",yarn:"1.22.22"},dependencies:{"@prisma/config":"workspace:*","@prisma/debug":"workspace:*","@prisma/dmmf":"workspace:*","@prisma/driver-adapter-utils":"workspace:*","@prisma/engines":"workspace:*","@prisma/fetch-engine":"workspace:*","@prisma/generator":"workspace:*","@prisma/generator-helper":"workspace:*","@prisma/get-platform":"workspace:*","@prisma/prisma-schema-wasm":"6.17.0-6.7094b62bbd6bbc778403e89cdbcbfe598503ed9b","@prisma/schema-engine-wasm":"6.17.0-6.7094b62bbd6bbc778403e89cdbcbfe598503ed9b","@prisma/schema-files-loader":"workspace:*",arg:"5.0.2",prompts:"2.4.2"},peerDependencies:{typescript:">=5.1.0"},peerDependenciesMeta:{typescript:{optional:!0}},sideEffects:!1}});var Ei=Z((Vy,sp)=>{sp.exports={name:"@prisma/engines-version",version:"6.17.0-6.7094b62bbd6bbc778403e89cdbcbfe598503ed9b",main:"index.js",types:"index.d.ts",license:"Apache-2.0",author:"Tim Suchanek <suchanek@prisma.io>",prisma:{enginesVersion:"7094b62bbd6bbc778403e89cdbcbfe598503ed9b"},repository:{type:"git",url:"https://github.com/prisma/engines-wrapper.git",directory:"packages/engines-version"},devDependencies:{"@types/node":"18.19.76",typescript:"4.9.5"},files:["index.js","index.d.ts"],scripts:{build:"tsc -d"}}});var ds=Z(tn=>{"use strict";Object.defineProperty(tn,"__esModule",{value:!0});tn.enginesVersion=void 0;tn.enginesVersion=Ei().prisma.enginesVersion});var fs=Z((Uy,ms)=>{"use strict";ms.exports=e=>{let t=e.match(/^[ \t]*(?=\S)/gm);return t?t.reduce((r,n)=>Math.min(r,n.length),1/0):0}});var ws=Z((Qy,hs)=>{"use strict";hs.exports=(e,t=1,r)=>{if(r={indent:" ",includeEmptyLines:!1,...r},typeof e!="string")throw new TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if(typeof t!="number")throw new TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(typeof r.indent!="string")throw new TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof r.indent}\``);if(t===0)return e;let n=r.includeEmptyLines?/^/gm:/^(?!\s*$)/gm;return e.replace(n,r.indent.repeat(t))}});var bs=Z((Yy,dp)=>{dp.exports={name:"dotenv",version:"16.5.0",description:"Loads environment variables from .env file",main:"lib/main.js",types:"lib/main.d.ts",exports:{".":{types:"./lib/main.d.ts",require:"./lib/main.js",default:"./lib/main.js"},"./config":"./config.js","./config.js":"./config.js","./lib/env-options":"./lib/env-options.js","./lib/env-options.js":"./lib/env-options.js","./lib/cli-options":"./lib/cli-options.js","./lib/cli-options.js":"./lib/cli-options.js","./package.json":"./package.json"},scripts:{"dts-check":"tsc --project tests/types/tsconfig.json",lint:"standard",pretest:"npm run lint && npm run dts-check",test:"tap run --allow-empty-coverage --disable-coverage --timeout=60000","test:coverage":"tap run --show-full-coverage --timeout=60000 --coverage-report=lcov",prerelease:"npm test",release:"standard-version"},repository:{type:"git",url:"git://github.com/motdotla/dotenv.git"},homepage:"https://github.com/motdotla/dotenv#readme",funding:"https://dotenvx.com",keywords:["dotenv","env",".env","environment","variables","config","settings"],readmeFilename:"README.md",license:"BSD-2-Clause",devDependencies:{"@types/node":"^18.11.3",decache:"^4.6.2",sinon:"^14.0.1",standard:"^17.0.0","standard-version":"^9.5.0",tap:"^19.2.0",typescript:"^4.8.4"},engines:{node:">=12"},browser:{fs:!1}}});var As=Z((Zy,ke)=>{"use strict";var Ai=require("node:fs"),Ci=require("node:path"),mp=require("node:os"),fp=require("node:crypto"),gp=bs(),Ps=gp.version,yp=/(?:^|^)\s*(?:export\s+)?([\w.-]+)(?:\s*=\s*?|:\s+?)(\s*'(?:\\'|[^'])*'|\s*"(?:\\"|[^"])*"|\s*`(?:\\`|[^`])*`|[^#\r\n]+)?\s*(?:#.*)?(?:$|$)/mg;function hp(e){let t={},r=e.toString();r=r.replace(/\r\n?/mg,`
2
2
  `);let n;for(;(n=yp.exec(r))!=null;){let i=n[1],o=n[2]||"";o=o.trim();let s=o[0];o=o.replace(/^(['"`])([\s\S]*)\1$/mg,"$2"),s==='"'&&(o=o.replace(/\\n/g,`
3
3
  `),o=o.replace(/\\r/g,"\r")),t[i]=o}return t}function wp(e){let t=Ts(e),r=B.configDotenv({path:t});if(!r.parsed){let s=new Error(`MISSING_DATA: Cannot parse ${t} for an unknown reason`);throw s.code="MISSING_DATA",s}let n=vs(e).split(","),i=n.length,o;for(let s=0;s<i;s++)try{let a=n[s].trim(),l=bp(r,a);o=B.decrypt(l.ciphertext,l.key);break}catch(a){if(s+1>=i)throw a}return B.parse(o)}function Ep(e){console.log(`[dotenv@${Ps}][WARN] ${e}`)}function rr(e){console.log(`[dotenv@${Ps}][DEBUG] ${e}`)}function vs(e){return e&&e.DOTENV_KEY&&e.DOTENV_KEY.length>0?e.DOTENV_KEY:process.env.DOTENV_KEY&&process.env.DOTENV_KEY.length>0?process.env.DOTENV_KEY:""}function bp(e,t){let r;try{r=new URL(t)}catch(a){if(a.code==="ERR_INVALID_URL"){let l=new Error("INVALID_DOTENV_KEY: Wrong format. Must be in valid uri format like dotenv://:key_1234@dotenvx.com/vault/.env.vault?environment=development");throw l.code="INVALID_DOTENV_KEY",l}throw a}let n=r.password;if(!n){let a=new Error("INVALID_DOTENV_KEY: Missing key part");throw a.code="INVALID_DOTENV_KEY",a}let i=r.searchParams.get("environment");if(!i){let a=new Error("INVALID_DOTENV_KEY: Missing environment part");throw a.code="INVALID_DOTENV_KEY",a}let o=`DOTENV_VAULT_${i.toUpperCase()}`,s=e.parsed[o];if(!s){let a=new Error(`NOT_FOUND_DOTENV_ENVIRONMENT: Cannot locate environment ${o} in your .env.vault file.`);throw a.code="NOT_FOUND_DOTENV_ENVIRONMENT",a}return{ciphertext:s,key:n}}function Ts(e){let t=null;if(e&&e.path&&e.path.length>0)if(Array.isArray(e.path))for(let r of e.path)Ai.existsSync(r)&&(t=r.endsWith(".vault")?r:`${r}.vault`);else t=e.path.endsWith(".vault")?e.path:`${e.path}.vault`;else t=Ci.resolve(process.cwd(),".env.vault");return Ai.existsSync(t)?t:null}function xs(e){return e[0]==="~"?Ci.join(mp.homedir(),e.slice(1)):e}function xp(e){!!(e&&e.debug)&&rr("Loading env from encrypted .env.vault");let r=B._parseVault(e),n=process.env;return e&&e.processEnv!=null&&(n=e.processEnv),B.populate(n,r,e),{parsed:r}}function Pp(e){let t=Ci.resolve(process.cwd(),".env"),r="utf8",n=!!(e&&e.debug);e&&e.encoding?r=e.encoding:n&&rr("No encoding is specified. UTF-8 is used by default");let i=[t];if(e&&e.path)if(!Array.isArray(e.path))i=[xs(e.path)];else{i=[];for(let l of e.path)i.push(xs(l))}let o,s={};for(let l of i)try{let c=B.parse(Ai.readFileSync(l,{encoding:r}));B.populate(s,c,e)}catch(c){n&&rr(`Failed to load ${l} ${c.message}`),o=c}let a=process.env;return e&&e.processEnv!=null&&(a=e.processEnv),B.populate(a,s,e),o?{parsed:s,error:o}:{parsed:s}}function vp(e){if(vs(e).length===0)return B.configDotenv(e);let t=Ts(e);return t?B._configVault(e):(Ep(`You set DOTENV_KEY but you are missing a .env.vault file at ${t}. Did you forget to build it?`),B.configDotenv(e))}function Tp(e,t){let r=Buffer.from(t.slice(-64),"hex"),n=Buffer.from(e,"base64"),i=n.subarray(0,12),o=n.subarray(-16);n=n.subarray(12,-16);try{let s=fp.createDecipheriv("aes-256-gcm",r,i);return s.setAuthTag(o),`${s.update(n)}${s.final()}`}catch(s){let a=s instanceof RangeError,l=s.message==="Invalid key length",c=s.message==="Unsupported state or unable to authenticate data";if(a||l){let u=new Error("INVALID_DOTENV_KEY: It must be 64 characters long (or more)");throw u.code="INVALID_DOTENV_KEY",u}else if(c){let u=new Error("DECRYPTION_FAILED: Please check your DOTENV_KEY");throw u.code="DECRYPTION_FAILED",u}else throw s}}function Ap(e,t,r={}){let n=!!(r&&r.debug),i=!!(r&&r.override);if(typeof t!="object"){let o=new Error("OBJECT_REQUIRED: Please check the processEnv argument being passed to populate");throw o.code="OBJECT_REQUIRED",o}for(let o of Object.keys(t))Object.prototype.hasOwnProperty.call(e,o)?(i===!0&&(e[o]=t[o]),n&&rr(i===!0?`"${o}" is already defined and WAS overwritten`:`"${o}" is already defined and was NOT overwritten`)):e[o]=t[o]}var B={configDotenv:Pp,_configVault:xp,_parseVault:wp,config:vp,decrypt:Tp,parse:hp,populate:Ap};ke.exports.configDotenv=B.configDotenv;ke.exports._configVault=B._configVault;ke.exports._parseVault=B._parseVault;ke.exports.config=B.config;ke.exports.decrypt=B.decrypt;ke.exports.parse=B.parse;ke.exports.populate=B.populate;ke.exports=B});var Is=Z((ih,sn)=>{"use strict";sn.exports=(e={})=>{let t;if(e.repoUrl)t=e.repoUrl;else if(e.user&&e.repo)t=`https://github.com/${e.user}/${e.repo}`;else throw new Error("You need to specify either the `repoUrl` option or both the `user` and `repo` options");let r=new URL(`${t}/issues/new`),n=["body","title","labels","template","milestone","assignee","projects"];for(let i of n){let o=e[i];if(o!==void 0){if(i==="labels"||i==="projects"){if(!Array.isArray(o))throw new TypeError(`The \`${i}\` option should be an array`);o=o.join(",")}r.searchParams.set(i,o)}}return r.toString()};sn.exports.default=sn.exports});var Li=Z((kw,Xs)=>{"use strict";Xs.exports=function(){function e(t,r,n,i,o){return t<r||n<r?t>n?n+1:t+1:i===o?r:r+1}return function(t,r){if(t===r)return 0;if(t.length>r.length){var n=t;t=r,r=n}for(var i=t.length,o=r.length;i>0&&t.charCodeAt(i-1)===r.charCodeAt(o-1);)i--,o--;for(var s=0;s<i&&t.charCodeAt(s)===r.charCodeAt(s);)s++;if(i-=s,o-=s,i===0||o<3)return o;var a=0,l,c,u,p,d,m,y,g,I,A,C,w,k=[];for(l=0;l<i;l++)k.push(l+1),k.push(t.charCodeAt(s+l));for(var fe=k.length-1;a<o-3;)for(I=r.charCodeAt(s+(c=a)),A=r.charCodeAt(s+(u=a+1)),C=r.charCodeAt(s+(p=a+2)),w=r.charCodeAt(s+(d=a+3)),m=a+=4,l=0;l<fe;l+=2)y=k[l],g=k[l+1],c=e(y,c,u,I,g),u=e(c,u,p,A,g),p=e(u,p,d,C,g),m=e(p,d,m,w,g),k[l]=m,d=p,p=u,u=c,c=y;for(;a<o;)for(I=r.charCodeAt(s+(c=a)),m=++a,l=0;l<fe;l+=2)y=k[l],k[l]=m=e(y,c,m,I,k[l+1]),c=y;return m}}()});var ia=zo(()=>{"use strict"});var oa=zo(()=>{"use strict"});var lo=Z(et=>{"use strict";Object.defineProperty(et,"__esModule",{value:!0});et.anumber=ao;et.abytes=Al;et.ahash=ff;et.aexists=gf;et.aoutput=yf;function ao(e){if(!Number.isSafeInteger(e)||e<0)throw new Error("positive integer expected, got "+e)}function mf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Al(e,...t){if(!mf(e))throw new Error("Uint8Array expected");if(t.length>0&&!t.includes(e.length))throw new Error("Uint8Array expected of length "+t+", got length="+e.length)}function ff(e){if(typeof e!="function"||typeof e.create!="function")throw new Error("Hash should be wrapped by utils.wrapConstructor");ao(e.outputLen),ao(e.blockLen)}function gf(e,t=!0){if(e.destroyed)throw new Error("Hash instance has been destroyed");if(t&&e.finished)throw new Error("Hash#digest() has already been called")}function yf(e,t){Al(e);let r=t.outputLen;if(e.length<r)throw new Error("digestInto() expects output buffer of length at least "+r)}});var Jl=Z(v=>{"use strict";Object.defineProperty(v,"__esModule",{value:!0});v.add5L=v.add5H=v.add4H=v.add4L=v.add3H=v.add3L=v.rotlBL=v.rotlBH=v.rotlSL=v.rotlSH=v.rotr32L=v.rotr32H=v.rotrBL=v.rotrBH=v.rotrSL=v.rotrSH=v.shrSL=v.shrSH=v.toBig=void 0;v.fromBig=uo;v.split=Cl;v.add=ql;var Bn=BigInt(2**32-1),co=BigInt(32);function uo(e,t=!1){return t?{h:Number(e&Bn),l:Number(e>>co&Bn)}:{h:Number(e>>co&Bn)|0,l:Number(e&Bn)|0}}function Cl(e,t=!1){let r=new Uint32Array(e.length),n=new Uint32Array(e.length);for(let i=0;i<e.length;i++){let{h:o,l:s}=uo(e[i],t);[r[i],n[i]]=[o,s]}return[r,n]}var Rl=(e,t)=>BigInt(e>>>0)<<co|BigInt(t>>>0);v.toBig=Rl;var Sl=(e,t,r)=>e>>>r;v.shrSH=Sl;var Il=(e,t,r)=>e<<32-r|t>>>r;v.shrSL=Il;var kl=(e,t,r)=>e>>>r|t<<32-r;v.rotrSH=kl;var Ol=(e,t,r)=>e<<32-r|t>>>r;v.rotrSL=Ol;var Dl=(e,t,r)=>e<<64-r|t>>>r-32;v.rotrBH=Dl;var Nl=(e,t,r)=>e>>>r-32|t<<64-r;v.rotrBL=Nl;var _l=(e,t)=>t;v.rotr32H=_l;var Ml=(e,t)=>e;v.rotr32L=Ml;var Fl=(e,t,r)=>e<<r|t>>>32-r;v.rotlSH=Fl;var Ll=(e,t,r)=>t<<r|e>>>32-r;v.rotlSL=Ll;var $l=(e,t,r)=>t<<r-32|e>>>64-r;v.rotlBH=$l;var Vl=(e,t,r)=>e<<r-32|t>>>64-r;v.rotlBL=Vl;function ql(e,t,r,n){let i=(t>>>0)+(n>>>0);return{h:e+r+(i/2**32|0)|0,l:i|0}}var Ul=(e,t,r)=>(e>>>0)+(t>>>0)+(r>>>0);v.add3L=Ul;var jl=(e,t,r,n)=>t+r+n+(e/2**32|0)|0;v.add3H=jl;var Bl=(e,t,r,n)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0);v.add4L=Bl;var Ql=(e,t,r,n,i)=>t+r+n+i+(e/2**32|0)|0;v.add4H=Ql;var Hl=(e,t,r,n,i)=>(e>>>0)+(t>>>0)+(r>>>0)+(n>>>0)+(i>>>0);v.add5L=Hl;var Gl=(e,t,r,n,i,o)=>t+r+n+i+o+(e/2**32|0)|0;v.add5H=Gl;var hf={fromBig:uo,split:Cl,toBig:Rl,shrSH:Sl,shrSL:Il,rotrSH:kl,rotrSL:Ol,rotrBH:Dl,rotrBL:Nl,rotr32H:_l,rotr32L:Ml,rotlSH:Fl,rotlSL:Ll,rotlBH:$l,rotlBL:Vl,add:ql,add3L:Ul,add3H:jl,add4L:Bl,add4H:Ql,add5H:Gl,add5L:Hl};v.default=hf});var Wl=Z(Qn=>{"use strict";Object.defineProperty(Qn,"__esModule",{value:!0});Qn.crypto=void 0;var He=require("node:crypto");Qn.crypto=He&&typeof He=="object"&&"webcrypto"in He?He.webcrypto:He&&typeof He=="object"&&"randomBytes"in He?He:void 0});var Yl=Z(S=>{"use strict";Object.defineProperty(S,"__esModule",{value:!0});S.Hash=S.nextTick=S.byteSwapIfBE=S.isLE=void 0;S.isBytes=wf;S.u8=Ef;S.u32=bf;S.createView=xf;S.rotr=Pf;S.rotl=vf;S.byteSwap=fo;S.byteSwap32=Tf;S.bytesToHex=Cf;S.hexToBytes=Rf;S.asyncLoop=If;S.utf8ToBytes=zl;S.toBytes=Hn;S.concatBytes=kf;S.checkOpts=Of;S.wrapConstructor=Df;S.wrapConstructorWithOpts=Nf;S.wrapXOFConstructorWithOpts=_f;S.randomBytes=Mf;var Nt=Wl(),mo=lo();function wf(e){return e instanceof Uint8Array||ArrayBuffer.isView(e)&&e.constructor.name==="Uint8Array"}function Ef(e){return new Uint8Array(e.buffer,e.byteOffset,e.byteLength)}function bf(e){return new Uint32Array(e.buffer,e.byteOffset,Math.floor(e.byteLength/4))}function xf(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function Pf(e,t){return e<<32-t|e>>>t}function vf(e,t){return e<<t|e>>>32-t>>>0}S.isLE=new Uint8Array(new Uint32Array([287454020]).buffer)[0]===68;function fo(e){return e<<24&4278190080|e<<8&16711680|e>>>8&65280|e>>>24&255}S.byteSwapIfBE=S.isLE?e=>e:e=>fo(e);function Tf(e){for(let t=0;t<e.length;t++)e[t]=fo(e[t])}var Af=Array.from({length:256},(e,t)=>t.toString(16).padStart(2,"0"));function Cf(e){(0,mo.abytes)(e);let t="";for(let r=0;r<e.length;r++)t+=Af[e[r]];return t}var _e={_0:48,_9:57,A:65,F:70,a:97,f:102};function Kl(e){if(e>=_e._0&&e<=_e._9)return e-_e._0;if(e>=_e.A&&e<=_e.F)return e-(_e.A-10);if(e>=_e.a&&e<=_e.f)return e-(_e.a-10)}function Rf(e){if(typeof e!="string")throw new Error("hex string expected, got "+typeof e);let t=e.length,r=t/2;if(t%2)throw new Error("hex string expected, got unpadded hex of length "+t);let n=new Uint8Array(r);for(let i=0,o=0;i<r;i++,o+=2){let s=Kl(e.charCodeAt(o)),a=Kl(e.charCodeAt(o+1));if(s===void 0||a===void 0){let l=e[o]+e[o+1];throw new Error('hex string expected, got non-hex character "'+l+'" at index '+o)}n[i]=s*16+a}return n}var Sf=async()=>{};S.nextTick=Sf;async function If(e,t,r){let n=Date.now();for(let i=0;i<e;i++){r(i);let o=Date.now()-n;o>=0&&o<t||(await(0,S.nextTick)(),n+=o)}}function zl(e){if(typeof e!="string")throw new Error("utf8ToBytes expected string, got "+typeof e);return new Uint8Array(new TextEncoder().encode(e))}function Hn(e){return typeof e=="string"&&(e=zl(e)),(0,mo.abytes)(e),e}function kf(...e){let t=0;for(let n=0;n<e.length;n++){let i=e[n];(0,mo.abytes)(i),t+=i.length}let r=new Uint8Array(t);for(let n=0,i=0;n<e.length;n++){let o=e[n];r.set(o,i),i+=o.length}return r}var po=class{clone(){return this._cloneInto()}};S.Hash=po;function Of(e,t){if(t!==void 0&&{}.toString.call(t)!=="[object Object]")throw new Error("Options should be object or undefined");return Object.assign(e,t)}function Df(e){let t=n=>e().update(Hn(n)).digest(),r=e();return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=()=>e(),t}function Nf(e){let t=(n,i)=>e(i).update(Hn(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}function _f(e){let t=(n,i)=>e(i).update(Hn(n)).digest(),r=e({});return t.outputLen=r.outputLen,t.blockLen=r.blockLen,t.create=n=>e(n),t}function Mf(e=32){if(Nt.crypto&&typeof Nt.crypto.getRandomValues=="function")return Nt.crypto.getRandomValues(new Uint8Array(e));if(Nt.crypto&&typeof Nt.crypto.randomBytes=="function")return Nt.crypto.randomBytes(e);throw new Error("crypto.getRandomValues must be defined")}});var oc=Z(V=>{"use strict";Object.defineProperty(V,"__esModule",{value:!0});V.shake256=V.shake128=V.keccak_512=V.keccak_384=V.keccak_256=V.keccak_224=V.sha3_512=V.sha3_384=V.sha3_256=V.sha3_224=V.Keccak=void 0;V.keccakP=nc;var _t=lo(),Ar=Jl(),Me=Yl(),ec=[],tc=[],rc=[],Ff=BigInt(0),Tr=BigInt(1),Lf=BigInt(2),$f=BigInt(7),Vf=BigInt(256),qf=BigInt(113);for(let e=0,t=Tr,r=1,n=0;e<24;e++){[r,n]=[n,(2*r+3*n)%5],ec.push(2*(5*n+r)),tc.push((e+1)*(e+2)/2%64);let i=Ff;for(let o=0;o<7;o++)t=(t<<Tr^(t>>$f)*qf)%Vf,t&Lf&&(i^=Tr<<(Tr<<BigInt(o))-Tr);rc.push(i)}var[Uf,jf]=(0,Ar.split)(rc,!0),Zl=(e,t,r)=>r>32?(0,Ar.rotlBH)(e,t,r):(0,Ar.rotlSH)(e,t,r),Xl=(e,t,r)=>r>32?(0,Ar.rotlBL)(e,t,r):(0,Ar.rotlSL)(e,t,r);function nc(e,t=24){let r=new Uint32Array(10);for(let n=24-t;n<24;n++){for(let s=0;s<10;s++)r[s]=e[s]^e[s+10]^e[s+20]^e[s+30]^e[s+40];for(let s=0;s<10;s+=2){let a=(s+8)%10,l=(s+2)%10,c=r[l],u=r[l+1],p=Zl(c,u,1)^r[a],d=Xl(c,u,1)^r[a+1];for(let m=0;m<50;m+=10)e[s+m]^=p,e[s+m+1]^=d}let i=e[2],o=e[3];for(let s=0;s<24;s++){let a=tc[s],l=Zl(i,o,a),c=Xl(i,o,a),u=ec[s];i=e[u],o=e[u+1],e[u]=l,e[u+1]=c}for(let s=0;s<50;s+=10){for(let a=0;a<10;a++)r[a]=e[s+a];for(let a=0;a<10;a++)e[s+a]^=~r[(a+2)%10]&r[(a+4)%10]}e[0]^=Uf[n],e[1]^=jf[n]}r.fill(0)}var Cr=class e extends Me.Hash{constructor(t,r,n,i=!1,o=24){if(super(),this.blockLen=t,this.suffix=r,this.outputLen=n,this.enableXOF=i,this.rounds=o,this.pos=0,this.posOut=0,this.finished=!1,this.destroyed=!1,(0,_t.anumber)(n),0>=this.blockLen||this.blockLen>=200)throw new Error("Sha3 supports only keccak-f1600 function");this.state=new Uint8Array(200),this.state32=(0,Me.u32)(this.state)}keccak(){Me.isLE||(0,Me.byteSwap32)(this.state32),nc(this.state32,this.rounds),Me.isLE||(0,Me.byteSwap32)(this.state32),this.posOut=0,this.pos=0}update(t){(0,_t.aexists)(this);let{blockLen:r,state:n}=this;t=(0,Me.toBytes)(t);let i=t.length;for(let o=0;o<i;){let s=Math.min(r-this.pos,i-o);for(let a=0;a<s;a++)n[this.pos++]^=t[o++];this.pos===r&&this.keccak()}return this}finish(){if(this.finished)return;this.finished=!0;let{state:t,suffix:r,pos:n,blockLen:i}=this;t[n]^=r,(r&128)!==0&&n===i-1&&this.keccak(),t[i-1]^=128,this.keccak()}writeInto(t){(0,_t.aexists)(this,!1),(0,_t.abytes)(t),this.finish();let r=this.state,{blockLen:n}=this;for(let i=0,o=t.length;i<o;){this.posOut>=n&&this.keccak();let s=Math.min(n-this.posOut,o-i);t.set(r.subarray(this.posOut,this.posOut+s),i),this.posOut+=s,i+=s}return t}xofInto(t){if(!this.enableXOF)throw new Error("XOF is not possible for this instance");return this.writeInto(t)}xof(t){return(0,_t.anumber)(t),this.xofInto(new Uint8Array(t))}digestInto(t){if((0,_t.aoutput)(t,this),this.finished)throw new Error("digest() was already called");return this.writeInto(t),this.destroy(),t}digest(){return this.digestInto(new Uint8Array(this.outputLen))}destroy(){this.destroyed=!0,this.state.fill(0)}_cloneInto(t){let{blockLen:r,suffix:n,outputLen:i,rounds:o,enableXOF:s}=this;return t||(t=new e(r,n,i,s,o)),t.state32.set(this.state32),t.pos=this.pos,t.posOut=this.posOut,t.finished=this.finished,t.rounds=o,t.suffix=n,t.outputLen=i,t.enableXOF=s,t.destroyed=this.destroyed,t}};V.Keccak=Cr;var Ge=(e,t,r)=>(0,Me.wrapConstructor)(()=>new Cr(t,e,r));V.sha3_224=Ge(6,144,224/8);V.sha3_256=Ge(6,136,256/8);V.sha3_384=Ge(6,104,384/8);V.sha3_512=Ge(6,72,512/8);V.keccak_224=Ge(1,144,224/8);V.keccak_256=Ge(1,136,256/8);V.keccak_384=Ge(1,104,384/8);V.keccak_512=Ge(1,72,512/8);var ic=(e,t,r)=>(0,Me.wrapXOFConstructorWithOpts)((n={})=>new Cr(t,e,n.dkLen===void 0?r:n.dkLen,!0));V.shake128=ic(31,168,128/8);V.shake256=ic(31,136,256/8)});var mc=Z((LP,Je)=>{"use strict";var{sha3_512:Bf}=oc(),ac=24,Rr=32,go=(e=4,t=Math.random)=>{let r="";for(;r.length<e;)r=r+Math.floor(t()*36).toString(36);return r};function lc(e){let t=8n,r=0n;for(let n of e.values()){let i=BigInt(n);r=(r<<t)+i}return r}var cc=(e="")=>lc(Bf(e)).toString(36).slice(1),sc=Array.from({length:26},(e,t)=>String.fromCharCode(t+97)),Qf=e=>sc[Math.floor(e()*sc.length)],uc=({globalObj:e=typeof global<"u"?global:typeof window<"u"?window:{},random:t=Math.random}={})=>{let r=Object.keys(e).toString(),n=r.length?r+go(Rr,t):go(Rr,t);return cc(n).substring(0,Rr)},pc=e=>()=>e++,Hf=476782367,dc=({random:e=Math.random,counter:t=pc(Math.floor(e()*Hf)),length:r=ac,fingerprint:n=uc({random:e})}={})=>function(){let o=Qf(e),s=Date.now().toString(36),a=t().toString(36),l=go(r,e),c=`${s+l+a+n}`;return`${o+cc(c).substring(1,r)}`},Gf=dc(),Jf=(e,{minLength:t=2,maxLength:r=Rr}={})=>{let n=e.length,i=/^[0-9a-z]+$/;try{if(typeof e=="string"&&n>=t&&n<=r&&i.test(e))return!0}finally{}return!1};Je.exports.getConstants=()=>({defaultLength:ac,bigLength:Rr});Je.exports.init=dc;Je.exports.createId=Gf;Je.exports.bufToBigInt=lc;Je.exports.createCounter=pc;Je.exports.createFingerprint=uc;Je.exports.isCuid=Jf});var fc=Z(($P,Sr)=>{"use strict";var{createId:Wf,init:Kf,getConstants:zf,isCuid:Yf}=mc();Sr.exports.createId=Wf;Sr.exports.init=Kf;Sr.exports.getConstants=zf;Sr.exports.isCuid=Yf});var hy={};ut(hy,{DMMF:()=>ar,Debug:()=>q,Decimal:()=>ne,Extensions:()=>fi,MetricsClient:()=>Rt,PrismaClientInitializationError:()=>N,PrismaClientKnownRequestError:()=>U,PrismaClientRustPanicError:()=>re,PrismaClientUnknownRequestError:()=>J,PrismaClientValidationError:()=>X,Public:()=>gi,Sql:()=>ce,createParam:()=>xa,defineDmmfProperty:()=>Ra,deserializeJsonResponse:()=>Qe,deserializeRawResult:()=>ui,dmmfToRuntimeDataModel:()=>Ns,empty:()=>ka,getPrismaClient:()=>Cu,getRuntime:()=>Mc,join:()=>Ia,makeStrictEnum:()=>Ru,makeTypedQueryFactory:()=>Sa,objectEnumValues:()=>Cn,raw:()=>Gi,serializeJsonQuery:()=>Nn,skip:()=>Dn,sqltag:()=>Ji,warnEnvConflicts:()=>Su,warnOnce:()=>ir});module.exports=_u(hy);var fi={};ut(fi,{defineExtension:()=>Zo,getExtensionContext:()=>Xo});function Zo(e){return typeof e=="function"?e:t=>t.$extends(e)}function Xo(e){return e}var gi={};ut(gi,{validator:()=>es});function es(...e){return t=>t}var Xr={};ut(Xr,{$:()=>os,bgBlack:()=>Qu,bgBlue:()=>Wu,bgCyan:()=>zu,bgGreen:()=>Gu,bgMagenta:()=>Ku,bgRed:()=>Hu,bgWhite:()=>Yu,bgYellow:()=>Ju,black:()=>qu,blue:()=>Ye,bold:()=>te,cyan:()=>Se,dim:()=>Ke,gray:()=>zt,green:()=>Kt,grey:()=>Bu,hidden:()=>$u,inverse:()=>Lu,italic:()=>Fu,magenta:()=>Uu,red:()=>Re,reset:()=>Mu,strikethrough:()=>Vu,underline:()=>ae,white:()=>ju,yellow:()=>ze});var yi,ts,rs,ns,is=!0;typeof process<"u"&&({FORCE_COLOR:yi,NODE_DISABLE_COLORS:ts,NO_COLOR:rs,TERM:ns}=process.env||{},is=process.stdout&&process.stdout.isTTY);var os={enabled:!ts&&rs==null&&ns!=="dumb"&&(yi!=null&&yi!=="0"||is)};function F(e,t){let r=new RegExp(`\\x1b\\[${t}m`,"g"),n=`\x1B[${e}m`,i=`\x1B[${t}m`;return function(o){return!os.enabled||o==null?o:n+(~(""+o).indexOf(i)?o.replace(r,i+n):o)+i}}var Mu=F(0,0),te=F(1,22),Ke=F(2,22),Fu=F(3,23),ae=F(4,24),Lu=F(7,27),$u=F(8,28),Vu=F(9,29),qu=F(30,39),Re=F(31,39),Kt=F(32,39),ze=F(33,39),Ye=F(34,39),Uu=F(35,39),Se=F(36,39),ju=F(37,39),zt=F(90,39),Bu=F(90,39),Qu=F(40,49),Hu=F(41,49),Gu=F(42,49),Ju=F(43,49),Wu=F(44,49),Ku=F(45,49),zu=F(46,49),Yu=F(47,49);var Zu=100,ss=["green","yellow","blue","magenta","cyan","red"],Yt=[],as=Date.now(),Xu=0,hi=typeof process<"u"?process.env:{};globalThis.DEBUG??=hi.DEBUG??"";globalThis.DEBUG_COLORS??=hi.DEBUG_COLORS?hi.DEBUG_COLORS==="true":!0;var Zt={enable(e){typeof e=="string"&&(globalThis.DEBUG=e)},disable(){let e=globalThis.DEBUG;return globalThis.DEBUG="",e},enabled(e){let t=globalThis.DEBUG.split(",").map(i=>i.replace(/[.+?^${}()|[\]\\]/g,"\\$&")),r=t.some(i=>i===""||i[0]==="-"?!1:e.match(RegExp(i.split("*").join(".*")+"$"))),n=t.some(i=>i===""||i[0]!=="-"?!1:e.match(RegExp(i.slice(1).split("*").join(".*")+"$")));return r&&!n},log:(...e)=>{let[t,r,...n]=e;(console.warn??console.log)(`${t} ${r}`,...n)},formatters:{}};function ep(e){let t={color:ss[Xu++%ss.length],enabled:Zt.enabled(e),namespace:e,log:Zt.log,extend:()=>{}},r=(...n)=>{let{enabled:i,namespace:o,color:s,log:a}=t;if(n.length!==0&&Yt.push([o,...n]),Yt.length>Zu&&Yt.shift(),Zt.enabled(o)||i){let l=n.map(u=>typeof u=="string"?u:tp(u)),c=`+${Date.now()-as}ms`;as=Date.now(),globalThis.DEBUG_COLORS?a(Xr[s](te(o)),...l,Xr[s](c)):a(o,...l,c)}};return new Proxy(r,{get:(n,i)=>t[i],set:(n,i,o)=>t[i]=o})}var q=new Proxy(ep,{get:(e,t)=>Zt[t],set:(e,t,r)=>Zt[t]=r});function tp(e,t=2){let r=new Set;return JSON.stringify(e,(n,i)=>{if(typeof i=="object"&&i!==null){if(r.has(i))return"[Circular *]";r.add(i)}else if(typeof i=="bigint")return i.toString();return i},t)}function ls(e=7500){let t=Yt.map(([r,...n])=>`${r} ${n.map(i=>typeof i=="string"?i:JSON.stringify(i)).join(" ")}`).join(`
4
4
  `);return t.length<e?t:t.slice(-e)}function cs(){Yt.length=0}var us=q;var np=ps(),wi=np.version;function pt(e){let t=ip();return t||(e?.config.engineType==="library"?"library":e?.config.engineType==="binary"?"binary":e?.config.engineType==="client"?"client":op())}function ip(){let e=process.env.PRISMA_CLIENT_ENGINE_TYPE;return e==="library"?"library":e==="binary"?"binary":e==="client"?"client":void 0}function op(){return"library"}function en(e){return e.name==="DriverAdapterError"&&typeof e.cause=="object"}var b={Int32:0,Int64:1,Float:2,Double:3,Numeric:4,Boolean:5,Character:6,Text:7,Date:8,Time:9,DateTime:10,Json:11,Enum:12,Bytes:13,Set:14,Uuid:15,Int32Array:64,Int64Array:65,FloatArray:66,DoubleArray:67,NumericArray:68,BooleanArray:69,CharacterArray:70,TextArray:71,DateArray:72,TimeArray:73,DateTimeArray:74,JsonArray:75,EnumArray:76,BytesArray:77,UuidArray:78,UnknownNumber:128};var gs=H(fs(),1);function bi(e){let t=(0,gs.default)(e);if(t===0)return e;let r=new RegExp(`^[ \\t]{${t}}`,"gm");return e.replace(r,"")}var ys="prisma+postgres",rn=`${ys}:`;function nn(e){return e?.toString().startsWith(`${rn}//`)??!1}function xi(e){if(!nn(e))return!1;let{host:t}=new URL(e);return t.includes("localhost")||t.includes("127.0.0.1")||t.includes("[::1]")}var er={};ut(er,{error:()=>cp,info:()=>lp,log:()=>ap,query:()=>up,should:()=>Es,tags:()=>Xt,warn:()=>Pi});var Xt={error:Re("prisma:error"),warn:ze("prisma:warn"),info:Se("prisma:info"),query:Ye("prisma:query")},Es={warn:()=>!process.env.PRISMA_DISABLE_WARNINGS};function ap(...e){console.log(...e)}function Pi(e,...t){Es.warn()&&console.warn(`${Xt.warn} ${e}`,...t)}function lp(e,...t){console.info(`${Xt.info} ${e}`,...t)}function cp(e,...t){console.error(`${Xt.error} ${e}`,...t)}function up(e,...t){console.log(`${Xt.query} ${e}`,...t)}function Ie(e,t){throw new Error(t)}function vi({onlyFirst:e=!1}={}){let r=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(r,e?void 0:"g")}var pp=vi();function dt(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(pp,"")}var tr=H(require("node:path"));function Ti(e){return tr.default.sep===tr.default.posix.sep?e:e.split(tr.default.sep).join(tr.default.posix.sep)}var Si=H(As()),on=H(require("node:fs"));var mt=H(require("node:path"));function Cs(e){let t=e.ignoreProcessEnv?{}:process.env,r=n=>n.match(/(.?\${(?:[a-zA-Z0-9_]+)?})/g)?.reduce(function(o,s){let a=/(.?)\${([a-zA-Z0-9_]+)?}/g.exec(s);if(!a)return o;let l=a[1],c,u;if(l==="\\")u=a[0],c=u.replace("\\$","$");else{let p=a[2];u=a[0].substring(l.length),c=Object.hasOwnProperty.call(t,p)?t[p]:e.parsed[p]||"",c=r(c)}return o.replace(u,c)},n)??n;for(let n in e.parsed){let i=Object.hasOwnProperty.call(t,n)?t[n]:e.parsed[n];e.parsed[n]=r(i)}for(let n in e.parsed)t[n]=e.parsed[n];return e}var Ri=us("prisma:tryLoadEnv");function nr({rootEnvPath:e,schemaEnvPath:t},r={conflictCheck:"none"}){let n=Rs(e);r.conflictCheck!=="none"&&Cp(n,t,r.conflictCheck);let i=null;return Ss(n?.path,t)||(i=Rs(t)),!n&&!i&&Ri("No Environment variables loaded"),i?.dotenvResult.error?console.error(Re(te("Schema Env Error: "))+i.dotenvResult.error):{message:[n?.message,i?.message].filter(Boolean).join(`
@@ -68,7 +68,7 @@ ${ae(p)}
68
68
  If you want the Prisma team to look into it, please open the link above \u{1F64F}
69
69
  To increase the chance of success, please post your schema and a snippet of
70
70
  how you used Prisma Client in the issue.
71
- `}function O(e,t){throw new Error(t)}function eo(e,t){return e===t||e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>eo(e[r],t[r]))}function Ot(e,t){let r=Object.keys(e),n=Object.keys(t);return(r.length<n.length?r:n).every(o=>{if(typeof e[o]==typeof t[o]&&typeof e[o]!="object")return e[o]===t[o];if(ne.isDecimal(e[o])||ne.isDecimal(t[o])){let s=dl(e[o]),a=dl(t[o]);return s&&a&&s.equals(a)}else if(e[o]instanceof Uint8Array||t[o]instanceof Uint8Array){let s=ml(e[o]),a=ml(t[o]);return s&&a&&s.equals(a)}else{if(e[o]instanceof Date||t[o]instanceof Date)return fl(e[o])?.getTime()===fl(t[o])?.getTime();if(typeof e[o]=="bigint"||typeof t[o]=="bigint")return gl(e[o])===gl(t[o]);if(typeof e[o]=="number"||typeof t[o]=="number")return yl(e[o])===yl(t[o])}return eo(e[o],t[o])})}function dl(e){return ne.isDecimal(e)?e:typeof e=="number"||typeof e=="string"?new ne(e):void 0}function ml(e){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?Buffer.from(e,"base64"):void 0}function fl(e){return e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):void 0}function gl(e){return typeof e=="bigint"?e:typeof e=="number"||typeof e=="string"?BigInt(e):void 0}function yl(e){return typeof e=="number"?e:typeof e=="string"?Number(e):void 0}function Pr(e){return JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():ArrayBuffer.isView(r)?Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("base64"):r)}function Xm(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function ef(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}function Qe(e){return e===null?e:Array.isArray(e)?e.map(Qe):typeof e=="object"?Xm(e)?tf(e):e.constructor!==null&&e.constructor.name!=="Object"?e:ef(e,Qe):e}function tf({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=Buffer.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new De(t);case"Json":return JSON.parse(t);default:O(t,"Unknown tagged value")}}var oe=class extends Error{name="UserFacingError";code;meta;constructor(t,r,n){super(t),this.code=r,this.meta=n??{}}toQueryResponseErrorObject(){return{error:this.message,user_facing_error:{is_panic:!1,message:this.message,meta:this.meta,error_code:this.code}}}};function Dt(e){if(!en(e))throw e;let t=rf(e),r=hl(e);throw!t||!r?e:new oe(r,t,{driverAdapterError:e})}function ro(e){throw en(e)?new oe(`Raw query failed. Code: \`${e.cause.originalCode??"N/A"}\`. Message: \`${e.cause.originalMessage??hl(e)}\``,"P2010",{driverAdapterError:e}):e}function rf(e){switch(e.cause.kind){case"AuthenticationFailed":return"P1000";case"DatabaseNotReachable":return"P1001";case"DatabaseDoesNotExist":return"P1003";case"SocketTimeout":return"P1008";case"DatabaseAlreadyExists":return"P1009";case"DatabaseAccessDenied":return"P1010";case"TlsConnectionError":return"P1011";case"ConnectionClosed":return"P1017";case"TransactionAlreadyClosed":return"P1018";case"LengthMismatch":return"P2000";case"UniqueConstraintViolation":return"P2002";case"ForeignKeyConstraintViolation":return"P2003";case"UnsupportedNativeDataType":return"P2010";case"NullConstraintViolation":return"P2011";case"ValueOutOfRange":return"P2020";case"TableDoesNotExist":return"P2021";case"ColumnNotFound":return"P2022";case"InvalidIsolationLevel":case"InconsistentColumnData":return"P2023";case"MissingFullTextSearchIndex":return"P2030";case"TransactionWriteConflict":return"P2034";case"GenericJs":return"P2036";case"TooManyConnections":return"P2037";case"postgres":case"sqlite":case"mysql":case"mssql":return;default:O(e.cause,`Unknown error: ${e.cause}`)}}function hl(e){switch(e.cause.kind){case"AuthenticationFailed":return`Authentication failed against the database server, the provided database credentials for \`${e.cause.user??"(not available)"}\` are not valid`;case"DatabaseNotReachable":{let t=e.cause.host&&e.cause.port?`${e.cause.host}:${e.cause.port}`:e.cause.host;return`Can't reach database server${t?` at ${t}`:""}`}case"DatabaseDoesNotExist":return`Database \`${e.cause.db??"(not available)"}\` does not exist on the database server`;case"SocketTimeout":return"Operation has timed out";case"DatabaseAlreadyExists":return`Database \`${e.cause.db??"(not available)"}\` already exists on the database server`;case"DatabaseAccessDenied":return`User was denied access on the database \`${e.cause.db??"(not available)"}\``;case"TlsConnectionError":return`Error opening a TLS connection: ${e.cause.reason}`;case"ConnectionClosed":return"Server has closed the connection.";case"TransactionAlreadyClosed":return e.cause.cause;case"LengthMismatch":return`The provided value for the column is too long for the column's type. Column: ${e.cause.column??"(not available)"}`;case"UniqueConstraintViolation":return`Unique constraint failed on the ${to(e.cause.constraint)}`;case"ForeignKeyConstraintViolation":return`Foreign key constraint violated on the ${to(e.cause.constraint)}`;case"UnsupportedNativeDataType":return`Failed to deserialize column of type '${e.cause.type}'. If you're using $queryRaw and this column is explicitly marked as \`Unsupported\` in your Prisma schema, try casting this column to any supported Prisma type such as \`String\`.`;case"NullConstraintViolation":return`Null constraint violation on the ${to(e.cause.constraint)}`;case"ValueOutOfRange":return`Value out of range for the type: ${e.cause.cause}`;case"TableDoesNotExist":return`The table \`${e.cause.table??"(not available)"}\` does not exist in the current database.`;case"ColumnNotFound":return`The column \`${e.cause.column??"(not available)"}\` does not exist in the current database.`;case"InvalidIsolationLevel":return`Error in connector: Conversion error: ${e.cause.level}`;case"InconsistentColumnData":return`Inconsistent column data: ${e.cause.cause}`;case"MissingFullTextSearchIndex":return"Cannot find a fulltext index to use for the native search, try adding a @@fulltext([Fields...]) to your schema";case"TransactionWriteConflict":return"Transaction failed due to a write conflict or a deadlock. Please retry your transaction";case"GenericJs":return`Error in external connector (id ${e.cause.id})`;case"TooManyConnections":return`Too many database connections opened: ${e.cause.cause}`;case"sqlite":case"postgres":case"mysql":case"mssql":return;default:O(e.cause,`Unknown error: ${e.cause}`)}}function to(e){return e&&"fields"in e?`fields: (${e.fields.map(t=>`\`${t}\``).join(", ")})`:e&&"index"in e?`constraint: \`${e.index}\``:e&&"foreignKey"in e?"foreign key":"(not available)"}function wl(e,t){let r=e.map(i=>t.keys.reduce((o,s)=>(o[s]=Qe(i[s]),o),{})),n=new Set(t.nestedSelection);return t.arguments.map(i=>{let o=r.findIndex(s=>Ot(s,i));if(o===-1)return t.expectNonEmpty?new oe("An operation failed because it depends on one or more records that were required but not found","P2025"):null;{let s=Object.entries(e[o]).filter(([a])=>n.has(a));return Object.fromEntries(s)}})}var $=class extends Error{name="DataMapperError"};function bl(e,t,r){switch(t.type){case"affectedRows":if(typeof e!="number")throw new $(`Expected an affected rows count, got: ${typeof e} (${e})`);return{count:e};case"object":return io(e,t.fields,r,t.skipNulls);case"field":return no(e,"<result>",t.fieldType,r);default:O(t,`Invalid data mapping type: '${t.type}'`)}}function io(e,t,r,n){if(e===null)return null;if(Array.isArray(e)){let i=e;return n&&(i=i.filter(o=>o!==null)),i.map(o=>El(o,t,r))}if(typeof e=="object")return El(e,t,r);if(typeof e=="string"){let i;try{i=JSON.parse(e)}catch(o){throw new $("Expected an array or object, got a string that is not valid JSON",{cause:o})}return io(i,t,r,n)}throw new $(`Expected an array or an object, got: ${typeof e}`)}function El(e,t,r){if(typeof e!="object")throw new $(`Expected an object, but got '${typeof e}'`);let n={};for(let[i,o]of Object.entries(t))switch(o.type){case"affectedRows":throw new $(`Unexpected 'AffectedRows' node in data mapping for field '${i}'`);case"object":{if(o.serializedName!==null&&!Object.hasOwn(e,o.serializedName))throw new $(`Missing data field (Object): '${i}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`);let s=o.serializedName!==null?e[o.serializedName]:e;n[i]=io(s,o.fields,r,o.skipNulls);break}case"field":{let s=o.dbName;if(Object.hasOwn(e,s))n[i]=nf(e[s],s,o.fieldType,r);else throw new $(`Missing data field (Value): '${s}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`)}break;default:O(o,`DataMapper: Invalid data mapping node type: '${o.type}'`)}return n}function nf(e,t,r,n){return e===null?r.arity==="list"?[]:null:r.arity==="list"?e.map((o,s)=>no(o,`${t}[${s}]`,r,n)):no(e,t,r,n)}function no(e,t,r,n){switch(r.type){case"unsupported":return e;case"string":{if(typeof e!="string")throw new $(`Expected a string in column '${t}', got ${typeof e}: ${e}`);return e}case"int":switch(typeof e){case"number":return Math.trunc(e);case"string":{let i=Math.trunc(Number(e));if(Number.isNaN(i)||!Number.isFinite(i))throw new $(`Expected an integer in column '${t}', got string: ${e}`);if(!Number.isSafeInteger(i))throw new $(`Integer value in column '${t}' is too large to represent as a JavaScript number without loss of precision, got: ${e}. Consider using BigInt type.`);return i}default:throw new $(`Expected an integer in column '${t}', got ${typeof e}: ${e}`)}case"bigint":{if(typeof e!="number"&&typeof e!="string")throw new $(`Expected a bigint in column '${t}', got ${typeof e}: ${e}`);return{$type:"BigInt",value:e}}case"float":{if(typeof e=="number")return e;if(typeof e=="string"){let i=Number(e);if(Number.isNaN(i)&&!/^[-+]?nan$/.test(e.toLowerCase()))throw new $(`Expected a float in column '${t}', got string: ${e}`);return i}throw new $(`Expected a float in column '${t}', got ${typeof e}: ${e}`)}case"boolean":{if(typeof e=="boolean")return e;if(typeof e=="number")return e===1;if(typeof e=="string"){if(e==="true"||e==="TRUE"||e==="1")return!0;if(e==="false"||e==="FALSE"||e==="0")return!1;throw new $(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}if(Array.isArray(e)){for(let i of e)if(i!==0)return!0;return!1}throw new $(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}case"decimal":if(typeof e!="number"&&typeof e!="string"&&!ne.isDecimal(e))throw new $(`Expected a decimal in column '${t}', got ${typeof e}: ${e}`);return{$type:"Decimal",value:e};case"datetime":{if(typeof e=="string")return{$type:"DateTime",value:sf(e)};if(typeof e=="number"||e instanceof Date)return{$type:"DateTime",value:e};throw new $(`Expected a date in column '${t}', got ${typeof e}: ${e}`)}case"object":return{$type:"Json",value:Pr(e)};case"json":return{$type:"Json",value:`${e}`};case"bytes":{switch(r.encoding){case"base64":if(typeof e!="string")throw new $(`Expected a base64-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:e};case"hex":if(typeof e!="string"||!e.startsWith("\\x"))throw new $(`Expected a hex-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:Buffer.from(e.slice(2),"hex").toString("base64")};case"array":if(Array.isArray(e))return{$type:"Bytes",value:Buffer.from(e).toString("base64")};if(e instanceof Uint8Array)return{$type:"Bytes",value:Buffer.from(e).toString("base64")};throw new $(`Expected a byte array in column '${t}', got ${typeof e}: ${e}`);default:O(r.encoding,`DataMapper: Unknown bytes encoding: ${r.encoding}`)}break}case"enum":{let i=n[r.name];if(i===void 0)throw new $(`Unknown enum '${r.name}'`);let o=i[`${e}`];if(o===void 0)throw new $(`Value '${e}' not found in enum '${r.name}'`);return o}default:O(r,`DataMapper: Unknown result type: ${r.type}`)}}var of=/\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/;function sf(e){let t=of.exec(e);if(t===null)return`${e}Z`;let r=e,[n,i,o]=t;return i!==void 0&&i!=="Z"&&o===void 0?r=`${e}:00`:i===void 0&&(r=`${e}Z`),n.length===e.length?`1970-01-01T${r}`:r}var vr;(function(e){e[e.INTERNAL=0]="INTERNAL",e[e.SERVER=1]="SERVER",e[e.CLIENT=2]="CLIENT",e[e.PRODUCER=3]="PRODUCER",e[e.CONSUMER=4]="CONSUMER"})(vr||(vr={}));function af(e){switch(e){case"postgresql":case"postgres":case"prisma+postgres":return"postgresql";case"sqlserver":return"mssql";case"mysql":case"sqlite":case"cockroachdb":case"mongodb":return e;default:O(e,`Unknown provider: ${e}`)}}async function Un({query:e,tracingHelper:t,provider:r,onQuery:n,execute:i}){return await t.runInChildSpan({name:"db_query",kind:vr.CLIENT,attributes:{"db.query.text":e.sql,"db.system.name":af(r)}},async()=>{let o=new Date,s=performance.now(),a=await i(),l=performance.now();return n?.({timestamp:o,duration:l-s,query:e.sql,params:e.args}),a})}function Xe(e,t){var r="000000000"+e;return r.substr(r.length-t)}var xl=H(require("node:os"),1);function lf(){try{return xl.default.hostname()}catch{return process.env._CLUSTER_NETWORK_NAME_||process.env.COMPUTERNAME||"hostname"}}var Pl=2,cf=Xe(process.pid.toString(36),Pl),vl=lf(),uf=vl.length,pf=Xe(vl.split("").reduce(function(e,t){return+e+t.charCodeAt(0)},+uf+36).toString(36),Pl);function oo(){return cf+pf}function jn(e){return typeof e=="string"&&/^c[a-z0-9]{20,32}$/.test(e)}function so(e){let n=Math.pow(36,4),i=0;function o(){return Xe((Math.random()*n<<0).toString(36),4)}function s(){return i=i<n?i:0,i++,i-1}function a(){var l="c",c=new Date().getTime().toString(36),u=Xe(s().toString(36),4),p=e(),d=o()+o();return l+c+u+p+d}return a.fingerprint=e,a.isCuid=jn,a}var df=so(oo);var Tl=df;var vc=H(fc());var yo=require("node:crypto");var gc="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Zf=128,tt,Mt;function Xf(e){!tt||tt.length<e?(tt=Buffer.allocUnsafe(e*Zf),yo.webcrypto.getRandomValues(tt),Mt=0):Mt+e>tt.length&&(yo.webcrypto.getRandomValues(tt),Mt=0),Mt+=e}function ho(e=21){Xf(e|=0);let t="";for(let r=Mt-e;r<Mt;r++)t+=gc[tt[r]&63];return t}var Ir=H(require("node:crypto"),1);var hc="0123456789ABCDEFGHJKMNPQRSTVWXYZ",kr=32;var eg=16,wc=10,yc=0xffffffffffff;var rt;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(rt||(rt={}));var nt=class extends Error{constructor(t,r){super(`${r} (${t})`),this.name="ULIDError",this.code=t}};function tg(e){let t=Math.floor(e()*kr);return t===kr&&(t=kr-1),hc.charAt(t)}function rg(e){let t=ng(),r=t&&(t.crypto||t.msCrypto)||(typeof Ir.default<"u"?Ir.default:null);if(typeof r?.getRandomValues=="function")return()=>{let n=new Uint8Array(1);return r.getRandomValues(n),n[0]/255};if(typeof r?.randomBytes=="function")return()=>r.randomBytes(1).readUInt8()/255;if(Ir.default?.randomBytes)return()=>Ir.default.randomBytes(1).readUInt8()/255;throw new nt(rt.PRNGDetectFailure,"Failed to find a reliable PRNG")}function ng(){return sg()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function ig(e,t){let r="";for(;e>0;e--)r=tg(t)+r;return r}function og(e,t=wc){if(isNaN(e))throw new nt(rt.EncodeTimeValueMalformed,`Time must be a number: ${e}`);if(e>yc)throw new nt(rt.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${yc}: ${e}`);if(e<0)throw new nt(rt.EncodeTimeNegative,`Time must be positive: ${e}`);if(Number.isInteger(e)===!1)throw new nt(rt.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let r,n="";for(let i=t;i>0;i--)r=e%kr,n=hc.charAt(r)+n,e=(e-r)/kr;return n}function sg(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Ec(e,t){let r=t||rg(),n=!e||isNaN(e)?Date.now():e;return og(n,wc)+ig(eg,r)}var K=[];for(let e=0;e<256;++e)K.push((e+256).toString(16).slice(1));function Gn(e,t=0){return(K[e[t+0]]+K[e[t+1]]+K[e[t+2]]+K[e[t+3]]+"-"+K[e[t+4]]+K[e[t+5]]+"-"+K[e[t+6]]+K[e[t+7]]+"-"+K[e[t+8]]+K[e[t+9]]+"-"+K[e[t+10]]+K[e[t+11]]+K[e[t+12]]+K[e[t+13]]+K[e[t+14]]+K[e[t+15]]).toLowerCase()}var bc=require("node:crypto"),Wn=new Uint8Array(256),Jn=Wn.length;function Ft(){return Jn>Wn.length-16&&((0,bc.randomFillSync)(Wn),Jn=0),Wn.slice(Jn,Jn+=16)}var xc=require("node:crypto"),wo={randomUUID:xc.randomUUID};function ag(e,t,r){if(wo.randomUUID&&!t&&!e)return wo.randomUUID();e=e||{};let n=e.random??e.rng?.()??Ft();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Gn(n)}var Eo=ag;var bo={};function lg(e,t,r){let n;if(e)n=Pc(e.random??e.rng?.()??Ft(),e.msecs,e.seq,t,r);else{let i=Date.now(),o=Ft();cg(bo,i,o),n=Pc(o,bo.msecs,bo.seq,t,r)}return t??Gn(n)}function cg(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function Pc(e,t,r,n,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),i=0;else if(i<0||i+16>n.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[i++]=t/1099511627776&255,n[i++]=t/4294967296&255,n[i++]=t/16777216&255,n[i++]=t/65536&255,n[i++]=t/256&255,n[i++]=t&255,n[i++]=112|r>>>28&15,n[i++]=r>>>20&255,n[i++]=128|r>>>14&63,n[i++]=r>>>6&255,n[i++]=r<<2&255|e[10]&3,n[i++]=e[11],n[i++]=e[12],n[i++]=e[13],n[i++]=e[14],n[i++]=e[15],n}var xo=lg;var Kn=class{#t={};constructor(){this.register("uuid",new vo),this.register("cuid",new To),this.register("ulid",new Ao),this.register("nanoid",new Co),this.register("product",new Ro)}snapshot(){return Object.create(this.#t,{now:{value:new Po}})}register(t,r){this.#t[t]=r}},Po=class{#t=new Date;generate(){return this.#t.toISOString()}},vo=class{generate(t){if(t===4)return Eo();if(t===7)return xo();throw new Error("Invalid UUID generator arguments")}},To=class{generate(t){if(t===1)return Tl();if(t===2)return(0,vc.createId)();throw new Error("Invalid CUID generator arguments")}},Ao=class{generate(){return Ec()}},Co=class{generate(t){if(typeof t=="number")return ho(t);if(t===void 0)return ho();throw new Error("Invalid Nanoid generator arguments")}},Ro=class{generate(t,r){if(t===void 0||r===void 0)throw new Error("Invalid Product generator arguments");return Array.isArray(t)&&Array.isArray(r)?t.flatMap(n=>r.map(i=>[n,i])):Array.isArray(t)?t.map(n=>[n,r]):Array.isArray(r)?r.map(n=>[t,n]):[[t,r]]}};function zn(e,t){return e==null?e:typeof e=="string"?zn(JSON.parse(e),t):Array.isArray(e)?pg(e,t):ug(e,t)}function ug(e,t){if(t.pagination){let{skip:r,take:n,cursor:i}=t.pagination;if(r!==null&&r>0||n===0||i!==null&&!Ot(e,i))return null}return Ac(e,t.nested)}function Ac(e,t){for(let[r,n]of Object.entries(t))e[r]=zn(e[r],n);return e}function pg(e,t){if(t.distinct!==null){let r=t.linkingFields!==null?[...t.distinct,...t.linkingFields]:t.distinct;e=dg(e,r)}return t.pagination&&(e=mg(e,t.pagination,t.linkingFields)),t.reverse&&e.reverse(),Object.keys(t.nested).length===0?e:e.map(r=>Ac(r,t.nested))}function dg(e,t){let r=new Set,n=[];for(let i of e){let o=Or(i,t);r.has(o)||(r.add(o),n.push(i))}return n}function mg(e,t,r){if(r===null)return Tc(e,t);let n=new Map;for(let o of e){let s=Or(o,r);n.has(s)||n.set(s,[]),n.get(s).push(o)}let i=Array.from(n.entries());return i.sort(([o],[s])=>o<s?-1:o>s?1:0),i.flatMap(([,o])=>Tc(o,t))}function Tc(e,{cursor:t,skip:r,take:n}){let i=t!==null?e.findIndex(a=>Ot(a,t)):0;if(i===-1)return[];let o=i+(r??0),s=n!==null?o+n:e.length;return e.slice(o,s)}function Or(e,t){return JSON.stringify(t.map(r=>e[r]))}function So(e){return typeof e=="object"&&e!==null&&e.prisma__type==="param"}function Io(e){return typeof e=="object"&&e!==null&&e.prisma__type==="generatorCall"}function Do(e,t,r,n){let i=e.args.map(o=>we(o,t,r));switch(e.type){case"rawSql":return[yg(e.sql,i,e.argTypes)];case"templateSql":return(e.chunkable?wg(e.fragments,i,n):[i]).map(s=>{if(n!==void 0&&s.length>n)throw new oe("The query parameter limit supported by your database is exceeded.","P2029");return fg(e.fragments,e.placeholderFormat,s,e.argTypes)});default:O(e.type,"Invalid query type")}}function we(e,t,r){for(;hg(e);)if(So(e)){let n=t[e.prisma__value.name];if(n===void 0)throw new Error(`Missing value for query variable ${e.prisma__value.name}`);e=n}else if(Io(e)){let{name:n,args:i}=e.prisma__value,o=r[n];if(!o)throw new Error(`Encountered an unknown generator '${n}'`);e=o.generate(...i.map(s=>we(s,t,r)))}else O(e,`Unexpected unevaluated value type: ${e}`);return Array.isArray(e)&&(e=e.map(n=>we(n,t,r))),e}function fg(e,t,r,n){let i="",o={placeholderNumber:1},s=[],a=[];for(let l of Oo(e,r,n)){if(i+=gg(l,t,o),l.type==="stringChunk")continue;let c=s.length,u=s.push(...Cc(l))-c;if(l.argType.arity==="tuple"){if(u%l.argType.elements.length!==0)throw new Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${u} parameters for a tuple of arity ${l.argType.elements.length}.`);for(let p=0;p<u/l.argType.elements.length;p++)a.push(...l.argType.elements)}else for(let p=0;p<u;p++)a.push(l.argType)}return{sql:i,args:s,argTypes:a}}function gg(e,t,r){let n=e.type;switch(n){case"parameter":return ko(t,r.placeholderNumber++);case"stringChunk":return e.chunk;case"parameterTuple":return`(${e.value.length==0?"NULL":e.value.map(()=>ko(t,r.placeholderNumber++)).join(",")})`;case"parameterTupleList":return e.value.map(i=>{let o=i.map(()=>ko(t,r.placeholderNumber++)).join(e.itemSeparator);return`${e.itemPrefix}${o}${e.itemSuffix}`}).join(e.groupSeparator);default:O(n,"Invalid fragment type")}}function ko(e,t){return e.hasNumbering?`${e.prefix}${t}`:e.prefix}function yg(e,t,r){return{sql:e,args:t,argTypes:r}}function hg(e){return So(e)||Io(e)}function*Oo(e,t,r){let n=0;for(let i of e)switch(i.type){case"parameter":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);yield{...i,value:t[n],argType:r?.[n]},n++;break}case"stringChunk":{yield i;break}case"parameterTuple":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];yield{...i,value:Array.isArray(o)?o:[o],argType:r?.[n]},n++;break}case"parameterTupleList":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];if(!Array.isArray(o))throw new Error("Malformed query template. Tuple list expected.");if(o.length===0)throw new Error("Malformed query template. Tuple list cannot be empty.");for(let s of o)if(!Array.isArray(s))throw new Error("Malformed query template. Tuple expected.");yield{...i,value:o,argType:r?.[n]},n++;break}}}function*Cc(e){switch(e.type){case"parameter":yield e.value;break;case"stringChunk":break;case"parameterTuple":yield*e.value;break;case"parameterTupleList":for(let t of e.value)yield*t;break}}function wg(e,t,r){let n=0,i=0;for(let s of Oo(e,t,void 0)){let a=0;for(let l of Cc(s))a++;i=Math.max(i,a),n+=a}let o=[[]];for(let s of Oo(e,t,void 0))switch(s.type){case"parameter":{for(let a of o)a.push(s.value);break}case"stringChunk":break;case"parameterTuple":{let a=s.value.length,l=[];if(r&&o.length===1&&a===i&&n>r&&n-a<r){let c=r-(n-a);l=Eg(s.value,c)}else l=[s.value];o=o.flatMap(c=>l.map(u=>[...c,u]));break}case"parameterTupleList":{let a=s.value.reduce((p,d)=>p+d.length,0),l=[],c=[],u=0;for(let p of s.value)r&&o.length===1&&a===i&&c.length>0&&n-a+u+p.length>r&&(l.push(c),c=[],u=0),c.push(p),u+=p.length;c.length>0&&l.push(c),o=o.flatMap(p=>l.map(d=>[...p,d]));break}}return o}function Eg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function Rc(e){return e.rows.map(t=>t.reduce((r,n,i)=>(r[e.columnNames[i]]=n,r),{}))}function Sc(e){return{columns:e.columnNames,types:e.columnTypes.map(t=>bg(t)),rows:e.rows.map(t=>t.map((r,n)=>Lt(r,e.columnTypes[n])))}}function Lt(e,t){if(e===null)return null;switch(t){case b.Int32:switch(typeof e){case"number":return Math.trunc(e);case"string":return Math.trunc(Number(e));default:throw new Error(`Cannot serialize value of type ${typeof e} as Int32`)}case b.Int32Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int32Array`);return e.map(r=>Lt(r,b.Int32));case b.Int64:switch(typeof e){case"number":return BigInt(Math.trunc(e));case"string":return e;default:throw new Error(`Cannot serialize value of type ${typeof e} as Int64`)}case b.Int64Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int64Array`);return e.map(r=>Lt(r,b.Int64));case b.Json:switch(typeof e){case"string":return JSON.parse(e);default:throw new Error(`Cannot serialize value of type ${typeof e} as Json`)}case b.JsonArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as JsonArray`);return e.map(r=>Lt(r,b.Json));case b.Bytes:if(Array.isArray(e))return new Uint8Array(e);throw new Error(`Cannot serialize value of type ${typeof e} as Bytes`);case b.BytesArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BytesArray`);return e.map(r=>Lt(r,b.Bytes));case b.Boolean:switch(typeof e){case"boolean":return e;case"string":return e==="true"||e==="1";case"number":return e===1;default:throw new Error(`Cannot serialize value of type ${typeof e} as Boolean`)}case b.BooleanArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BooleanArray`);return e.map(r=>Lt(r,b.Boolean));default:return e}}function bg(e){switch(e){case b.Int32:return"int";case b.Int64:return"bigint";case b.Float:return"float";case b.Double:return"double";case b.Text:return"string";case b.Enum:return"enum";case b.Bytes:return"bytes";case b.Boolean:return"bool";case b.Character:return"char";case b.Numeric:return"decimal";case b.Json:return"json";case b.Uuid:return"uuid";case b.DateTime:return"datetime";case b.Date:return"date";case b.Time:return"time";case b.Int32Array:return"int-array";case b.Int64Array:return"bigint-array";case b.FloatArray:return"float-array";case b.DoubleArray:return"double-array";case b.TextArray:return"string-array";case b.EnumArray:return"string-array";case b.BytesArray:return"bytes-array";case b.BooleanArray:return"bool-array";case b.CharacterArray:return"char-array";case b.NumericArray:return"decimal-array";case b.JsonArray:return"json-array";case b.UuidArray:return"uuid-array";case b.DateTimeArray:return"datetime-array";case b.DateArray:return"date-array";case b.TimeArray:return"time-array";case b.UnknownNumber:return"unknown";case b.Set:return"string";default:O(e,`Unexpected column type: ${e}`)}}function Ic(e,t,r){if(!t.every(n=>No(e,n))){let n=xg(e,r),i=Pg(r);throw new oe(n,i,r.context)}}function No(e,t){switch(t.type){case"rowCountEq":return Array.isArray(e)?e.length===t.args:e===null?t.args===0:t.args===1;case"rowCountNeq":return Array.isArray(e)?e.length!==t.args:e===null?t.args!==0:t.args!==1;case"affectedRowCountEq":return e===t.args;case"never":return!1;default:O(t,`Unknown rule type: ${t.type}`)}}function xg(e,t){switch(t.error_identifier){case"RELATION_VIOLATION":return`The change you are trying to make would violate the required relation '${t.context.relation}' between the \`${t.context.modelA}\` and \`${t.context.modelB}\` models.`;case"MISSING_RECORD":return`An operation failed because it depends on one or more records that were required but not found. No record was found for ${t.context.operation}.`;case"MISSING_RELATED_RECORD":{let r=t.context.neededFor?` (needed to ${t.context.neededFor})`:"";return`An operation failed because it depends on one or more records that were required but not found. No '${t.context.model}' record${r} was found for ${t.context.operation} on ${t.context.relationType} relation '${t.context.relation}'.`}case"INCOMPLETE_CONNECT_INPUT":return`An operation failed because it depends on one or more records that were required but not found. Expected ${t.context.expectedRows} records to be connected, found only ${Array.isArray(e)?e.length:e}.`;case"INCOMPLETE_CONNECT_OUTPUT":return`The required connected records were not found. Expected ${t.context.expectedRows} records to be connected after connect operation on ${t.context.relationType} relation '${t.context.relation}', found ${Array.isArray(e)?e.length:e}.`;case"RECORDS_NOT_CONNECTED":return`The records for relation \`${t.context.relation}\` between the \`${t.context.parent}\` and \`${t.context.child}\` models are not connected.`;default:O(t,`Unknown error identifier: ${t}`)}}function Pg(e){switch(e.error_identifier){case"RELATION_VIOLATION":return"P2014";case"RECORDS_NOT_CONNECTED":return"P2017";case"INCOMPLETE_CONNECT_OUTPUT":return"P2018";case"MISSING_RECORD":case"MISSING_RELATED_RECORD":case"INCOMPLETE_CONNECT_INPUT":return"P2025";default:O(e,`Unknown error identifier: ${e}`)}}var Dr=class e{#t;#e;#r;#n=new Kn;#s;#i;#a;#o;#c;constructor({transactionManager:t,placeholderValues:r,onQuery:n,tracingHelper:i,serializer:o,rawSerializer:s,provider:a,connectionInfo:l}){this.#t=t,this.#e=r,this.#r=n,this.#s=i,this.#i=o,this.#a=s??o,this.#o=a,this.#c=l}static forSql(t){return new e({transactionManager:t.transactionManager,placeholderValues:t.placeholderValues,onQuery:t.onQuery,tracingHelper:t.tracingHelper,serializer:Rc,rawSerializer:Sc,provider:t.provider,connectionInfo:t.connectionInfo})}async run(t,r){let{value:n}=await this.interpretNode(t,r,this.#e,this.#n.snapshot()).catch(i=>Dt(i));return n}async interpretNode(t,r,n,i){switch(t.type){case"value":return{value:we(t.args,n,i)};case"seq":{let o;for(let s of t.args)o=await this.interpretNode(s,r,n,i);return o??{value:void 0}}case"get":return{value:n[t.args.name]};case"let":{let o=Object.create(n);for(let s of t.args.bindings){let{value:a}=await this.interpretNode(s.expr,r,o,i);o[s.name]=a}return this.interpretNode(t.args.expr,r,o,i)}case"getFirstNonEmpty":{for(let o of t.args.names){let s=n[o];if(!kc(s))return{value:s}}return{value:[]}}case"concat":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>s.concat(_o(a)),[]):[]}}case"sum":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>Ae(s)+Ae(a)):0}}case"execute":{let o=Do(t.args,n,i,this.#l()),s=0;for(let a of o)s+=await this.#u(a,r,()=>r.executeRaw(a).catch(l=>t.args.type==="rawSql"?ro(l):Dt(l)));return{value:s}}case"query":{let o=Do(t.args,n,i,this.#l()),s;for(let a of o){let l=await this.#u(a,r,()=>r.queryRaw(a).catch(c=>t.args.type==="rawSql"?ro(c):Dt(c)));s===void 0?s=l:(s.rows.push(...l.rows),s.lastInsertId=l.lastInsertId)}return{value:t.args.type==="rawSql"?this.#a(s):this.#i(s),lastInsertId:s?.lastInsertId}}case"reverse":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);return{value:Array.isArray(o)?o.reverse():o,lastInsertId:s}}case"unique":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(!Array.isArray(o))return{value:o,lastInsertId:s};if(o.length>1)throw new Error(`Expected zero or one element, got ${o.length}`);return{value:o[0]??null,lastInsertId:s}}case"required":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(kc(o))throw new Error("Required value is empty");return{value:o,lastInsertId:s}}case"mapField":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.records,r,n,i);return{value:Oc(o,t.args.field),lastInsertId:s}}case"join":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.parent,r,n,i);if(o===null)return{value:null,lastInsertId:s};let a=await Promise.all(t.args.children.map(async l=>({joinExpr:l,childRecords:(await this.interpretNode(l.child,r,n,i)).value})));return{value:vg(o,a),lastInsertId:s}}case"transaction":{if(!this.#t.enabled)return this.interpretNode(t.args,r,n,i);let o=this.#t.manager,s=await o.startTransaction(),a=await o.getTransaction(s,"query");try{let l=await this.interpretNode(t.args,a,n,i);return await o.commitTransaction(s.id),l}catch(l){throw await o.rollbackTransaction(s.id),l}}case"dataMap":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:bl(o,t.args.structure,t.args.enums),lastInsertId:s}}case"validate":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return Ic(o,t.args.rules,t.args),{value:o,lastInsertId:s}}case"if":{let{value:o}=await this.interpretNode(t.args.value,r,n,i);return No(o,t.args.rule)?await this.interpretNode(t.args.then,r,n,i):await this.interpretNode(t.args.else,r,n,i)}case"unit":return{value:void 0};case"diff":{let{value:o}=await this.interpretNode(t.args.from,r,n,i),{value:s}=await this.interpretNode(t.args.to,r,n,i),a=new Set(_o(s).map(l=>JSON.stringify(l)));return{value:_o(o).filter(l=>!a.has(JSON.stringify(l)))}}case"process":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:zn(o,t.args.operations),lastInsertId:s}}case"initializeRecord":{let{lastInsertId:o}=await this.interpretNode(t.args.expr,r,n,i),s={};for(let[a,l]of Object.entries(t.args.fields))s[a]=Tg(l,o,n,i);return{value:s,lastInsertId:o}}case"mapRecord":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i),a=o===null?{}:Mo(o);for(let[l,c]of Object.entries(t.args.fields))a[l]=Ag(c,a[l],n,i);return{value:a,lastInsertId:s}}default:O(t,`Unexpected node type: ${t.type}`)}}#l(){return this.#c?.maxBindValues!==void 0?this.#c.maxBindValues:this.#p()}#p(){if(this.#o!==void 0)switch(this.#o){case"cockroachdb":case"postgres":case"postgresql":case"prisma+postgres":return 32766;case"mysql":return 65535;case"sqlite":return 999;case"sqlserver":return 2098;case"mongodb":return;default:O(this.#o,`Unexpected provider: ${this.#o}`)}}#u(t,r,n){return Un({query:t,execute:n,provider:this.#o??r.provider,tracingHelper:this.#s,onQuery:this.#r})}};function kc(e){return Array.isArray(e)?e.length===0:e==null}function _o(e){return Array.isArray(e)?e:[e]}function Ae(e){if(typeof e=="number")return e;if(typeof e=="string")return Number(e);throw new Error(`Expected number, got ${typeof e}`)}function Mo(e){if(typeof e=="object"&&e!==null)return e;throw new Error(`Expected object, got ${typeof e}`)}function Oc(e,t){return Array.isArray(e)?e.map(r=>Oc(r,t)):typeof e=="object"&&e!==null?e[t]??null:e}function vg(e,t){for(let{joinExpr:r,childRecords:n}of t){let i=r.on.map(([a])=>a),o=r.on.map(([,a])=>a),s={};for(let a of Array.isArray(e)?e:[e]){let l=Mo(a),c=Or(l,i);s[c]||(s[c]=[]),s[c].push(l),r.isRelationUnique?l[r.parentField]=null:l[r.parentField]=[]}for(let a of Array.isArray(n)?n:[n]){if(a===null)continue;let l=Or(Mo(a),o);for(let c of s[l]??[])r.isRelationUnique?c[r.parentField]=a:c[r.parentField].push(a)}}return e}function Tg(e,t,r,n){switch(e.type){case"value":return we(e.value,r,n);case"lastInsertId":return t;default:O(e,`Unexpected field initializer type: ${e.type}`)}}function Ag(e,t,r,n){switch(e.type){case"set":return we(e.value,r,n);case"add":return Ae(t)+Ae(we(e.value,r,n));case"subtract":return Ae(t)-Ae(we(e.value,r,n));case"multiply":return Ae(t)*Ae(we(e.value,r,n));case"divide":{let i=Ae(t),o=Ae(we(e.value,r,n));return o===0?null:i/o}default:O(e,`Unexpected field operation type: ${e.type}`)}}async function Cg(){return globalThis.crypto??await import("node:crypto")}async function Dc(){return(await Cg()).randomUUID()}var me=class extends oe{name="TransactionManagerError";constructor(t,r){super("Transaction API error: "+t,"P2028",r)}},Nr=class extends me{constructor(){super("Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting.")}},Yn=class extends me{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a committed transaction.`)}},Zn=class extends me{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a transaction that was rolled back.`)}},Xn=class extends me{constructor(){super("Unable to start a transaction in the given time.")}},ei=class extends me{constructor(t,{timeout:r,timeTaken:n}){super(`A ${t} cannot be executed on an expired transaction. The timeout for this transaction was ${r} ms, however ${n} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`,{operation:t,timeout:r,timeTaken:n})}},$t=class extends me{constructor(t){super(`Internal Consistency Error: ${t}`)}},ti=class extends me{constructor(t){super(`Invalid isolation level: ${t}`,{isolationLevel:t})}};var Rg=100,_r=q("prisma:client:transactionManager"),Sg=()=>({sql:"COMMIT",args:[],argTypes:[]}),Ig=()=>({sql:"ROLLBACK",args:[],argTypes:[]}),kg=()=>({sql:'-- Implicit "COMMIT" query via underlying driver',args:[],argTypes:[]}),Og=()=>({sql:'-- Implicit "ROLLBACK" query via underlying driver',args:[],argTypes:[]}),Mr=class{transactions=new Map;closedTransactions=[];driverAdapter;transactionOptions;tracingHelper;#t;#e;constructor({driverAdapter:t,transactionOptions:r,tracingHelper:n,onQuery:i,provider:o}){this.driverAdapter=t,this.transactionOptions=r,this.tracingHelper=n,this.#t=i,this.#e=o}async startTransaction(t){return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#r(t))}async#r(t){let r=t!==void 0?this.#a(t):this.transactionOptions,n={id:await Dc(),status:"waiting",timer:void 0,timeout:r.timeout,startedAt:Date.now(),transaction:void 0};this.transactions.set(n.id,n);let i=!1,o=setTimeout(()=>i=!0,r.maxWait);switch(o.unref?.(),n.transaction=await this.driverAdapter.startTransaction(r.isolationLevel).catch(Dt),clearTimeout(o),n.status){case"waiting":if(i)throw await this.#i(n,"timed_out"),new Xn;return n.status="running",n.timer=this.#s(n.id,r.timeout),{id:n.id};case"timed_out":case"running":case"committed":case"rolled_back":throw new $t(`Transaction in invalid state ${n.status} although it just finished startup.`);default:O(n.status,"Unknown transaction status.")}}async commitTransaction(t){return await this.tracingHelper.runInChildSpan("commit_transaction",async()=>{let r=this.#n(t,"commit");await this.#i(r,"committed")})}async rollbackTransaction(t){return await this.tracingHelper.runInChildSpan("rollback_transaction",async()=>{let r=this.#n(t,"rollback");await this.#i(r,"rolled_back")})}async getTransaction(t,r){let n=this.#n(t.id,r);if(n.status==="closing"&&(await n.closing,n=this.#n(t.id,r)),!n.transaction)throw new Nr;return n.transaction}#n(t,r){let n=this.transactions.get(t);if(!n){let i=this.closedTransactions.find(o=>o.id===t);if(i)switch(_r("Transaction already closed.",{transactionId:t,status:i.status}),i.status){case"closing":case"waiting":case"running":throw new $t("Active transaction found in closed transactions list.");case"committed":throw new Yn(r);case"rolled_back":throw new Zn(r);case"timed_out":throw new ei(r,{timeout:i.timeout,timeTaken:Date.now()-i.startedAt})}else throw _r("Transaction not found.",t),new Nr}if(["committed","rolled_back","timed_out"].includes(n.status))throw new $t("Closed transaction found in active transactions map.");return n}async cancelAllTransactions(){await Promise.allSettled([...this.transactions.values()].map(t=>this.#i(t,"rolled_back")))}#s(t,r){let n=Date.now(),i=setTimeout(async()=>{_r("Transaction timed out.",{transactionId:t,timeoutStartedAt:n,timeout:r});let o=this.transactions.get(t);o&&["running","waiting"].includes(o.status)?await this.#i(o,"timed_out"):_r("Transaction already committed or rolled back when timeout happened.",t)},r);return i.unref?.(),i}async#i(t,r){let n=async()=>{_r("Closing transaction.",{transactionId:t.id,status:r});try{if(t.transaction&&r==="committed")if(t.transaction.options.usePhantomQuery)await this.#o(kg(),t.transaction,()=>t.transaction.commit());else{let i=Sg();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.commit()}else if(t.transaction)if(t.transaction.options.usePhantomQuery)await this.#o(Og(),t.transaction,()=>t.transaction.rollback());else{let i=Ig();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.rollback()}}finally{t.status=r,clearTimeout(t.timer),t.timer=void 0,this.transactions.delete(t.id),this.closedTransactions.push(t),this.closedTransactions.length>Rg&&this.closedTransactions.shift()}};t.status==="closing"?(await t.closing,this.#n(t.id,r==="committed"?"commit":"rollback")):await Object.assign(t,{status:"closing",reason:r,closing:n()}).closing}#a(t){if(!t.timeout)throw new me("timeout is required");if(!t.maxWait)throw new me("maxWait is required");if(t.isolationLevel==="SNAPSHOT")throw new ti(t.isolationLevel);return{...t,timeout:t.timeout,maxWait:t.maxWait}}#o(t,r,n){return Un({query:t,execute:n,provider:this.#e??r.provider,tracingHelper:this.tracingHelper,onQuery:this.#t})}};var ri="6.17.0-dev.12";var ni=class e{#t;#e;#r;#n;constructor(t,r,n){this.#t=t,this.#e=r,this.#r=n,this.#n=r.getConnectionInfo?.()}static async connect(t){let r,n;try{r=await t.driverAdapterFactory.connect(),n=new Mr({driverAdapter:r,transactionOptions:t.transactionOptions,tracingHelper:t.tracingHelper,onQuery:t.onQuery,provider:t.provider})}catch(i){throw await r?.dispose(),i}return new e(t,r,n)}getConnectionInfo(){let t=this.#n??{supportsRelationJoins:!1};return Promise.resolve({provider:this.#e.provider,connectionInfo:t})}async execute({plan:t,placeholderValues:r,transaction:n,batchIndex:i}){let o=n?await this.#r.getTransaction(n,i!==void 0?"batch query":"query"):this.#e;return await Dr.forSql({transactionManager:n?{enabled:!1}:{enabled:!0,manager:this.#r},placeholderValues:r,onQuery:this.#t.onQuery,tracingHelper:this.#t.tracingHelper,provider:this.#t.provider,connectionInfo:this.#n}).run(t,o)}async startTransaction(t){return{...await this.#r.startTransaction(t),payload:void 0}}async commitTransaction(t){await this.#r.commitTransaction(t.id)}async rollbackTransaction(t){await this.#r.rollbackTransaction(t.id)}async disconnect(){try{await this.#r.cancelAllTransactions()}finally{await this.#e.dispose()}}apiKey(){return null}};var ii=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Nc(e,t,r){let n=r||{},i=n.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ii.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!ii.test(o))throw new TypeError("argument val is invalid");let s=e+"="+o;if(n.maxAge!==void 0&&n.maxAge!==null){let a=n.maxAge-0;if(Number.isNaN(a)||!Number.isFinite(a))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(a)}if(n.domain){if(!ii.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!ii.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){if(!Ng(n.expires)||Number.isNaN(n.expires.valueOf()))throw new TypeError("option expires is invalid");s+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":{s+="; Priority=Low";break}case"medium":{s+="; Priority=Medium";break}case"high":{s+="; Priority=High";break}default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:{s+="; SameSite=Strict";break}case"lax":{s+="; SameSite=Lax";break}case"strict":{s+="; SameSite=Strict";break}case"none":{s+="; SameSite=None";break}default:throw new TypeError("option sameSite is invalid")}return n.partitioned&&(s+="; Partitioned"),s}function Ng(e){return Object.prototype.toString.call(e)==="[object Date]"||e instanceof Date}function _c(e,t){let r=(e||"").split(";").filter(l=>typeof l=="string"&&!!l.trim()),n=r.shift()||"",i=_g(n),o=i.name,s=i.value;try{s=t?.decode===!1?s:(t?.decode||decodeURIComponent)(s)}catch{}let a={name:o,value:s};for(let l of r){let c=l.split("="),u=(c.shift()||"").trimStart().toLowerCase(),p=c.join("=");switch(u){case"expires":{a.expires=new Date(p);break}case"max-age":{a.maxAge=Number.parseInt(p,10);break}case"secure":{a.secure=!0;break}case"httponly":{a.httpOnly=!0;break}case"samesite":{a.sameSite=p;break}default:a[u]=p}}return a}function _g(e){let t="",r="",n=e.split("=");return n.length>1?(t=n.shift(),r=n.join("=")):r=e,{name:t,value:r}}var Mg=()=>globalThis.process?.release?.name==="node",Fg=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Lg=()=>!!globalThis.Deno,$g=()=>typeof globalThis.Netlify=="object",Vg=()=>typeof globalThis.EdgeRuntime=="object",qg=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Ug(){return[[$g,"netlify"],[Vg,"edge-light"],[qg,"workerd"],[Lg,"deno"],[Fg,"bun"],[Mg,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var jg={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Mc(){let e=Ug();return{id:e,prettyName:jg[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function Vt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new N(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new N("error: Missing URL environment variable, value, or override.",n);return i}var oi=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ue=class extends oi{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};function R(e,t){return{...e,isRetryable:t}}var it=class extends ue{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,R(r,!1))}};P(it,"InvalidDatasourceError");function si(e){let t={clientVersion:e.clientVersion},r=Object.keys(e.inlineDatasources)[0],n=Vt({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,clientVersion:e.clientVersion,env:{...e.env,...typeof process<"u"?process.env:{}}}),i;try{i=new URL(n)}catch{throw new it(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==rn)throw new it(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new it(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);let l=xi(i)?"http:":"https:";process.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(l="http:");let c=new URL(i.href.replace(o,l));return{apiKey:a,url:c}}var Fc=H(ds()),qt=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,transactionId:r}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":Fc.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-Transaction-Id"]=r);let i=this.#t();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#t(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}};function Bg(e){return e[0]*1e3+e[1]/1e6}function Ut(e){return new Date(Bg(e))}var Lc=q("prisma:client:clientEngine:remoteExecutor"),ai=class{#t;#e;#r;#n;#s;constructor(t){this.#t=t.clientVersion,this.#n=t.logEmitter,this.#s=t.tracingHelper;let{url:r,apiKey:n}=si({clientVersion:t.clientVersion,env:t.env,inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources});this.#r=new Fo(r),this.#e=new qt({apiKey:n,engineHash:t.clientVersion,logLevel:t.logLevel,logQueries:t.logQueries,tracingHelper:t.tracingHelper})}async getConnectionInfo(){return await this.#i({path:"/connection-info",method:"GET"})}async execute({plan:t,placeholderValues:r,batchIndex:n,model:i,operation:o,transaction:s,customFetch:a}){return(await this.#i({path:s?`/transaction/${s.id}/query`:"/query",method:"POST",body:{model:i,operation:o,plan:t,params:r},batchRequestIdx:n,fetch:a})).data}async startTransaction(t){return{...await this.#i({path:"/transaction/start",method:"POST",body:t}),payload:void 0}}async commitTransaction(t){await this.#i({path:`/transaction/${t.id}/commit`,method:"POST"})}async rollbackTransaction(t){await this.#i({path:`/transaction/${t.id}/rollback`,method:"POST"})}disconnect(){return Promise.resolve()}apiKey(){return this.#e.apiKey}async#i({path:t,method:r,body:n,fetch:i=globalThis.fetch,batchRequestIdx:o}){let s=await this.#r.request({method:r,path:t,headers:this.#e.build(),body:n,fetch:i});s.ok||await this.#a(s,o);let a=await s.json();return typeof a.extensions=="object"&&a.extensions!==null&&this.#o(a.extensions),a}async#a(t,r){let n=t.headers.get("Prisma-Error-Code"),i=await t.text(),o,s=i;try{o=JSON.parse(i)}catch{o={}}typeof o.code=="string"&&(n=o.code),typeof o.error=="string"?s=o.error:typeof o.message=="string"?s=o.message:typeof o.InvalidRequestError=="object"&&o.InvalidRequestError!==null&&typeof o.InvalidRequestError.reason=="string"&&(s=o.InvalidRequestError.reason),s=s||`HTTP ${t.status}: ${t.statusText}`;let a=typeof o.meta=="object"&&o.meta!==null?o.meta:o;throw new U(s,{clientVersion:this.#t,code:n??"P6000",batchRequestIdx:r,meta:a})}#o(t){if(t.logs)for(let r of t.logs)this.#c(r);t.traces&&this.#s.dispatchEngineSpans(t.traces)}#c(t){switch(t.level){case"debug":case"trace":Lc(t);break;case"error":case"warn":case"info":{this.#n.emit(t.level,{timestamp:Ut(t.timestamp),message:t.attributes.message??"",target:t.target??"RemoteExecutor"});break}case"query":{this.#n.emit("query",{query:t.attributes.query??"",timestamp:Ut(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target??"RemoteExecutor"});break}default:throw new Error(`Unexpected log level: ${t.level}`)}}},Fo=class{#t;#e;#r;constructor(t){this.#t=t,this.#e=new Map}async request({method:t,path:r,headers:n,body:i,fetch:o}){let s=new URL(r,this.#t),a=this.#n(s);a&&(n.Cookie=a),this.#r&&(n["Accelerate-Query-Engine-Jwt"]=this.#r);let l=await o(s.href,{method:t,body:i!==void 0?JSON.stringify(i):void 0,headers:n});return Lc(t,s,l.status,l.statusText),this.#r=l.headers.get("Accelerate-Query-Engine-Jwt")??void 0,this.#s(s,l),l}#n(t){let r=[],n=new Date;for(let[i,o]of this.#e){if(o.expires&&o.expires<n){this.#e.delete(i);continue}let s=o.domain??t.hostname,a=o.path??"/";t.hostname.endsWith(s)&&t.pathname.startsWith(a)&&r.push(Nc(o.name,o.value))}return r.length>0?r.join("; "):void 0}#s(t,r){let n=r.headers.getSetCookie?.()||[];if(n.length===0){let i=r.headers.get("Set-Cookie");i&&n.push(i)}for(let i of n){let o=_c(i),s=o.domain??t.hostname,a=o.path??"/",l=`${s}:${a}:${o.name}`;this.#e.set(l,{name:o.name,value:o.value,domain:s,path:a,expires:o.expires})}}};var Lo,$c={async loadQueryCompiler(e){let{clientVersion:t,compilerWasm:r}=e;if(r===void 0)throw new N("WASM query compiler was unexpectedly `undefined`",t);return Lo===void 0&&(Lo=(async()=>{let n=await r.getRuntime(),i=await r.getQueryCompilerWasmModule();if(i==null)throw new N("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",t);let o={"./query_compiler_bg.js":n},s=new WebAssembly.Instance(i,o),a=s.exports.__wbindgen_start;return n.__wbg_set_wasm(s.exports),a(),n.QueryCompiler})()),await Lo}};var Qg="P2038",Fr=q("prisma:client:clientEngine"),qc=globalThis;qc.PRISMA_WASM_PANIC_REGISTRY={set_message(e){throw new re(e,ri)}};var jt=class{name="ClientEngine";#t;#e={type:"disconnected"};#r;#n;config;datamodel;logEmitter;logQueries;logLevel;tracingHelper;#s;constructor(t,r,n){if(r)this.#n={remote:!0};else if(t.adapter)this.#n={remote:!1,driverAdapterFactory:t.adapter},Fr("Using driver adapter: %O",t.adapter);else throw new N("Missing configured driver adapter. Engine type `client` requires an active driver adapter. Please check your PrismaClient initialization code.",t.clientVersion,Qg);this.#r=n??$c,this.config=t,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug"),this.logQueries&&(this.#s=i=>{this.logEmitter.emit("query",{...i,params:Pr(i.params),target:"ClientEngine"})})}applyPendingMigrations(){throw new Error("Cannot call applyPendingMigrations on engine type client.")}async#i(){switch(this.#e.type){case"disconnected":{let t=this.tracingHelper.runInChildSpan("connect",async()=>{let r,n;try{r=await this.#a(),n=await this.#o(r)}catch(o){throw this.#e={type:"disconnected"},n?.free(),await r?.disconnect(),o}let i={executor:r,queryCompiler:n};return this.#e={type:"connected",engine:i},i});return this.#e={type:"connecting",promise:t},await t}case"connecting":return await this.#e.promise;case"connected":return this.#e.engine;case"disconnecting":return await this.#e.promise,await this.#i()}}async#a(){return this.#n.remote?new ai({clientVersion:this.config.clientVersion,env:this.config.env,inlineDatasources:this.config.inlineDatasources,logEmitter:this.logEmitter,logLevel:this.logLevel,logQueries:this.logQueries,overrideDatasources:this.config.overrideDatasources,tracingHelper:this.tracingHelper}):await ni.connect({driverAdapterFactory:this.#n.driverAdapterFactory,tracingHelper:this.tracingHelper,transactionOptions:{...this.config.transactionOptions,isolationLevel:this.#d(this.config.transactionOptions.isolationLevel)},onQuery:this.#s,provider:this.config.activeProvider})}async#o(t){let r=this.#t;r===void 0&&(r=await this.#r.loadQueryCompiler(this.config),this.#t=r);let{provider:n,connectionInfo:i}=await t.getConnectionInfo();try{return this.#u(()=>new r({datamodel:this.datamodel,provider:n,connectionInfo:i}),void 0,!1)}catch(o){throw this.#c(o)}}#c(t){if(t instanceof re)return t;try{let r=JSON.parse(t.message);return new N(r.message,this.config.clientVersion,r.error_code)}catch{return t}}#l(t,r){if(t instanceof N)return t;if(t.code==="GenericFailure"&&t.message?.startsWith("PANIC:"))return new re(Vc(this,t.message,r),this.config.clientVersion);if(t instanceof oe)return new U(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion});try{let n=JSON.parse(t);return new J(`${n.message}
71
+ `}function O(e,t){throw new Error(t)}function eo(e,t){return e===t||e!==null&&t!==null&&typeof e=="object"&&typeof t=="object"&&Object.keys(e).length===Object.keys(t).length&&Object.keys(e).every(r=>eo(e[r],t[r]))}function Ot(e,t){let r=Object.keys(e),n=Object.keys(t);return(r.length<n.length?r:n).every(o=>{if(typeof e[o]==typeof t[o]&&typeof e[o]!="object")return e[o]===t[o];if(ne.isDecimal(e[o])||ne.isDecimal(t[o])){let s=dl(e[o]),a=dl(t[o]);return s&&a&&s.equals(a)}else if(e[o]instanceof Uint8Array||t[o]instanceof Uint8Array){let s=ml(e[o]),a=ml(t[o]);return s&&a&&s.equals(a)}else{if(e[o]instanceof Date||t[o]instanceof Date)return fl(e[o])?.getTime()===fl(t[o])?.getTime();if(typeof e[o]=="bigint"||typeof t[o]=="bigint")return gl(e[o])===gl(t[o]);if(typeof e[o]=="number"||typeof t[o]=="number")return yl(e[o])===yl(t[o])}return eo(e[o],t[o])})}function dl(e){return ne.isDecimal(e)?e:typeof e=="number"||typeof e=="string"?new ne(e):void 0}function ml(e){return Buffer.isBuffer(e)?e:e instanceof Uint8Array?Buffer.from(e.buffer,e.byteOffset,e.byteLength):typeof e=="string"?Buffer.from(e,"base64"):void 0}function fl(e){return e instanceof Date?e:typeof e=="string"||typeof e=="number"?new Date(e):void 0}function gl(e){return typeof e=="bigint"?e:typeof e=="number"||typeof e=="string"?BigInt(e):void 0}function yl(e){return typeof e=="number"?e:typeof e=="string"?Number(e):void 0}function Pr(e){return JSON.stringify(e,(t,r)=>typeof r=="bigint"?r.toString():ArrayBuffer.isView(r)?Buffer.from(r.buffer,r.byteOffset,r.byteLength).toString("base64"):r)}function Xm(e){return e!==null&&typeof e=="object"&&typeof e.$type=="string"}function ef(e,t){let r={};for(let n of Object.keys(e))r[n]=t(e[n],n);return r}function Qe(e){return e===null?e:Array.isArray(e)?e.map(Qe):typeof e=="object"?Xm(e)?tf(e):e.constructor!==null&&e.constructor.name!=="Object"?e:ef(e,Qe):e}function tf({$type:e,value:t}){switch(e){case"BigInt":return BigInt(t);case"Bytes":{let{buffer:r,byteOffset:n,byteLength:i}=Buffer.from(t,"base64");return new Uint8Array(r,n,i)}case"DateTime":return new Date(t);case"Decimal":return new De(t);case"Json":return JSON.parse(t);default:O(t,"Unknown tagged value")}}var oe=class extends Error{name="UserFacingError";code;meta;constructor(t,r,n){super(t),this.code=r,this.meta=n??{}}toQueryResponseErrorObject(){return{error:this.message,user_facing_error:{is_panic:!1,message:this.message,meta:this.meta,error_code:this.code}}}};function Dt(e){if(!en(e))throw e;let t=rf(e),r=hl(e);throw!t||!r?e:new oe(r,t,{driverAdapterError:e})}function ro(e){throw en(e)?new oe(`Raw query failed. Code: \`${e.cause.originalCode??"N/A"}\`. Message: \`${e.cause.originalMessage??hl(e)}\``,"P2010",{driverAdapterError:e}):e}function rf(e){switch(e.cause.kind){case"AuthenticationFailed":return"P1000";case"DatabaseNotReachable":return"P1001";case"DatabaseDoesNotExist":return"P1003";case"SocketTimeout":return"P1008";case"DatabaseAlreadyExists":return"P1009";case"DatabaseAccessDenied":return"P1010";case"TlsConnectionError":return"P1011";case"ConnectionClosed":return"P1017";case"TransactionAlreadyClosed":return"P1018";case"LengthMismatch":return"P2000";case"UniqueConstraintViolation":return"P2002";case"ForeignKeyConstraintViolation":return"P2003";case"UnsupportedNativeDataType":return"P2010";case"NullConstraintViolation":return"P2011";case"ValueOutOfRange":return"P2020";case"TableDoesNotExist":return"P2021";case"ColumnNotFound":return"P2022";case"InvalidIsolationLevel":case"InconsistentColumnData":return"P2023";case"MissingFullTextSearchIndex":return"P2030";case"TransactionWriteConflict":return"P2034";case"GenericJs":return"P2036";case"TooManyConnections":return"P2037";case"postgres":case"sqlite":case"mysql":case"mssql":return;default:O(e.cause,`Unknown error: ${e.cause}`)}}function hl(e){switch(e.cause.kind){case"AuthenticationFailed":return`Authentication failed against the database server, the provided database credentials for \`${e.cause.user??"(not available)"}\` are not valid`;case"DatabaseNotReachable":{let t=e.cause.host&&e.cause.port?`${e.cause.host}:${e.cause.port}`:e.cause.host;return`Can't reach database server${t?` at ${t}`:""}`}case"DatabaseDoesNotExist":return`Database \`${e.cause.db??"(not available)"}\` does not exist on the database server`;case"SocketTimeout":return"Operation has timed out";case"DatabaseAlreadyExists":return`Database \`${e.cause.db??"(not available)"}\` already exists on the database server`;case"DatabaseAccessDenied":return`User was denied access on the database \`${e.cause.db??"(not available)"}\``;case"TlsConnectionError":return`Error opening a TLS connection: ${e.cause.reason}`;case"ConnectionClosed":return"Server has closed the connection.";case"TransactionAlreadyClosed":return e.cause.cause;case"LengthMismatch":return`The provided value for the column is too long for the column's type. Column: ${e.cause.column??"(not available)"}`;case"UniqueConstraintViolation":return`Unique constraint failed on the ${to(e.cause.constraint)}`;case"ForeignKeyConstraintViolation":return`Foreign key constraint violated on the ${to(e.cause.constraint)}`;case"UnsupportedNativeDataType":return`Failed to deserialize column of type '${e.cause.type}'. If you're using $queryRaw and this column is explicitly marked as \`Unsupported\` in your Prisma schema, try casting this column to any supported Prisma type such as \`String\`.`;case"NullConstraintViolation":return`Null constraint violation on the ${to(e.cause.constraint)}`;case"ValueOutOfRange":return`Value out of range for the type: ${e.cause.cause}`;case"TableDoesNotExist":return`The table \`${e.cause.table??"(not available)"}\` does not exist in the current database.`;case"ColumnNotFound":return`The column \`${e.cause.column??"(not available)"}\` does not exist in the current database.`;case"InvalidIsolationLevel":return`Error in connector: Conversion error: ${e.cause.level}`;case"InconsistentColumnData":return`Inconsistent column data: ${e.cause.cause}`;case"MissingFullTextSearchIndex":return"Cannot find a fulltext index to use for the native search, try adding a @@fulltext([Fields...]) to your schema";case"TransactionWriteConflict":return"Transaction failed due to a write conflict or a deadlock. Please retry your transaction";case"GenericJs":return`Error in external connector (id ${e.cause.id})`;case"TooManyConnections":return`Too many database connections opened: ${e.cause.cause}`;case"sqlite":case"postgres":case"mysql":case"mssql":return;default:O(e.cause,`Unknown error: ${e.cause}`)}}function to(e){return e&&"fields"in e?`fields: (${e.fields.map(t=>`\`${t}\``).join(", ")})`:e&&"index"in e?`constraint: \`${e.index}\``:e&&"foreignKey"in e?"foreign key":"(not available)"}function wl(e,t){let r=e.map(i=>t.keys.reduce((o,s)=>(o[s]=Qe(i[s]),o),{})),n=new Set(t.nestedSelection);return t.arguments.map(i=>{let o=r.findIndex(s=>Ot(s,i));if(o===-1)return t.expectNonEmpty?new oe("An operation failed because it depends on one or more records that were required but not found","P2025"):null;{let s=Object.entries(e[o]).filter(([a])=>n.has(a));return Object.fromEntries(s)}})}var $=class extends Error{name="DataMapperError"};function bl(e,t,r){switch(t.type){case"affectedRows":if(typeof e!="number")throw new $(`Expected an affected rows count, got: ${typeof e} (${e})`);return{count:e};case"object":return io(e,t.fields,r,t.skipNulls);case"field":return no(e,"<result>",t.fieldType,r);default:O(t,`Invalid data mapping type: '${t.type}'`)}}function io(e,t,r,n){if(e===null)return null;if(Array.isArray(e)){let i=e;return n&&(i=i.filter(o=>o!==null)),i.map(o=>El(o,t,r))}if(typeof e=="object")return El(e,t,r);if(typeof e=="string"){let i;try{i=JSON.parse(e)}catch(o){throw new $("Expected an array or object, got a string that is not valid JSON",{cause:o})}return io(i,t,r,n)}throw new $(`Expected an array or an object, got: ${typeof e}`)}function El(e,t,r){if(typeof e!="object")throw new $(`Expected an object, but got '${typeof e}'`);let n={};for(let[i,o]of Object.entries(t))switch(o.type){case"affectedRows":throw new $(`Unexpected 'AffectedRows' node in data mapping for field '${i}'`);case"object":{if(o.serializedName!==null&&!Object.hasOwn(e,o.serializedName))throw new $(`Missing data field (Object): '${i}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`);let s=o.serializedName!==null?e[o.serializedName]:e;n[i]=io(s,o.fields,r,o.skipNulls);break}case"field":{let s=o.dbName;if(Object.hasOwn(e,s))n[i]=nf(e[s],s,o.fieldType,r);else throw new $(`Missing data field (Value): '${s}'; node: ${JSON.stringify(o)}; data: ${JSON.stringify(e)}`)}break;default:O(o,`DataMapper: Invalid data mapping node type: '${o.type}'`)}return n}function nf(e,t,r,n){return e===null?r.arity==="list"?[]:null:r.arity==="list"?e.map((o,s)=>no(o,`${t}[${s}]`,r,n)):no(e,t,r,n)}function no(e,t,r,n){switch(r.type){case"unsupported":return e;case"string":{if(typeof e!="string")throw new $(`Expected a string in column '${t}', got ${typeof e}: ${e}`);return e}case"int":switch(typeof e){case"number":return Math.trunc(e);case"string":{let i=Math.trunc(Number(e));if(Number.isNaN(i)||!Number.isFinite(i))throw new $(`Expected an integer in column '${t}', got string: ${e}`);if(!Number.isSafeInteger(i))throw new $(`Integer value in column '${t}' is too large to represent as a JavaScript number without loss of precision, got: ${e}. Consider using BigInt type.`);return i}default:throw new $(`Expected an integer in column '${t}', got ${typeof e}: ${e}`)}case"bigint":{if(typeof e!="number"&&typeof e!="string")throw new $(`Expected a bigint in column '${t}', got ${typeof e}: ${e}`);return{$type:"BigInt",value:e}}case"float":{if(typeof e=="number")return e;if(typeof e=="string"){let i=Number(e);if(Number.isNaN(i)&&!/^[-+]?nan$/.test(e.toLowerCase()))throw new $(`Expected a float in column '${t}', got string: ${e}`);return i}throw new $(`Expected a float in column '${t}', got ${typeof e}: ${e}`)}case"boolean":{if(typeof e=="boolean")return e;if(typeof e=="number")return e===1;if(typeof e=="string"){if(e==="true"||e==="TRUE"||e==="1")return!0;if(e==="false"||e==="FALSE"||e==="0")return!1;throw new $(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}if(Array.isArray(e)){for(let i of e)if(i!==0)return!0;return!1}throw new $(`Expected a boolean in column '${t}', got ${typeof e}: ${e}`)}case"decimal":if(typeof e!="number"&&typeof e!="string"&&!ne.isDecimal(e))throw new $(`Expected a decimal in column '${t}', got ${typeof e}: ${e}`);return{$type:"Decimal",value:e};case"datetime":{if(typeof e=="string")return{$type:"DateTime",value:sf(e)};if(typeof e=="number"||e instanceof Date)return{$type:"DateTime",value:e};throw new $(`Expected a date in column '${t}', got ${typeof e}: ${e}`)}case"object":return{$type:"Json",value:Pr(e)};case"json":return{$type:"Json",value:`${e}`};case"bytes":{switch(r.encoding){case"base64":if(typeof e!="string")throw new $(`Expected a base64-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:e};case"hex":if(typeof e!="string"||!e.startsWith("\\x"))throw new $(`Expected a hex-encoded byte array in column '${t}', got ${typeof e}: ${e}`);return{$type:"Bytes",value:Buffer.from(e.slice(2),"hex").toString("base64")};case"array":if(Array.isArray(e))return{$type:"Bytes",value:Buffer.from(e).toString("base64")};if(e instanceof Uint8Array)return{$type:"Bytes",value:Buffer.from(e).toString("base64")};throw new $(`Expected a byte array in column '${t}', got ${typeof e}: ${e}`);default:O(r.encoding,`DataMapper: Unknown bytes encoding: ${r.encoding}`)}break}case"enum":{let i=n[r.name];if(i===void 0)throw new $(`Unknown enum '${r.name}'`);let o=i[`${e}`];if(o===void 0)throw new $(`Value '${e}' not found in enum '${r.name}'`);return o}default:O(r,`DataMapper: Unknown result type: ${r.type}`)}}var of=/\d{2}:\d{2}:\d{2}(?:\.\d+)?(Z|[+-]\d{2}(:?\d{2})?)?$/;function sf(e){let t=of.exec(e);if(t===null)return`${e}Z`;let r=e,[n,i,o]=t;return i!==void 0&&i!=="Z"&&o===void 0?r=`${e}:00`:i===void 0&&(r=`${e}Z`),n.length===e.length?`1970-01-01T${r}`:r}var vr;(function(e){e[e.INTERNAL=0]="INTERNAL",e[e.SERVER=1]="SERVER",e[e.CLIENT=2]="CLIENT",e[e.PRODUCER=3]="PRODUCER",e[e.CONSUMER=4]="CONSUMER"})(vr||(vr={}));function af(e){switch(e){case"postgresql":case"postgres":case"prisma+postgres":return"postgresql";case"sqlserver":return"mssql";case"mysql":case"sqlite":case"cockroachdb":case"mongodb":return e;default:O(e,`Unknown provider: ${e}`)}}async function Un({query:e,tracingHelper:t,provider:r,onQuery:n,execute:i}){return await t.runInChildSpan({name:"db_query",kind:vr.CLIENT,attributes:{"db.query.text":e.sql,"db.system.name":af(r)}},async()=>{let o=new Date,s=performance.now(),a=await i(),l=performance.now();return n?.({timestamp:o,duration:l-s,query:e.sql,params:e.args}),a})}function Xe(e,t){var r="000000000"+e;return r.substr(r.length-t)}var xl=H(require("node:os"),1);function lf(){try{return xl.default.hostname()}catch{return process.env._CLUSTER_NETWORK_NAME_||process.env.COMPUTERNAME||"hostname"}}var Pl=2,cf=Xe(process.pid.toString(36),Pl),vl=lf(),uf=vl.length,pf=Xe(vl.split("").reduce(function(e,t){return+e+t.charCodeAt(0)},+uf+36).toString(36),Pl);function oo(){return cf+pf}function jn(e){return typeof e=="string"&&/^c[a-z0-9]{20,32}$/.test(e)}function so(e){let n=Math.pow(36,4),i=0;function o(){return Xe((Math.random()*n<<0).toString(36),4)}function s(){return i=i<n?i:0,i++,i-1}function a(){var l="c",c=new Date().getTime().toString(36),u=Xe(s().toString(36),4),p=e(),d=o()+o();return l+c+u+p+d}return a.fingerprint=e,a.isCuid=jn,a}var df=so(oo);var Tl=df;var vc=H(fc());var yo=require("node:crypto");var gc="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict";var Zf=128,tt,Mt;function Xf(e){!tt||tt.length<e?(tt=Buffer.allocUnsafe(e*Zf),yo.webcrypto.getRandomValues(tt),Mt=0):Mt+e>tt.length&&(yo.webcrypto.getRandomValues(tt),Mt=0),Mt+=e}function ho(e=21){Xf(e|=0);let t="";for(let r=Mt-e;r<Mt;r++)t+=gc[tt[r]&63];return t}var Ir=H(require("node:crypto"),1);var hc="0123456789ABCDEFGHJKMNPQRSTVWXYZ",kr=32;var eg=16,wc=10,yc=0xffffffffffff;var rt;(function(e){e.Base32IncorrectEncoding="B32_ENC_INVALID",e.DecodeTimeInvalidCharacter="DEC_TIME_CHAR",e.DecodeTimeValueMalformed="DEC_TIME_MALFORMED",e.EncodeTimeNegative="ENC_TIME_NEG",e.EncodeTimeSizeExceeded="ENC_TIME_SIZE_EXCEED",e.EncodeTimeValueMalformed="ENC_TIME_MALFORMED",e.PRNGDetectFailure="PRNG_DETECT",e.ULIDInvalid="ULID_INVALID",e.Unexpected="UNEXPECTED",e.UUIDInvalid="UUID_INVALID"})(rt||(rt={}));var nt=class extends Error{constructor(t,r){super(`${r} (${t})`),this.name="ULIDError",this.code=t}};function tg(e){let t=Math.floor(e()*kr);return t===kr&&(t=kr-1),hc.charAt(t)}function rg(e){let t=ng(),r=t&&(t.crypto||t.msCrypto)||(typeof Ir.default<"u"?Ir.default:null);if(typeof r?.getRandomValues=="function")return()=>{let n=new Uint8Array(1);return r.getRandomValues(n),n[0]/255};if(typeof r?.randomBytes=="function")return()=>r.randomBytes(1).readUInt8()/255;if(Ir.default?.randomBytes)return()=>Ir.default.randomBytes(1).readUInt8()/255;throw new nt(rt.PRNGDetectFailure,"Failed to find a reliable PRNG")}function ng(){return sg()?self:typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:null}function ig(e,t){let r="";for(;e>0;e--)r=tg(t)+r;return r}function og(e,t=wc){if(isNaN(e))throw new nt(rt.EncodeTimeValueMalformed,`Time must be a number: ${e}`);if(e>yc)throw new nt(rt.EncodeTimeSizeExceeded,`Cannot encode a time larger than ${yc}: ${e}`);if(e<0)throw new nt(rt.EncodeTimeNegative,`Time must be positive: ${e}`);if(Number.isInteger(e)===!1)throw new nt(rt.EncodeTimeValueMalformed,`Time must be an integer: ${e}`);let r,n="";for(let i=t;i>0;i--)r=e%kr,n=hc.charAt(r)+n,e=(e-r)/kr;return n}function sg(){return typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope}function Ec(e,t){let r=t||rg(),n=!e||isNaN(e)?Date.now():e;return og(n,wc)+ig(eg,r)}var K=[];for(let e=0;e<256;++e)K.push((e+256).toString(16).slice(1));function Gn(e,t=0){return(K[e[t+0]]+K[e[t+1]]+K[e[t+2]]+K[e[t+3]]+"-"+K[e[t+4]]+K[e[t+5]]+"-"+K[e[t+6]]+K[e[t+7]]+"-"+K[e[t+8]]+K[e[t+9]]+"-"+K[e[t+10]]+K[e[t+11]]+K[e[t+12]]+K[e[t+13]]+K[e[t+14]]+K[e[t+15]]).toLowerCase()}var bc=require("node:crypto"),Wn=new Uint8Array(256),Jn=Wn.length;function Ft(){return Jn>Wn.length-16&&((0,bc.randomFillSync)(Wn),Jn=0),Wn.slice(Jn,Jn+=16)}var xc=require("node:crypto"),wo={randomUUID:xc.randomUUID};function ag(e,t,r){if(wo.randomUUID&&!t&&!e)return wo.randomUUID();e=e||{};let n=e.random??e.rng?.()??Ft();if(n.length<16)throw new Error("Random bytes length must be >= 16");if(n[6]=n[6]&15|64,n[8]=n[8]&63|128,t){if(r=r||0,r<0||r+16>t.length)throw new RangeError(`UUID byte range ${r}:${r+15} is out of buffer bounds`);for(let i=0;i<16;++i)t[r+i]=n[i];return t}return Gn(n)}var Eo=ag;var bo={};function lg(e,t,r){let n;if(e)n=Pc(e.random??e.rng?.()??Ft(),e.msecs,e.seq,t,r);else{let i=Date.now(),o=Ft();cg(bo,i,o),n=Pc(o,bo.msecs,bo.seq,t,r)}return t??Gn(n)}function cg(e,t,r){return e.msecs??=-1/0,e.seq??=0,t>e.msecs?(e.seq=r[6]<<23|r[7]<<16|r[8]<<8|r[9],e.msecs=t):(e.seq=e.seq+1|0,e.seq===0&&e.msecs++),e}function Pc(e,t,r,n,i=0){if(e.length<16)throw new Error("Random bytes length must be >= 16");if(!n)n=new Uint8Array(16),i=0;else if(i<0||i+16>n.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);return t??=Date.now(),r??=e[6]*127<<24|e[7]<<16|e[8]<<8|e[9],n[i++]=t/1099511627776&255,n[i++]=t/4294967296&255,n[i++]=t/16777216&255,n[i++]=t/65536&255,n[i++]=t/256&255,n[i++]=t&255,n[i++]=112|r>>>28&15,n[i++]=r>>>20&255,n[i++]=128|r>>>14&63,n[i++]=r>>>6&255,n[i++]=r<<2&255|e[10]&3,n[i++]=e[11],n[i++]=e[12],n[i++]=e[13],n[i++]=e[14],n[i++]=e[15],n}var xo=lg;var Kn=class{#t={};constructor(){this.register("uuid",new vo),this.register("cuid",new To),this.register("ulid",new Ao),this.register("nanoid",new Co),this.register("product",new Ro)}snapshot(){return Object.create(this.#t,{now:{value:new Po}})}register(t,r){this.#t[t]=r}},Po=class{#t=new Date;generate(){return this.#t.toISOString()}},vo=class{generate(t){if(t===4)return Eo();if(t===7)return xo();throw new Error("Invalid UUID generator arguments")}},To=class{generate(t){if(t===1)return Tl();if(t===2)return(0,vc.createId)();throw new Error("Invalid CUID generator arguments")}},Ao=class{generate(){return Ec()}},Co=class{generate(t){if(typeof t=="number")return ho(t);if(t===void 0)return ho();throw new Error("Invalid Nanoid generator arguments")}},Ro=class{generate(t,r){if(t===void 0||r===void 0)throw new Error("Invalid Product generator arguments");return Array.isArray(t)&&Array.isArray(r)?t.flatMap(n=>r.map(i=>[n,i])):Array.isArray(t)?t.map(n=>[n,r]):Array.isArray(r)?r.map(n=>[t,n]):[[t,r]]}};function zn(e,t){return e==null?e:typeof e=="string"?zn(JSON.parse(e),t):Array.isArray(e)?pg(e,t):ug(e,t)}function ug(e,t){if(t.pagination){let{skip:r,take:n,cursor:i}=t.pagination;if(r!==null&&r>0||n===0||i!==null&&!Ot(e,i))return null}return Ac(e,t.nested)}function Ac(e,t){for(let[r,n]of Object.entries(t))e[r]=zn(e[r],n);return e}function pg(e,t){if(t.distinct!==null){let r=t.linkingFields!==null?[...t.distinct,...t.linkingFields]:t.distinct;e=dg(e,r)}return t.pagination&&(e=mg(e,t.pagination,t.linkingFields)),t.reverse&&e.reverse(),Object.keys(t.nested).length===0?e:e.map(r=>Ac(r,t.nested))}function dg(e,t){let r=new Set,n=[];for(let i of e){let o=Or(i,t);r.has(o)||(r.add(o),n.push(i))}return n}function mg(e,t,r){if(r===null)return Tc(e,t);let n=new Map;for(let o of e){let s=Or(o,r);n.has(s)||n.set(s,[]),n.get(s).push(o)}let i=Array.from(n.entries());return i.sort(([o],[s])=>o<s?-1:o>s?1:0),i.flatMap(([,o])=>Tc(o,t))}function Tc(e,{cursor:t,skip:r,take:n}){let i=t!==null?e.findIndex(a=>Ot(a,t)):0;if(i===-1)return[];let o=i+(r??0),s=n!==null?o+n:e.length;return e.slice(o,s)}function Or(e,t){return JSON.stringify(t.map(r=>e[r]))}function So(e){return typeof e=="object"&&e!==null&&e.prisma__type==="param"}function Io(e){return typeof e=="object"&&e!==null&&e.prisma__type==="generatorCall"}function Do(e,t,r,n){let i=e.args.map(o=>we(o,t,r));switch(e.type){case"rawSql":return[yg(e.sql,i,e.argTypes)];case"templateSql":return(e.chunkable?wg(e.fragments,i,n):[i]).map(s=>{if(n!==void 0&&s.length>n)throw new oe("The query parameter limit supported by your database is exceeded.","P2029");return fg(e.fragments,e.placeholderFormat,s,e.argTypes)});default:O(e.type,"Invalid query type")}}function we(e,t,r){for(;hg(e);)if(So(e)){let n=t[e.prisma__value.name];if(n===void 0)throw new Error(`Missing value for query variable ${e.prisma__value.name}`);e=n}else if(Io(e)){let{name:n,args:i}=e.prisma__value,o=r[n];if(!o)throw new Error(`Encountered an unknown generator '${n}'`);e=o.generate(...i.map(s=>we(s,t,r)))}else O(e,`Unexpected unevaluated value type: ${e}`);return Array.isArray(e)&&(e=e.map(n=>we(n,t,r))),e}function fg(e,t,r,n){let i="",o={placeholderNumber:1},s=[],a=[];for(let l of Oo(e,r,n)){if(i+=gg(l,t,o),l.type==="stringChunk")continue;let c=s.length,u=s.push(...Cc(l))-c;if(l.argType.arity==="tuple"){if(u%l.argType.elements.length!==0)throw new Error(`Malformed query template. Expected the number of parameters to match the tuple arity, but got ${u} parameters for a tuple of arity ${l.argType.elements.length}.`);for(let p=0;p<u/l.argType.elements.length;p++)a.push(...l.argType.elements)}else for(let p=0;p<u;p++)a.push(l.argType)}return{sql:i,args:s,argTypes:a}}function gg(e,t,r){let n=e.type;switch(n){case"parameter":return ko(t,r.placeholderNumber++);case"stringChunk":return e.chunk;case"parameterTuple":return`(${e.value.length==0?"NULL":e.value.map(()=>ko(t,r.placeholderNumber++)).join(",")})`;case"parameterTupleList":return e.value.map(i=>{let o=i.map(()=>ko(t,r.placeholderNumber++)).join(e.itemSeparator);return`${e.itemPrefix}${o}${e.itemSuffix}`}).join(e.groupSeparator);default:O(n,"Invalid fragment type")}}function ko(e,t){return e.hasNumbering?`${e.prefix}${t}`:e.prefix}function yg(e,t,r){return{sql:e,args:t,argTypes:r}}function hg(e){return So(e)||Io(e)}function*Oo(e,t,r){let n=0;for(let i of e)switch(i.type){case"parameter":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);yield{...i,value:t[n],argType:r?.[n]},n++;break}case"stringChunk":{yield i;break}case"parameterTuple":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];yield{...i,value:Array.isArray(o)?o:[o],argType:r?.[n]},n++;break}case"parameterTupleList":{if(n>=t.length)throw new Error(`Malformed query template. Fragments attempt to read over ${t.length} parameters.`);let o=t[n];if(!Array.isArray(o))throw new Error("Malformed query template. Tuple list expected.");if(o.length===0)throw new Error("Malformed query template. Tuple list cannot be empty.");for(let s of o)if(!Array.isArray(s))throw new Error("Malformed query template. Tuple expected.");yield{...i,value:o,argType:r?.[n]},n++;break}}}function*Cc(e){switch(e.type){case"parameter":yield e.value;break;case"stringChunk":break;case"parameterTuple":yield*e.value;break;case"parameterTupleList":for(let t of e.value)yield*t;break}}function wg(e,t,r){let n=0,i=0;for(let s of Oo(e,t,void 0)){let a=0;for(let l of Cc(s))a++;i=Math.max(i,a),n+=a}let o=[[]];for(let s of Oo(e,t,void 0))switch(s.type){case"parameter":{for(let a of o)a.push(s.value);break}case"stringChunk":break;case"parameterTuple":{let a=s.value.length,l=[];if(r&&o.length===1&&a===i&&n>r&&n-a<r){let c=r-(n-a);l=Eg(s.value,c)}else l=[s.value];o=o.flatMap(c=>l.map(u=>[...c,u]));break}case"parameterTupleList":{let a=s.value.reduce((p,d)=>p+d.length,0),l=[],c=[],u=0;for(let p of s.value)r&&o.length===1&&a===i&&c.length>0&&n-a+u+p.length>r&&(l.push(c),c=[],u=0),c.push(p),u+=p.length;c.length>0&&l.push(c),o=o.flatMap(p=>l.map(d=>[...p,d]));break}}return o}function Eg(e,t){let r=[];for(let n=0;n<e.length;n+=t)r.push(e.slice(n,n+t));return r}function Rc(e){return e.rows.map(t=>t.reduce((r,n,i)=>(r[e.columnNames[i]]=n,r),{}))}function Sc(e){return{columns:e.columnNames,types:e.columnTypes.map(t=>bg(t)),rows:e.rows.map(t=>t.map((r,n)=>Lt(r,e.columnTypes[n])))}}function Lt(e,t){if(e===null)return null;switch(t){case b.Int32:switch(typeof e){case"number":return Math.trunc(e);case"string":return Math.trunc(Number(e));default:throw new Error(`Cannot serialize value of type ${typeof e} as Int32`)}case b.Int32Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int32Array`);return e.map(r=>Lt(r,b.Int32));case b.Int64:switch(typeof e){case"number":return BigInt(Math.trunc(e));case"string":return e;default:throw new Error(`Cannot serialize value of type ${typeof e} as Int64`)}case b.Int64Array:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as Int64Array`);return e.map(r=>Lt(r,b.Int64));case b.Json:switch(typeof e){case"string":return JSON.parse(e);default:throw new Error(`Cannot serialize value of type ${typeof e} as Json`)}case b.JsonArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as JsonArray`);return e.map(r=>Lt(r,b.Json));case b.Bytes:if(Array.isArray(e))return new Uint8Array(e);throw new Error(`Cannot serialize value of type ${typeof e} as Bytes`);case b.BytesArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BytesArray`);return e.map(r=>Lt(r,b.Bytes));case b.Boolean:switch(typeof e){case"boolean":return e;case"string":return e==="true"||e==="1";case"number":return e===1;default:throw new Error(`Cannot serialize value of type ${typeof e} as Boolean`)}case b.BooleanArray:if(!Array.isArray(e))throw new Error(`Cannot serialize value of type ${typeof e} as BooleanArray`);return e.map(r=>Lt(r,b.Boolean));default:return e}}function bg(e){switch(e){case b.Int32:return"int";case b.Int64:return"bigint";case b.Float:return"float";case b.Double:return"double";case b.Text:return"string";case b.Enum:return"enum";case b.Bytes:return"bytes";case b.Boolean:return"bool";case b.Character:return"char";case b.Numeric:return"decimal";case b.Json:return"json";case b.Uuid:return"uuid";case b.DateTime:return"datetime";case b.Date:return"date";case b.Time:return"time";case b.Int32Array:return"int-array";case b.Int64Array:return"bigint-array";case b.FloatArray:return"float-array";case b.DoubleArray:return"double-array";case b.TextArray:return"string-array";case b.EnumArray:return"string-array";case b.BytesArray:return"bytes-array";case b.BooleanArray:return"bool-array";case b.CharacterArray:return"char-array";case b.NumericArray:return"decimal-array";case b.JsonArray:return"json-array";case b.UuidArray:return"uuid-array";case b.DateTimeArray:return"datetime-array";case b.DateArray:return"date-array";case b.TimeArray:return"time-array";case b.UnknownNumber:return"unknown";case b.Set:return"string";default:O(e,`Unexpected column type: ${e}`)}}function Ic(e,t,r){if(!t.every(n=>No(e,n))){let n=xg(e,r),i=Pg(r);throw new oe(n,i,r.context)}}function No(e,t){switch(t.type){case"rowCountEq":return Array.isArray(e)?e.length===t.args:e===null?t.args===0:t.args===1;case"rowCountNeq":return Array.isArray(e)?e.length!==t.args:e===null?t.args!==0:t.args!==1;case"affectedRowCountEq":return e===t.args;case"never":return!1;default:O(t,`Unknown rule type: ${t.type}`)}}function xg(e,t){switch(t.error_identifier){case"RELATION_VIOLATION":return`The change you are trying to make would violate the required relation '${t.context.relation}' between the \`${t.context.modelA}\` and \`${t.context.modelB}\` models.`;case"MISSING_RECORD":return`An operation failed because it depends on one or more records that were required but not found. No record was found for ${t.context.operation}.`;case"MISSING_RELATED_RECORD":{let r=t.context.neededFor?` (needed to ${t.context.neededFor})`:"";return`An operation failed because it depends on one or more records that were required but not found. No '${t.context.model}' record${r} was found for ${t.context.operation} on ${t.context.relationType} relation '${t.context.relation}'.`}case"INCOMPLETE_CONNECT_INPUT":return`An operation failed because it depends on one or more records that were required but not found. Expected ${t.context.expectedRows} records to be connected, found only ${Array.isArray(e)?e.length:e}.`;case"INCOMPLETE_CONNECT_OUTPUT":return`The required connected records were not found. Expected ${t.context.expectedRows} records to be connected after connect operation on ${t.context.relationType} relation '${t.context.relation}', found ${Array.isArray(e)?e.length:e}.`;case"RECORDS_NOT_CONNECTED":return`The records for relation \`${t.context.relation}\` between the \`${t.context.parent}\` and \`${t.context.child}\` models are not connected.`;default:O(t,`Unknown error identifier: ${t}`)}}function Pg(e){switch(e.error_identifier){case"RELATION_VIOLATION":return"P2014";case"RECORDS_NOT_CONNECTED":return"P2017";case"INCOMPLETE_CONNECT_OUTPUT":return"P2018";case"MISSING_RECORD":case"MISSING_RELATED_RECORD":case"INCOMPLETE_CONNECT_INPUT":return"P2025";default:O(e,`Unknown error identifier: ${e}`)}}var Dr=class e{#t;#e;#r;#n=new Kn;#s;#i;#a;#o;#c;constructor({transactionManager:t,placeholderValues:r,onQuery:n,tracingHelper:i,serializer:o,rawSerializer:s,provider:a,connectionInfo:l}){this.#t=t,this.#e=r,this.#r=n,this.#s=i,this.#i=o,this.#a=s??o,this.#o=a,this.#c=l}static forSql(t){return new e({transactionManager:t.transactionManager,placeholderValues:t.placeholderValues,onQuery:t.onQuery,tracingHelper:t.tracingHelper,serializer:Rc,rawSerializer:Sc,provider:t.provider,connectionInfo:t.connectionInfo})}async run(t,r){let{value:n}=await this.interpretNode(t,r,this.#e,this.#n.snapshot()).catch(i=>Dt(i));return n}async interpretNode(t,r,n,i){switch(t.type){case"value":return{value:we(t.args,n,i)};case"seq":{let o;for(let s of t.args)o=await this.interpretNode(s,r,n,i);return o??{value:void 0}}case"get":return{value:n[t.args.name]};case"let":{let o=Object.create(n);for(let s of t.args.bindings){let{value:a}=await this.interpretNode(s.expr,r,o,i);o[s.name]=a}return this.interpretNode(t.args.expr,r,o,i)}case"getFirstNonEmpty":{for(let o of t.args.names){let s=n[o];if(!kc(s))return{value:s}}return{value:[]}}case"concat":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>s.concat(_o(a)),[]):[]}}case"sum":{let o=await Promise.all(t.args.map(s=>this.interpretNode(s,r,n,i).then(a=>a.value)));return{value:o.length>0?o.reduce((s,a)=>Ae(s)+Ae(a)):0}}case"execute":{let o=Do(t.args,n,i,this.#l()),s=0;for(let a of o)s+=await this.#u(a,r,()=>r.executeRaw(a).catch(l=>t.args.type==="rawSql"?ro(l):Dt(l)));return{value:s}}case"query":{let o=Do(t.args,n,i,this.#l()),s;for(let a of o){let l=await this.#u(a,r,()=>r.queryRaw(a).catch(c=>t.args.type==="rawSql"?ro(c):Dt(c)));s===void 0?s=l:(s.rows.push(...l.rows),s.lastInsertId=l.lastInsertId)}return{value:t.args.type==="rawSql"?this.#a(s):this.#i(s),lastInsertId:s?.lastInsertId}}case"reverse":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);return{value:Array.isArray(o)?o.reverse():o,lastInsertId:s}}case"unique":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(!Array.isArray(o))return{value:o,lastInsertId:s};if(o.length>1)throw new Error(`Expected zero or one element, got ${o.length}`);return{value:o[0]??null,lastInsertId:s}}case"required":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args,r,n,i);if(kc(o))throw new Error("Required value is empty");return{value:o,lastInsertId:s}}case"mapField":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.records,r,n,i);return{value:Oc(o,t.args.field),lastInsertId:s}}case"join":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.parent,r,n,i);if(o===null)return{value:null,lastInsertId:s};let a=await Promise.all(t.args.children.map(async l=>({joinExpr:l,childRecords:(await this.interpretNode(l.child,r,n,i)).value})));return{value:vg(o,a),lastInsertId:s}}case"transaction":{if(!this.#t.enabled)return this.interpretNode(t.args,r,n,i);let o=this.#t.manager,s=await o.startTransaction(),a=await o.getTransaction(s,"query");try{let l=await this.interpretNode(t.args,a,n,i);return await o.commitTransaction(s.id),l}catch(l){throw await o.rollbackTransaction(s.id),l}}case"dataMap":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:bl(o,t.args.structure,t.args.enums),lastInsertId:s}}case"validate":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return Ic(o,t.args.rules,t.args),{value:o,lastInsertId:s}}case"if":{let{value:o}=await this.interpretNode(t.args.value,r,n,i);return No(o,t.args.rule)?await this.interpretNode(t.args.then,r,n,i):await this.interpretNode(t.args.else,r,n,i)}case"unit":return{value:void 0};case"diff":{let{value:o}=await this.interpretNode(t.args.from,r,n,i),{value:s}=await this.interpretNode(t.args.to,r,n,i),a=new Set(_o(s).map(l=>JSON.stringify(l)));return{value:_o(o).filter(l=>!a.has(JSON.stringify(l)))}}case"process":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i);return{value:zn(o,t.args.operations),lastInsertId:s}}case"initializeRecord":{let{lastInsertId:o}=await this.interpretNode(t.args.expr,r,n,i),s={};for(let[a,l]of Object.entries(t.args.fields))s[a]=Tg(l,o,n,i);return{value:s,lastInsertId:o}}case"mapRecord":{let{value:o,lastInsertId:s}=await this.interpretNode(t.args.expr,r,n,i),a=o===null?{}:Mo(o);for(let[l,c]of Object.entries(t.args.fields))a[l]=Ag(c,a[l],n,i);return{value:a,lastInsertId:s}}default:O(t,`Unexpected node type: ${t.type}`)}}#l(){return this.#c?.maxBindValues!==void 0?this.#c.maxBindValues:this.#p()}#p(){if(this.#o!==void 0)switch(this.#o){case"cockroachdb":case"postgres":case"postgresql":case"prisma+postgres":return 32766;case"mysql":return 65535;case"sqlite":return 999;case"sqlserver":return 2098;case"mongodb":return;default:O(this.#o,`Unexpected provider: ${this.#o}`)}}#u(t,r,n){return Un({query:t,execute:n,provider:this.#o??r.provider,tracingHelper:this.#s,onQuery:this.#r})}};function kc(e){return Array.isArray(e)?e.length===0:e==null}function _o(e){return Array.isArray(e)?e:[e]}function Ae(e){if(typeof e=="number")return e;if(typeof e=="string")return Number(e);throw new Error(`Expected number, got ${typeof e}`)}function Mo(e){if(typeof e=="object"&&e!==null)return e;throw new Error(`Expected object, got ${typeof e}`)}function Oc(e,t){return Array.isArray(e)?e.map(r=>Oc(r,t)):typeof e=="object"&&e!==null?e[t]??null:e}function vg(e,t){for(let{joinExpr:r,childRecords:n}of t){let i=r.on.map(([a])=>a),o=r.on.map(([,a])=>a),s={};for(let a of Array.isArray(e)?e:[e]){let l=Mo(a),c=Or(l,i);s[c]||(s[c]=[]),s[c].push(l),r.isRelationUnique?l[r.parentField]=null:l[r.parentField]=[]}for(let a of Array.isArray(n)?n:[n]){if(a===null)continue;let l=Or(Mo(a),o);for(let c of s[l]??[])r.isRelationUnique?c[r.parentField]=a:c[r.parentField].push(a)}}return e}function Tg(e,t,r,n){switch(e.type){case"value":return we(e.value,r,n);case"lastInsertId":return t;default:O(e,`Unexpected field initializer type: ${e.type}`)}}function Ag(e,t,r,n){switch(e.type){case"set":return we(e.value,r,n);case"add":return Ae(t)+Ae(we(e.value,r,n));case"subtract":return Ae(t)-Ae(we(e.value,r,n));case"multiply":return Ae(t)*Ae(we(e.value,r,n));case"divide":{let i=Ae(t),o=Ae(we(e.value,r,n));return o===0?null:i/o}default:O(e,`Unexpected field operation type: ${e.type}`)}}async function Cg(){return globalThis.crypto??await import("node:crypto")}async function Dc(){return(await Cg()).randomUUID()}var me=class extends oe{name="TransactionManagerError";constructor(t,r){super("Transaction API error: "+t,"P2028",r)}},Nr=class extends me{constructor(){super("Transaction not found. Transaction ID is invalid, refers to an old closed transaction Prisma doesn't have information about anymore, or was obtained before disconnecting.")}},Yn=class extends me{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a committed transaction.`)}},Zn=class extends me{constructor(t){super(`Transaction already closed: A ${t} cannot be executed on a transaction that was rolled back.`)}},Xn=class extends me{constructor(){super("Unable to start a transaction in the given time.")}},ei=class extends me{constructor(t,{timeout:r,timeTaken:n}){super(`A ${t} cannot be executed on an expired transaction. The timeout for this transaction was ${r} ms, however ${n} ms passed since the start of the transaction. Consider increasing the interactive transaction timeout or doing less work in the transaction.`,{operation:t,timeout:r,timeTaken:n})}},$t=class extends me{constructor(t){super(`Internal Consistency Error: ${t}`)}},ti=class extends me{constructor(t){super(`Invalid isolation level: ${t}`,{isolationLevel:t})}};var Rg=100,_r=q("prisma:client:transactionManager"),Sg=()=>({sql:"COMMIT",args:[],argTypes:[]}),Ig=()=>({sql:"ROLLBACK",args:[],argTypes:[]}),kg=()=>({sql:'-- Implicit "COMMIT" query via underlying driver',args:[],argTypes:[]}),Og=()=>({sql:'-- Implicit "ROLLBACK" query via underlying driver',args:[],argTypes:[]}),Mr=class{transactions=new Map;closedTransactions=[];driverAdapter;transactionOptions;tracingHelper;#t;#e;constructor({driverAdapter:t,transactionOptions:r,tracingHelper:n,onQuery:i,provider:o}){this.driverAdapter=t,this.transactionOptions=r,this.tracingHelper=n,this.#t=i,this.#e=o}async startTransaction(t){return await this.tracingHelper.runInChildSpan("start_transaction",()=>this.#r(t))}async#r(t){let r=t!==void 0?this.#a(t):this.transactionOptions,n={id:await Dc(),status:"waiting",timer:void 0,timeout:r.timeout,startedAt:Date.now(),transaction:void 0};this.transactions.set(n.id,n);let i=!1,o=setTimeout(()=>i=!0,r.maxWait);switch(o.unref?.(),n.transaction=await this.driverAdapter.startTransaction(r.isolationLevel).catch(Dt),clearTimeout(o),n.status){case"waiting":if(i)throw await this.#i(n,"timed_out"),new Xn;return n.status="running",n.timer=this.#s(n.id,r.timeout),{id:n.id};case"timed_out":case"running":case"committed":case"rolled_back":throw new $t(`Transaction in invalid state ${n.status} although it just finished startup.`);default:O(n.status,"Unknown transaction status.")}}async commitTransaction(t){return await this.tracingHelper.runInChildSpan("commit_transaction",async()=>{let r=this.#n(t,"commit");await this.#i(r,"committed")})}async rollbackTransaction(t){return await this.tracingHelper.runInChildSpan("rollback_transaction",async()=>{let r=this.#n(t,"rollback");await this.#i(r,"rolled_back")})}async getTransaction(t,r){let n=this.#n(t.id,r);if(n.status==="closing"&&(await n.closing,n=this.#n(t.id,r)),!n.transaction)throw new Nr;return n.transaction}#n(t,r){let n=this.transactions.get(t);if(!n){let i=this.closedTransactions.find(o=>o.id===t);if(i)switch(_r("Transaction already closed.",{transactionId:t,status:i.status}),i.status){case"closing":case"waiting":case"running":throw new $t("Active transaction found in closed transactions list.");case"committed":throw new Yn(r);case"rolled_back":throw new Zn(r);case"timed_out":throw new ei(r,{timeout:i.timeout,timeTaken:Date.now()-i.startedAt})}else throw _r("Transaction not found.",t),new Nr}if(["committed","rolled_back","timed_out"].includes(n.status))throw new $t("Closed transaction found in active transactions map.");return n}async cancelAllTransactions(){await Promise.allSettled([...this.transactions.values()].map(t=>this.#i(t,"rolled_back")))}#s(t,r){let n=Date.now(),i=setTimeout(async()=>{_r("Transaction timed out.",{transactionId:t,timeoutStartedAt:n,timeout:r});let o=this.transactions.get(t);o&&["running","waiting"].includes(o.status)?await this.#i(o,"timed_out"):_r("Transaction already committed or rolled back when timeout happened.",t)},r);return i.unref?.(),i}async#i(t,r){let n=async()=>{_r("Closing transaction.",{transactionId:t.id,status:r});try{if(t.transaction&&r==="committed")if(t.transaction.options.usePhantomQuery)await this.#o(kg(),t.transaction,()=>t.transaction.commit());else{let i=Sg();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.commit()}else if(t.transaction)if(t.transaction.options.usePhantomQuery)await this.#o(Og(),t.transaction,()=>t.transaction.rollback());else{let i=Ig();await this.#o(i,t.transaction,()=>t.transaction.executeRaw(i)),await t.transaction.rollback()}}finally{t.status=r,clearTimeout(t.timer),t.timer=void 0,this.transactions.delete(t.id),this.closedTransactions.push(t),this.closedTransactions.length>Rg&&this.closedTransactions.shift()}};t.status==="closing"?(await t.closing,this.#n(t.id,r==="committed"?"commit":"rollback")):await Object.assign(t,{status:"closing",reason:r,closing:n()}).closing}#a(t){if(!t.timeout)throw new me("timeout is required");if(!t.maxWait)throw new me("maxWait is required");if(t.isolationLevel==="SNAPSHOT")throw new ti(t.isolationLevel);return{...t,timeout:t.timeout,maxWait:t.maxWait}}#o(t,r,n){return Un({query:t,execute:n,provider:this.#e??r.provider,tracingHelper:this.tracingHelper,onQuery:this.#t})}};var ri="6.17.0-dev.13";var ni=class e{#t;#e;#r;#n;constructor(t,r,n){this.#t=t,this.#e=r,this.#r=n,this.#n=r.getConnectionInfo?.()}static async connect(t){let r,n;try{r=await t.driverAdapterFactory.connect(),n=new Mr({driverAdapter:r,transactionOptions:t.transactionOptions,tracingHelper:t.tracingHelper,onQuery:t.onQuery,provider:t.provider})}catch(i){throw await r?.dispose(),i}return new e(t,r,n)}getConnectionInfo(){let t=this.#n??{supportsRelationJoins:!1};return Promise.resolve({provider:this.#e.provider,connectionInfo:t})}async execute({plan:t,placeholderValues:r,transaction:n,batchIndex:i}){let o=n?await this.#r.getTransaction(n,i!==void 0?"batch query":"query"):this.#e;return await Dr.forSql({transactionManager:n?{enabled:!1}:{enabled:!0,manager:this.#r},placeholderValues:r,onQuery:this.#t.onQuery,tracingHelper:this.#t.tracingHelper,provider:this.#t.provider,connectionInfo:this.#n}).run(t,o)}async startTransaction(t){return{...await this.#r.startTransaction(t),payload:void 0}}async commitTransaction(t){await this.#r.commitTransaction(t.id)}async rollbackTransaction(t){await this.#r.rollbackTransaction(t.id)}async disconnect(){try{await this.#r.cancelAllTransactions()}finally{await this.#e.dispose()}}apiKey(){return null}};var ii=/^[\u0009\u0020-\u007E\u0080-\u00FF]+$/;function Nc(e,t,r){let n=r||{},i=n.encode||encodeURIComponent;if(typeof i!="function")throw new TypeError("option encode is invalid");if(!ii.test(e))throw new TypeError("argument name is invalid");let o=i(t);if(o&&!ii.test(o))throw new TypeError("argument val is invalid");let s=e+"="+o;if(n.maxAge!==void 0&&n.maxAge!==null){let a=n.maxAge-0;if(Number.isNaN(a)||!Number.isFinite(a))throw new TypeError("option maxAge is invalid");s+="; Max-Age="+Math.floor(a)}if(n.domain){if(!ii.test(n.domain))throw new TypeError("option domain is invalid");s+="; Domain="+n.domain}if(n.path){if(!ii.test(n.path))throw new TypeError("option path is invalid");s+="; Path="+n.path}if(n.expires){if(!Ng(n.expires)||Number.isNaN(n.expires.valueOf()))throw new TypeError("option expires is invalid");s+="; Expires="+n.expires.toUTCString()}if(n.httpOnly&&(s+="; HttpOnly"),n.secure&&(s+="; Secure"),n.priority)switch(typeof n.priority=="string"?n.priority.toLowerCase():n.priority){case"low":{s+="; Priority=Low";break}case"medium":{s+="; Priority=Medium";break}case"high":{s+="; Priority=High";break}default:throw new TypeError("option priority is invalid")}if(n.sameSite)switch(typeof n.sameSite=="string"?n.sameSite.toLowerCase():n.sameSite){case!0:{s+="; SameSite=Strict";break}case"lax":{s+="; SameSite=Lax";break}case"strict":{s+="; SameSite=Strict";break}case"none":{s+="; SameSite=None";break}default:throw new TypeError("option sameSite is invalid")}return n.partitioned&&(s+="; Partitioned"),s}function Ng(e){return Object.prototype.toString.call(e)==="[object Date]"||e instanceof Date}function _c(e,t){let r=(e||"").split(";").filter(l=>typeof l=="string"&&!!l.trim()),n=r.shift()||"",i=_g(n),o=i.name,s=i.value;try{s=t?.decode===!1?s:(t?.decode||decodeURIComponent)(s)}catch{}let a={name:o,value:s};for(let l of r){let c=l.split("="),u=(c.shift()||"").trimStart().toLowerCase(),p=c.join("=");switch(u){case"expires":{a.expires=new Date(p);break}case"max-age":{a.maxAge=Number.parseInt(p,10);break}case"secure":{a.secure=!0;break}case"httponly":{a.httpOnly=!0;break}case"samesite":{a.sameSite=p;break}default:a[u]=p}}return a}function _g(e){let t="",r="",n=e.split("=");return n.length>1?(t=n.shift(),r=n.join("=")):r=e,{name:t,value:r}}var Mg=()=>globalThis.process?.release?.name==="node",Fg=()=>!!globalThis.Bun||!!globalThis.process?.versions?.bun,Lg=()=>!!globalThis.Deno,$g=()=>typeof globalThis.Netlify=="object",Vg=()=>typeof globalThis.EdgeRuntime=="object",qg=()=>globalThis.navigator?.userAgent==="Cloudflare-Workers";function Ug(){return[[$g,"netlify"],[Vg,"edge-light"],[qg,"workerd"],[Lg,"deno"],[Fg,"bun"],[Mg,"node"]].flatMap(r=>r[0]()?[r[1]]:[]).at(0)??""}var jg={node:"Node.js",workerd:"Cloudflare Workers",deno:"Deno and Deno Deploy",netlify:"Netlify Edge Functions","edge-light":"Edge Runtime (Vercel Edge Functions, Vercel Edge Middleware, Next.js (Pages Router) Edge API Routes, Next.js (App Router) Edge Route Handlers or Next.js Middleware)"};function Mc(){let e=Ug();return{id:e,prettyName:jg[e]||e,isEdge:["workerd","deno","netlify","edge-light"].includes(e)}}function Vt({inlineDatasources:e,overrideDatasources:t,env:r,clientVersion:n}){let i,o=Object.keys(e)[0],s=e[o]?.url,a=t[o]?.url;if(o===void 0?i=void 0:a?i=a:s?.value?i=s.value:s?.fromEnvVar&&(i=r[s.fromEnvVar]),s?.fromEnvVar!==void 0&&i===void 0)throw new N(`error: Environment variable not found: ${s.fromEnvVar}.`,n);if(i===void 0)throw new N("error: Missing URL environment variable, value, or override.",n);return i}var oi=class extends Error{clientVersion;cause;constructor(t,r){super(t),this.clientVersion=r.clientVersion,this.cause=r.cause}get[Symbol.toStringTag](){return this.name}};var ue=class extends oi{isRetryable;constructor(t,r){super(t,r),this.isRetryable=r.isRetryable??!0}};function R(e,t){return{...e,isRetryable:t}}var it=class extends ue{name="InvalidDatasourceError";code="P6001";constructor(t,r){super(t,R(r,!1))}};P(it,"InvalidDatasourceError");function si(e){let t={clientVersion:e.clientVersion},r=Object.keys(e.inlineDatasources)[0],n=Vt({inlineDatasources:e.inlineDatasources,overrideDatasources:e.overrideDatasources,clientVersion:e.clientVersion,env:{...e.env,...typeof process<"u"?process.env:{}}}),i;try{i=new URL(n)}catch{throw new it(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\``,t)}let{protocol:o,searchParams:s}=i;if(o!=="prisma:"&&o!==rn)throw new it(`Error validating datasource \`${r}\`: the URL must start with the protocol \`prisma://\` or \`prisma+postgres://\``,t);let a=s.get("api_key");if(a===null||a.length<1)throw new it(`Error validating datasource \`${r}\`: the URL must contain a valid API key`,t);let l=xi(i)?"http:":"https:";process.env.TEST_CLIENT_ENGINE_REMOTE_EXECUTOR&&i.searchParams.has("use_http")&&(l="http:");let c=new URL(i.href.replace(o,l));return{apiKey:a,url:c}}var Fc=H(ds()),qt=class{apiKey;tracingHelper;logLevel;logQueries;engineHash;constructor({apiKey:t,tracingHelper:r,logLevel:n,logQueries:i,engineHash:o}){this.apiKey=t,this.tracingHelper=r,this.logLevel=n,this.logQueries=i,this.engineHash=o}build({traceparent:t,transactionId:r}={}){let n={Accept:"application/json",Authorization:`Bearer ${this.apiKey}`,"Content-Type":"application/json","Prisma-Engine-Hash":this.engineHash,"Prisma-Engine-Version":Fc.enginesVersion};this.tracingHelper.isEnabled()&&(n.traceparent=t??this.tracingHelper.getTraceParent()),r&&(n["X-Transaction-Id"]=r);let i=this.#t();return i.length>0&&(n["X-Capture-Telemetry"]=i.join(", ")),n}#t(){let t=[];return this.tracingHelper.isEnabled()&&t.push("tracing"),this.logLevel&&t.push(this.logLevel),this.logQueries&&t.push("query"),t}};function Bg(e){return e[0]*1e3+e[1]/1e6}function Ut(e){return new Date(Bg(e))}var Lc=q("prisma:client:clientEngine:remoteExecutor"),ai=class{#t;#e;#r;#n;#s;constructor(t){this.#t=t.clientVersion,this.#n=t.logEmitter,this.#s=t.tracingHelper;let{url:r,apiKey:n}=si({clientVersion:t.clientVersion,env:t.env,inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources});this.#r=new Fo(r),this.#e=new qt({apiKey:n,engineHash:t.clientVersion,logLevel:t.logLevel,logQueries:t.logQueries,tracingHelper:t.tracingHelper})}async getConnectionInfo(){return await this.#i({path:"/connection-info",method:"GET"})}async execute({plan:t,placeholderValues:r,batchIndex:n,model:i,operation:o,transaction:s,customFetch:a}){return(await this.#i({path:s?`/transaction/${s.id}/query`:"/query",method:"POST",body:{model:i,operation:o,plan:t,params:r},batchRequestIdx:n,fetch:a})).data}async startTransaction(t){return{...await this.#i({path:"/transaction/start",method:"POST",body:t}),payload:void 0}}async commitTransaction(t){await this.#i({path:`/transaction/${t.id}/commit`,method:"POST"})}async rollbackTransaction(t){await this.#i({path:`/transaction/${t.id}/rollback`,method:"POST"})}disconnect(){return Promise.resolve()}apiKey(){return this.#e.apiKey}async#i({path:t,method:r,body:n,fetch:i=globalThis.fetch,batchRequestIdx:o}){let s=await this.#r.request({method:r,path:t,headers:this.#e.build(),body:n,fetch:i});s.ok||await this.#a(s,o);let a=await s.json();return typeof a.extensions=="object"&&a.extensions!==null&&this.#o(a.extensions),a}async#a(t,r){let n=t.headers.get("Prisma-Error-Code"),i=await t.text(),o,s=i;try{o=JSON.parse(i)}catch{o={}}typeof o.code=="string"&&(n=o.code),typeof o.error=="string"?s=o.error:typeof o.message=="string"?s=o.message:typeof o.InvalidRequestError=="object"&&o.InvalidRequestError!==null&&typeof o.InvalidRequestError.reason=="string"&&(s=o.InvalidRequestError.reason),s=s||`HTTP ${t.status}: ${t.statusText}`;let a=typeof o.meta=="object"&&o.meta!==null?o.meta:o;throw new U(s,{clientVersion:this.#t,code:n??"P6000",batchRequestIdx:r,meta:a})}#o(t){if(t.logs)for(let r of t.logs)this.#c(r);t.traces&&this.#s.dispatchEngineSpans(t.traces)}#c(t){switch(t.level){case"debug":case"trace":Lc(t);break;case"error":case"warn":case"info":{this.#n.emit(t.level,{timestamp:Ut(t.timestamp),message:t.attributes.message??"",target:t.target??"RemoteExecutor"});break}case"query":{this.#n.emit("query",{query:t.attributes.query??"",timestamp:Ut(t.timestamp),duration:t.attributes.duration_ms??0,params:t.attributes.params??"",target:t.target??"RemoteExecutor"});break}default:throw new Error(`Unexpected log level: ${t.level}`)}}},Fo=class{#t;#e;#r;constructor(t){this.#t=t,this.#e=new Map}async request({method:t,path:r,headers:n,body:i,fetch:o}){let s=new URL(r,this.#t),a=this.#n(s);a&&(n.Cookie=a),this.#r&&(n["Accelerate-Query-Engine-Jwt"]=this.#r);let l=await o(s.href,{method:t,body:i!==void 0?JSON.stringify(i):void 0,headers:n});return Lc(t,s,l.status,l.statusText),this.#r=l.headers.get("Accelerate-Query-Engine-Jwt")??void 0,this.#s(s,l),l}#n(t){let r=[],n=new Date;for(let[i,o]of this.#e){if(o.expires&&o.expires<n){this.#e.delete(i);continue}let s=o.domain??t.hostname,a=o.path??"/";t.hostname.endsWith(s)&&t.pathname.startsWith(a)&&r.push(Nc(o.name,o.value))}return r.length>0?r.join("; "):void 0}#s(t,r){let n=r.headers.getSetCookie?.()||[];if(n.length===0){let i=r.headers.get("Set-Cookie");i&&n.push(i)}for(let i of n){let o=_c(i),s=o.domain??t.hostname,a=o.path??"/",l=`${s}:${a}:${o.name}`;this.#e.set(l,{name:o.name,value:o.value,domain:s,path:a,expires:o.expires})}}};var Lo,$c={async loadQueryCompiler(e){let{clientVersion:t,compilerWasm:r}=e;if(r===void 0)throw new N("WASM query compiler was unexpectedly `undefined`",t);return Lo===void 0&&(Lo=(async()=>{let n=await r.getRuntime(),i=await r.getQueryCompilerWasmModule();if(i==null)throw new N("The loaded wasm module was unexpectedly `undefined` or `null` once loaded",t);let o={"./query_compiler_bg.js":n},s=new WebAssembly.Instance(i,o),a=s.exports.__wbindgen_start;return n.__wbg_set_wasm(s.exports),a(),n.QueryCompiler})()),await Lo}};var Qg="P2038",Fr=q("prisma:client:clientEngine"),qc=globalThis;qc.PRISMA_WASM_PANIC_REGISTRY={set_message(e){throw new re(e,ri)}};var jt=class{name="ClientEngine";#t;#e={type:"disconnected"};#r;#n;config;datamodel;logEmitter;logQueries;logLevel;tracingHelper;#s;constructor(t,r,n){if(r)this.#n={remote:!0};else if(t.adapter)this.#n={remote:!1,driverAdapterFactory:t.adapter},Fr("Using driver adapter: %O",t.adapter);else throw new N("Missing configured driver adapter. Engine type `client` requires an active driver adapter. Please check your PrismaClient initialization code.",t.clientVersion,Qg);this.#r=n??$c,this.config=t,this.logQueries=t.logQueries??!1,this.logLevel=t.logLevel??"error",this.logEmitter=t.logEmitter,this.datamodel=t.inlineSchema,this.tracingHelper=t.tracingHelper,t.enableDebugLogs&&(this.logLevel="debug"),this.logQueries&&(this.#s=i=>{this.logEmitter.emit("query",{...i,params:Pr(i.params),target:"ClientEngine"})})}applyPendingMigrations(){throw new Error("Cannot call applyPendingMigrations on engine type client.")}async#i(){switch(this.#e.type){case"disconnected":{let t=this.tracingHelper.runInChildSpan("connect",async()=>{let r,n;try{r=await this.#a(),n=await this.#o(r)}catch(o){throw this.#e={type:"disconnected"},n?.free(),await r?.disconnect(),o}let i={executor:r,queryCompiler:n};return this.#e={type:"connected",engine:i},i});return this.#e={type:"connecting",promise:t},await t}case"connecting":return await this.#e.promise;case"connected":return this.#e.engine;case"disconnecting":return await this.#e.promise,await this.#i()}}async#a(){return this.#n.remote?new ai({clientVersion:this.config.clientVersion,env:this.config.env,inlineDatasources:this.config.inlineDatasources,logEmitter:this.logEmitter,logLevel:this.logLevel,logQueries:this.logQueries,overrideDatasources:this.config.overrideDatasources,tracingHelper:this.tracingHelper}):await ni.connect({driverAdapterFactory:this.#n.driverAdapterFactory,tracingHelper:this.tracingHelper,transactionOptions:{...this.config.transactionOptions,isolationLevel:this.#d(this.config.transactionOptions.isolationLevel)},onQuery:this.#s,provider:this.config.activeProvider})}async#o(t){let r=this.#t;r===void 0&&(r=await this.#r.loadQueryCompiler(this.config),this.#t=r);let{provider:n,connectionInfo:i}=await t.getConnectionInfo();try{return this.#u(()=>new r({datamodel:this.datamodel,provider:n,connectionInfo:i}),void 0,!1)}catch(o){throw this.#c(o)}}#c(t){if(t instanceof re)return t;try{let r=JSON.parse(t.message);return new N(r.message,this.config.clientVersion,r.error_code)}catch{return t}}#l(t,r){if(t instanceof N)return t;if(t.code==="GenericFailure"&&t.message?.startsWith("PANIC:"))return new re(Vc(this,t.message,r),this.config.clientVersion);if(t instanceof oe)return new U(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion});try{let n=JSON.parse(t);return new J(`${n.message}
72
72
  ${n.backtrace}`,{clientVersion:this.config.clientVersion})}catch{return t}}#p(t){return t instanceof re?t:typeof t.message=="string"&&typeof t.code=="string"?new U(t.message,{code:t.code,meta:t.meta,clientVersion:this.config.clientVersion}):typeof t.message=="string"?new J(t.message,{clientVersion:this.config.clientVersion}):t}#u(t,r,n=!0){let i=qc.PRISMA_WASM_PANIC_REGISTRY.set_message,o;global.PRISMA_WASM_PANIC_REGISTRY.set_message=s=>{o=s};try{return t()}finally{if(global.PRISMA_WASM_PANIC_REGISTRY.set_message=i,o)throw this.#t=void 0,n&&this.stop().catch(s=>Fr("failed to disconnect:",s)),new re(Vc(this,o,r),this.config.clientVersion)}}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the client engine, it is only relevant and implemented for the binary engine. Please add your event listener to the `process` object directly instead.')}async start(){await this.#i()}async stop(){switch(this.#e.type){case"disconnected":return;case"connecting":return await this.#e.promise,await this.stop();case"connected":{let t=this.#e.engine,r=this.tracingHelper.runInChildSpan("disconnect",async()=>{try{await t.executor.disconnect(),t.queryCompiler.free()}finally{this.#e={type:"disconnected"}}});return this.#e={type:"disconnecting",promise:r},await r}case"disconnecting":return await this.#e.promise}}version(){return"unknown"}async transaction(t,r,n){let i,{executor:o}=await this.#i();try{if(t==="start"){let s=n;i=await o.startTransaction({...s,isolationLevel:this.#d(s.isolationLevel)})}else if(t==="commit"){let s=n;await o.commitTransaction(s)}else if(t==="rollback"){let s=n;await o.rollbackTransaction(s)}else Ie(t,"Invalid transaction action.")}catch(s){throw this.#l(s)}return i?{id:i.id,payload:void 0}:void 0}async request(t,{interactiveTransaction:r,customDataProxyFetch:n}){Fr("sending request");let i=JSON.stringify(t),{executor:o,queryCompiler:s}=await this.#i().catch(l=>{throw this.#l(l,i)}),a;try{a=this.#u(()=>this.#m({queries:[t],execute:()=>s.compile(i)}))}catch(l){throw this.#p(l)}try{Fr("query plan created",a);let l={},c=await o.execute({plan:a,model:t.modelName,operation:t.action,placeholderValues:l,transaction:r,batchIndex:void 0,customFetch:n?.(globalThis.fetch)});return Fr("query plan executed"),{data:{[t.action]:c}}}catch(l){throw this.#l(l,i)}}async requestBatch(t,{transaction:r,customDataProxyFetch:n}){if(t.length===0)return[];let i=t[0].action,o=JSON.stringify(It(t,r)),{executor:s,queryCompiler:a}=await this.#i().catch(c=>{throw this.#l(c,o)}),l;try{l=this.#u(()=>this.#m({queries:t,execute:()=>a.compileBatch(o)}))}catch(c){throw this.#p(c)}try{let c;r?.kind==="itx"&&(c=r.options);let u={};switch(l.type){case"multi":{if(r?.kind!=="itx"){let m=r?.options.isolationLevel?{...this.config.transactionOptions,isolationLevel:r.options.isolationLevel}:this.config.transactionOptions;c=await this.transaction("start",{},m)}let p=[],d=!1;for(let[m,y]of l.plans.entries())try{let g=await s.execute({plan:y,placeholderValues:u,model:t[m].modelName,operation:t[m].action,batchIndex:m,transaction:c,customFetch:n?.(globalThis.fetch)});p.push({data:{[t[m].action]:g}})}catch(g){p.push(g),d=!0;break}return c!==void 0&&r?.kind!=="itx"&&(d?await this.transaction("rollback",{},c):await this.transaction("commit",{},c)),p}case"compacted":{if(!t.every(m=>m.action===i))throw new Error("All queries in a batch must have the same action");let p=await s.execute({plan:l.plan,placeholderValues:u,model:t[0].modelName,operation:i,batchIndex:void 0,transaction:c,customFetch:n?.(globalThis.fetch)});return wl(p,l).map(m=>({data:{[i]:m}}))}}}catch(c){throw this.#l(c,o)}}metrics(t){throw new Error("Method not implemented.")}async apiKey(){let{executor:t}=await this.#i();return t.apiKey()}#d(t){switch(t){case void 0:return;case"ReadUncommitted":return"READ UNCOMMITTED";case"ReadCommitted":return"READ COMMITTED";case"RepeatableRead":return"REPEATABLE READ";case"Serializable":return"SERIALIZABLE";case"Snapshot":return"SNAPSHOT";default:throw new U(`Inconsistent column data: Conversion failed: Invalid isolation level \`${t}\``,{code:"P2023",clientVersion:this.config.clientVersion,meta:{providedIsolationLevel:t}})}}#m({queries:t,execute:r}){return this.tracingHelper.runInChildSpan({name:"compile",attributes:{models:t.map(n=>n.modelName).filter(n=>n!==void 0),actions:t.map(n=>n.action)}},r)}};function Vc(e,t,r){return pl({binaryTarget:void 0,title:t,version:e.config.clientVersion,engineVersion:"unknown",database:e.config.activeProvider,query:r})}var Bt=class extends ue{name="ForcedRetryError";code="P5001";constructor(t){super("This request must be retried",R(t,!0))}};P(Bt,"ForcedRetryError");var ot=class extends ue{name="NotImplementedYetError";code="P5004";constructor(t,r){super(t,R(r,!1))}};P(ot,"NotImplementedYetError");var L=class extends ue{response;constructor(t,r){super(t,r),this.response=r.response;let n=this.response.headers.get("prisma-request-id");if(n){let i=`(The request id was: ${n})`;this.message=this.message+" "+i}}};var st=class extends L{name="SchemaMissingError";code="P5005";constructor(t){super("Schema needs to be uploaded",R(t,!0))}};P(st,"SchemaMissingError");var $o="This request could not be understood by the server",Lr=class extends L{name="BadRequestError";code="P5000";constructor(t,r,n){super(r||$o,R(t,!1)),n&&(this.code=n)}};P(Lr,"BadRequestError");var $r=class extends L{name="HealthcheckTimeoutError";code="P5013";logs;constructor(t,r){super("Engine not started: healthcheck timeout",R(t,!0)),this.logs=r}};P($r,"HealthcheckTimeoutError");var Vr=class extends L{name="EngineStartupError";code="P5014";logs;constructor(t,r,n){super(r,R(t,!0)),this.logs=n}};P(Vr,"EngineStartupError");var qr=class extends L{name="EngineVersionNotSupportedError";code="P5012";constructor(t){super("Engine version is not supported",R(t,!1))}};P(qr,"EngineVersionNotSupportedError");var Vo="Request timed out",Ur=class extends L{name="GatewayTimeoutError";code="P5009";constructor(t,r=Vo){super(r,R(t,!1))}};P(Ur,"GatewayTimeoutError");var Hg="Interactive transaction error",jr=class extends L{name="InteractiveTransactionError";code="P5015";constructor(t,r=Hg){super(r,R(t,!1))}};P(jr,"InteractiveTransactionError");var Gg="Request parameters are invalid",Br=class extends L{name="InvalidRequestError";code="P5011";constructor(t,r=Gg){super(r,R(t,!1))}};P(Br,"InvalidRequestError");var qo="Requested resource does not exist",Qr=class extends L{name="NotFoundError";code="P5003";constructor(t,r=qo){super(r,R(t,!1))}};P(Qr,"NotFoundError");var Uo="Unknown server error",Qt=class extends L{name="ServerError";code="P5006";logs;constructor(t,r,n){super(r||Uo,R(t,!0)),this.logs=n}};P(Qt,"ServerError");var jo="Unauthorized, check your connection string",Hr=class extends L{name="UnauthorizedError";code="P5007";constructor(t,r=jo){super(r,R(t,!1))}};P(Hr,"UnauthorizedError");var Bo="Usage exceeded, retry again later",Gr=class extends L{name="UsageExceededError";code="P5008";constructor(t,r=Bo){super(r,R(t,!0))}};P(Gr,"UsageExceededError");async function Jg(e){let t;try{t=await e.text()}catch{return{type:"EmptyError"}}try{let r=JSON.parse(t);if(typeof r=="string")switch(r){case"InternalDataProxyError":return{type:"DataProxyError",body:r};default:return{type:"UnknownTextError",body:r}}if(typeof r=="object"&&r!==null){if("is_panic"in r&&"message"in r&&"error_code"in r)return{type:"QueryEngineError",body:r};if("EngineNotStarted"in r||"InteractiveTransactionMisrouted"in r||"InvalidRequestError"in r){let n=Object.values(r)[0].reason;return typeof n=="string"&&!["SchemaMissing","EngineVersionNotSupported"].includes(n)?{type:"UnknownJsonError",body:r}:{type:"DataProxyError",body:r}}}return{type:"UnknownJsonError",body:r}}catch{return t===""?{type:"EmptyError"}:{type:"UnknownTextError",body:t}}}async function Jr(e,t){if(e.ok)return;let r={clientVersion:t,response:e},n=await Jg(e);if(n.type==="QueryEngineError")throw new U(n.body.message,{code:n.body.error_code,clientVersion:t});if(n.type==="DataProxyError"){if(n.body==="InternalDataProxyError")throw new Qt(r,"Internal Data Proxy error");if("EngineNotStarted"in n.body){if(n.body.EngineNotStarted.reason==="SchemaMissing")return new st(r);if(n.body.EngineNotStarted.reason==="EngineVersionNotSupported")throw new qr(r);if("EngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,logs:o}=n.body.EngineNotStarted.reason.EngineStartupError;throw new Vr(r,i,o)}if("KnownEngineStartupError"in n.body.EngineNotStarted.reason){let{msg:i,error_code:o}=n.body.EngineNotStarted.reason.KnownEngineStartupError;throw new N(i,t,o)}if("HealthcheckTimeout"in n.body.EngineNotStarted.reason){let{logs:i}=n.body.EngineNotStarted.reason.HealthcheckTimeout;throw new $r(r,i)}}if("InteractiveTransactionMisrouted"in n.body){let i={IDParseError:"Could not parse interactive transaction ID",NoQueryEngineFoundError:"Could not find Query Engine for the specified host and transaction ID",TransactionStartError:"Could not start interactive transaction"};throw new jr(r,i[n.body.InteractiveTransactionMisrouted.reason])}if("InvalidRequestError"in n.body)throw new Br(r,n.body.InvalidRequestError.reason)}if(e.status===401||e.status===403)throw new Hr(r,Ht(jo,n));if(e.status===404)return new Qr(r,Ht(qo,n));if(e.status===429)throw new Gr(r,Ht(Bo,n));if(e.status===504)throw new Ur(r,Ht(Vo,n));if(e.status>=500)throw new Qt(r,Ht(Uo,n));if(e.status>=400)throw new Lr(r,Ht($o,n))}function Ht(e,t){return t.type==="EmptyError"?e:`${e}: ${JSON.stringify(t)}`}function Uc(e){let t=Math.pow(2,e)*50,r=Math.ceil(Math.random()*t)-Math.ceil(t/2),n=t+r;return new Promise(i=>setTimeout(()=>i(n),n))}var Fe="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";function jc(e){let t=new TextEncoder().encode(e),r="",n=t.byteLength,i=n%3,o=n-i,s,a,l,c,u;for(let p=0;p<o;p=p+3)u=t[p]<<16|t[p+1]<<8|t[p+2],s=(u&16515072)>>18,a=(u&258048)>>12,l=(u&4032)>>6,c=u&63,r+=Fe[s]+Fe[a]+Fe[l]+Fe[c];return i==1?(u=t[o],s=(u&252)>>2,a=(u&3)<<4,r+=Fe[s]+Fe[a]+"=="):i==2&&(u=t[o]<<8|t[o+1],s=(u&64512)>>10,a=(u&1008)>>4,l=(u&15)<<2,r+=Fe[s]+Fe[a]+Fe[l]+"="),r}function Bc(e){if(!!e.generator?.previewFeatures.some(r=>r.toLowerCase().includes("metrics")))throw new N("The `metrics` preview feature is not yet available with Accelerate.\nPlease remove `metrics` from the `previewFeatures` in your schema.\n\nMore information about Accelerate: https://pris.ly/d/accelerate",e.clientVersion)}var Qc={"@prisma/debug":"workspace:*","@prisma/engines-version":"6.17.0-6.7094b62bbd6bbc778403e89cdbcbfe598503ed9b","@prisma/fetch-engine":"workspace:*","@prisma/get-platform":"workspace:*"};var Wr=class extends ue{name="RequestError";code="P5010";constructor(t,r){super(`Cannot fetch data from service:
73
73
  ${t}`,R(r,!0))}};P(Wr,"RequestError");async function at(e,t,r=n=>n){let{clientVersion:n,...i}=t,o=r(fetch);try{return await o(e,i)}catch(s){let a=s.message??"Unknown error";throw new Wr(a,{clientVersion:n,cause:s})}}var Kg=/^[1-9][0-9]*\.[0-9]+\.[0-9]+$/,Hc=q("prisma:client:dataproxyEngine");async function zg(e,t){let r=Qc["@prisma/engines-version"],n=t.clientVersion??"unknown";if(process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION)return process.env.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION||globalThis.PRISMA_CLIENT_DATA_PROXY_CLIENT_VERSION;if(e.includes("accelerate")&&n!=="0.0.0"&&n!=="in-memory")return n;let[i,o]=n?.split("-")??[];if(o===void 0&&Kg.test(i))return i;if(o!==void 0||n==="0.0.0"||n==="in-memory"){let[s]=r.split("-")??[],[a,l,c]=s.split("."),u=Yg(`<=${a}.${l}.${c}`),p=await at(u,{clientVersion:n});if(!p.ok)throw new Error(`Failed to fetch stable Prisma version, unpkg.com status ${p.status} ${p.statusText}, response body: ${await p.text()||"<empty body>"}`);let d=await p.text();Hc("length of body fetched from unpkg.com",d.length);let m;try{m=JSON.parse(d)}catch(y){throw console.error("JSON.parse error: body fetched from unpkg.com: ",d),y}return m.version}throw new ot("Only `major.minor.patch` versions are supported by Accelerate.",{clientVersion:n})}async function Gc(e,t){let r=await zg(e,t);return Hc("version",r),r}function Yg(e){return encodeURI(`https://unpkg.com/prisma@${e}/package.json`)}var Jc=3,Kr=q("prisma:client:dataproxyEngine"),zr=class{name="DataProxyEngine";inlineSchema;inlineSchemaHash;inlineDatasources;config;logEmitter;env;clientVersion;engineHash;tracingHelper;remoteClientVersion;host;headerBuilder;startPromise;protocol;constructor(t){Bc(t),this.config=t,this.env=t.env,this.inlineSchema=jc(t.inlineSchema),this.inlineDatasources=t.inlineDatasources,this.inlineSchemaHash=t.inlineSchemaHash,this.clientVersion=t.clientVersion,this.engineHash=t.engineVersion,this.logEmitter=t.logEmitter,this.tracingHelper=t.tracingHelper}apiKey(){return this.headerBuilder.apiKey}version(){return this.engineHash}async start(){this.startPromise!==void 0&&await this.startPromise,this.startPromise=(async()=>{let{apiKey:t,url:r}=this.getURLAndAPIKey();this.host=r.host,this.protocol=r.protocol,this.headerBuilder=new qt({apiKey:t,tracingHelper:this.tracingHelper,logLevel:this.config.logLevel??"error",logQueries:this.config.logQueries,engineHash:this.engineHash}),this.remoteClientVersion=await Gc(this.host,this.config),Kr("host",this.host),Kr("protocol",this.protocol)})(),await this.startPromise}async stop(){}propagateResponseExtensions(t){t?.logs?.length&&t.logs.forEach(r=>{switch(r.level){case"debug":case"trace":Kr(r);break;case"error":case"warn":case"info":{this.logEmitter.emit(r.level,{timestamp:Ut(r.timestamp),message:r.attributes.message??"",target:r.target??"BinaryEngine"});break}case"query":{this.logEmitter.emit("query",{query:r.attributes.query??"",timestamp:Ut(r.timestamp),duration:r.attributes.duration_ms??0,params:r.attributes.params??"",target:r.target??"BinaryEngine"});break}default:r.level}}),t?.traces?.length&&this.tracingHelper.dispatchEngineSpans(t.traces)}onBeforeExit(){throw new Error('"beforeExit" hook is not applicable to the remote query engine')}async url(t){return await this.start(),`${this.protocol}//${this.host}/${this.remoteClientVersion}/${this.inlineSchemaHash}/${t}`}async uploadSchema(){let t={name:"schemaUpload",internal:!0};return this.tracingHelper.runInChildSpan(t,async()=>{let r=await at(await this.url("schema"),{method:"PUT",headers:this.headerBuilder.build(),body:this.inlineSchema,clientVersion:this.clientVersion});r.ok||Kr("schema response status",r.status);let n=await Jr(r,this.clientVersion);if(n)throw this.logEmitter.emit("warn",{message:`Error while uploading schema: ${n.message}`,timestamp:new Date,target:""}),n;this.logEmitter.emit("info",{message:`Schema (re)uploaded (hash: ${this.inlineSchemaHash})`,timestamp:new Date,target:""})})}request(t,{traceparent:r,interactiveTransaction:n,customDataProxyFetch:i}){return this.requestInternal({body:t,traceparent:r,interactiveTransaction:n,customDataProxyFetch:i})}async requestBatch(t,{traceparent:r,transaction:n,customDataProxyFetch:i}){let o=n?.kind==="itx"?n.options:void 0,s=It(t,n);return(await this.requestInternal({body:s,customDataProxyFetch:i,interactiveTransaction:o,traceparent:r})).map(l=>(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l?this.convertProtocolErrorsToClientError(l.errors):l))}requestInternal({body:t,traceparent:r,customDataProxyFetch:n,interactiveTransaction:i}){return this.withRetry({actionGerund:"querying",callback:async({logHttpCall:o})=>{let s=i?`${i.payload.endpoint}/graphql`:await this.url("graphql");o(s);let a=await at(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r,transactionId:i?.id}),body:JSON.stringify(t),clientVersion:this.clientVersion},n);a.ok||Kr("graphql response status",a.status),await this.handleError(await Jr(a,this.clientVersion));let l=await a.json();if(l.extensions&&this.propagateResponseExtensions(l.extensions),"errors"in l)throw this.convertProtocolErrorsToClientError(l.errors);return"batchResult"in l?l.batchResult:l}})}async transaction(t,r,n){let i={start:"starting",commit:"committing",rollback:"rolling back"};return this.withRetry({actionGerund:`${i[t]} transaction`,callback:async({logHttpCall:o})=>{if(t==="start"){let s=JSON.stringify({max_wait:n.maxWait,timeout:n.timeout,isolation_level:n.isolationLevel}),a=await this.url("transaction/start");o(a);let l=await at(a,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),body:s,clientVersion:this.clientVersion});await this.handleError(await Jr(l,this.clientVersion));let c=await l.json(),{extensions:u}=c;u&&this.propagateResponseExtensions(u);let p=c.id,d=c["data-proxy"].endpoint;return{id:p,payload:{endpoint:d}}}else{let s=`${n.payload.endpoint}/${t}`;o(s);let a=await at(s,{method:"POST",headers:this.headerBuilder.build({traceparent:r.traceparent}),clientVersion:this.clientVersion});await this.handleError(await Jr(a,this.clientVersion));let l=await a.json(),{extensions:c}=l;c&&this.propagateResponseExtensions(c);return}}})}getURLAndAPIKey(){return si({clientVersion:this.clientVersion,env:this.env,inlineDatasources:this.inlineDatasources,overrideDatasources:this.config.overrideDatasources})}metrics(){throw new ot("Metrics are not yet supported for Accelerate",{clientVersion:this.clientVersion})}async withRetry(t){for(let r=0;;r++){let n=i=>{this.logEmitter.emit("info",{message:`Calling ${i} (n=${r})`,timestamp:new Date,target:""})};try{return await t.callback({logHttpCall:n})}catch(i){if(!(i instanceof ue)||!i.isRetryable)throw i;if(r>=Jc)throw i instanceof Bt?i.cause:i;this.logEmitter.emit("warn",{message:`Attempt ${r+1}/${Jc} failed for ${t.actionGerund}: ${i.message??"(unknown)"}`,timestamp:new Date,target:""});let o=await Uc(r);this.logEmitter.emit("warn",{message:`Retrying after ${o}ms`,timestamp:new Date,target:""})}}}async handleError(t){if(t instanceof st)throw await this.uploadSchema(),new Bt({clientVersion:this.clientVersion,cause:t});if(t)throw t}convertProtocolErrorsToClientError(t){return t.length===1?$n(t[0],this.config.clientVersion,this.config.activeProvider):new J(JSON.stringify(t),{clientVersion:this.config.clientVersion})}applyPendingMigrations(){throw new Error("Method not implemented.")}};function Wc({url:e,adapter:t,copyEngine:r,targetBuildType:n}){let i=[],o=[],s=g=>{i.push({_tag:"warning",value:g})},a=g=>{let I=g.join(`
74
74
  `);o.push({_tag:"error",value:I})},l=!!e?.startsWith("prisma://"),c=nn(e),u=!!t,p=l||c;!u&&r&&p&&n!=="client"&&n!=="wasm-compiler-edge"&&s(["recommend--no-engine","In production, we recommend using `prisma generate --no-engine` (See: `prisma generate --help`)"]);let d=p||!r;u&&(d||n==="edge")&&(n==="edge"?a(["Prisma Client was configured to use the `adapter` option but it was imported via its `/edge` endpoint.","Please either remove the `/edge` endpoint or remove the `adapter` from the Prisma Client constructor."]):p?a(["You've provided both a driver adapter and an Accelerate database URL. Driver adapters currently cannot connect to Accelerate.","Please provide either a driver adapter with a direct database URL or an Accelerate URL and no driver adapter."]):r||a(["Prisma Client was configured to use the `adapter` option but `prisma generate` was run with `--no-engine`.","Please run `prisma generate` without `--no-engine` to be able to use Prisma Client with the adapter."]));let m={accelerate:d,ppg:c,driverAdapters:u};function y(g){return g.length>0}return y(o)?{ok:!1,diagnostics:{warnings:i,errors:o},isUsing:m}:{ok:!0,diagnostics:{warnings:i},isUsing:m}}function Kc({copyEngine:e=!0},t){let r;try{r=Vt({inlineDatasources:t.inlineDatasources,overrideDatasources:t.overrideDatasources,env:{...t.env,...process.env},clientVersion:t.clientVersion})}catch{}let{ok:n,isUsing:i,diagnostics:o}=Wc({url:r,adapter:t.adapter,copyEngine:e,targetBuildType:"client"});for(let p of o.warnings)ir(...p.value);if(!n){let p=o.errors[0];throw new X(p.value,{clientVersion:t.clientVersion})}let s=pt(t.generator),a=s==="library",l=s==="binary",c=s==="client",u=(i.accelerate||i.ppg)&&!i.driverAdapters;return c?new jt(t,u):i.accelerate?new zr(t):(i.driverAdapters,i.accelerate,new jt(t,u))}function zc({generator:e}){return e?.previewFeatures??[]}var Yc=e=>({command:e});var Zc=e=>e.strings.reduce((t,r,n)=>`${t}@P${n}${r}`);function Gt(e){try{return Xc(e,"fast")}catch{return Xc(e,"slow")}}function Xc(e,t){return JSON.stringify(e.map(r=>tu(r,t)))}function tu(e,t){if(Array.isArray(e))return e.map(r=>tu(r,t));if(typeof e=="bigint")return{prisma__type:"bigint",prisma__value:e.toString()};if(ft(e))return{prisma__type:"date",prisma__value:e.toJSON()};if(ne.isDecimal(e))return{prisma__type:"decimal",prisma__value:e.toJSON()};if(Buffer.isBuffer(e))return{prisma__type:"bytes",prisma__value:e.toString("base64")};if(Zg(e))return{prisma__type:"bytes",prisma__value:Buffer.from(e).toString("base64")};if(ArrayBuffer.isView(e)){let{buffer:r,byteOffset:n,byteLength:i}=e;return{prisma__type:"bytes",prisma__value:Buffer.from(r,n,i).toString("base64")}}return typeof e=="object"&&t==="slow"?ru(e):e}function Zg(e){return e instanceof ArrayBuffer||e instanceof SharedArrayBuffer?!0:typeof e=="object"&&e!==null?e[Symbol.toStringTag]==="ArrayBuffer"||e[Symbol.toStringTag]==="SharedArrayBuffer":!1}function ru(e){if(typeof e!="object"||e===null)return e;if(typeof e.toJSON=="function")return e.toJSON();if(Array.isArray(e))return e.map(eu);let t={};for(let r of Object.keys(e))t[r]=eu(e[r]);return t}function eu(e){return typeof e=="bigint"?e.toString():ru(e)}var Xg=/^(\s*alter\s)/i,nu=q("prisma:client");function Qo(e,t,r,n){if(!(e!=="postgresql"&&e!=="cockroachdb")&&r.length>0&&Xg.exec(t))throw new Error(`Running ALTER using ${n} is not supported