diff --git a/plugin/scripts/context-generator.cjs b/plugin/scripts/context-generator.cjs index 9b0412e1..6d35bbf5 100644 --- a/plugin/scripts/context-generator.cjs +++ b/plugin/scripts/context-generator.cjs @@ -1,7 +1,7 @@ "use strict";var Pe=Object.create;var J=Object.defineProperty;var Ge=Object.getOwnPropertyDescriptor;var Be=Object.getOwnPropertyNames;var We=Object.getPrototypeOf,He=Object.prototype.hasOwnProperty;var Ye=(d,e)=>{for(var t in e)J(d,t,{get:e[t],enumerable:!0})},Te=(d,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of Be(e))!He.call(d,n)&&n!==t&&J(d,n,{get:()=>e[n],enumerable:!(s=Ge(e,n))||s.enumerable});return d};var ie=(d,e,t)=>(t=d!=null?Pe(We(d)):{},Te(e||!d||!d.__esModule?J(t,"default",{value:d,enumerable:!0}):t,d)),Ve=d=>Te(J({},"__esModule",{value:!0}),d);var nt={};Ye(nt,{generateContext:()=>rt});module.exports=Ve(nt);var ee=ie(require("path"),1),te=require("os"),B=require("fs");var Ce=require("bun:sqlite");var b=require("path"),Oe=require("os"),Re=require("fs");var Ne=require("url");var G=require("fs"),fe=require("path"),be=require("os");var he="bugfix,feature,refactor,discovery,decision,change",Se="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var oe=(i=>(i[i.DEBUG=0]="DEBUG",i[i.INFO=1]="INFO",i[i.WARN=2]="WARN",i[i.ERROR=3]="ERROR",i[i.SILENT=4]="SILENT",i))(oe||{}),ae=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let e=$.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=oe[e]??1}return this.level}correlationId(e,t){return`obs-${e}-${t}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} ${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let t=Object.keys(e);return t.length===0?"{}":t.length<=3?JSON.stringify(e):`{${t.length} keys: ${t.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,t){if(!t)return e;let s=typeof t=="string"?JSON.parse(t):t;if(e==="Bash"&&s.command)return`${e}(${s.command})`;if(s.file_path)return`${e}(${s.file_path})`;if(s.notebook_path)return`${e}(${s.notebook_path})`;if(e==="Glob"&&s.pattern)return`${e}(${s.pattern})`;if(e==="Grep"&&s.pattern)return`${e}(${s.pattern})`;if(s.url)return`${e}(${s.url})`;if(s.query)return`${e}(${s.query})`;if(e==="Task"){if(s.subagent_type)return`${e}(${s.subagent_type})`;if(s.description)return`${e}(${s.description})`}return e==="Skill"&&s.skill?`${e}(${s.skill})`:e==="LSP"&&s.operation?`${e}(${s.operation})`:e}formatTimestamp(e){let t=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0"),i=String(e.getHours()).padStart(2,"0"),a=String(e.getMinutes()).padStart(2,"0"),c=String(e.getSeconds()).padStart(2,"0"),p=String(e.getMilliseconds()).padStart(3,"0");return`${t}-${s}-${n} ${i}:${a}:${c}.${p}`}log(e,t,s,n,i){if(e0&&(f=` {${Object.entries(r).map(([R,M])=>`${R}=${M}`).join(", ")}}`)}let O=`[${a}] [${c}] [${p}] ${l}${s}${f}${u}`;e===3?console.error(O):console.log(O)}debug(e,t,s,n){this.log(0,e,t,s,n)}info(e,t,s,n){this.log(1,e,t,s,n)}warn(e,t,s,n){this.log(2,e,t,s,n)}error(e,t,s,n){this.log(3,e,t,s,n)}dataIn(e,t,s,n){this.info(e,`\u2192 ${t}`,s,n)}dataOut(e,t,s,n){this.info(e,`\u2190 ${t}`,s,n)}success(e,t,s,n){this.info(e,`\u2713 ${t}`,s,n)}failure(e,t,s,n){this.error(e,`\u2717 ${t}`,s,n)}timing(e,t,s,n){this.info(e,`\u23F1 ${t}`,n,{duration:`${s}ms`})}happyPathError(e,t,s,n,i=""){let l=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),u=l?`${l[1].split("/").pop()}:${l[2]}`:"unknown",f={...s,location:u};return this.warn(e,`[HAPPY-PATH] ${t}`,f,n),i}},S=new ae;var $=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:(0,fe.join)((0,be.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:he,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:Se,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let t=this.get(e);return parseInt(t,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,G.existsSync)(e))return this.getAllDefaults();let t=(0,G.readFileSync)(e,"utf-8"),s=JSON.parse(t),n=s;if(s.env&&typeof s.env=="object"){n=s.env;try{(0,G.writeFileSync)(e,JSON.stringify(n,null,2),"utf-8"),S.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(a){S.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},a)}}let i={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))n[a]!==void 0&&(i[a]=n[a]);return i}catch(t){return S.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},t),this.getAllDefaults()}}};var Je={};function Ke(){return typeof __dirname<"u"?__dirname:(0,b.dirname)((0,Ne.fileURLToPath)(Je.url))}var qe=Ke(),v=$.get("CLAUDE_MEM_DATA_DIR"),de=process.env.CLAUDE_CONFIG_DIR||(0,b.join)((0,Oe.homedir)(),".claude"),Tt=(0,b.join)(v,"archives"),ht=(0,b.join)(v,"logs"),St=(0,b.join)(v,"trash"),ft=(0,b.join)(v,"backups"),bt=(0,b.join)(v,"modes"),Ot=(0,b.join)(v,"settings.json"),Ie=(0,b.join)(v,"claude-mem.db"),Rt=(0,b.join)(v,"vector-db"),Nt=(0,b.join)(de,"settings.json"),It=(0,b.join)(de,"commands"),At=(0,b.join)(de,"CLAUDE.md");function Ae(d){(0,Re.mkdirSync)(d,{recursive:!0})}function Le(){return(0,b.join)(qe,"..")}var Q=class{db;constructor(e=Ie){e!==":memory:"&&Ae(v),this.db=new Ce.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable()}initializeSchema(){try{this.db.run(` +`+JSON.stringify(i,null,2):u=" "+this.formatData(i));let f="";if(n){let{sessionId:E,sdkSessionId:I,correlationId:g,...r}=n;Object.keys(r).length>0&&(f=` {${Object.entries(r).map(([R,y])=>`${R}=${y}`).join(", ")}}`)}let O=`[${a}] [${c}] [${p}] ${l}${s}${f}${u}`;e===3?console.error(O):console.log(O)}debug(e,t,s,n){this.log(0,e,t,s,n)}info(e,t,s,n){this.log(1,e,t,s,n)}warn(e,t,s,n){this.log(2,e,t,s,n)}error(e,t,s,n){this.log(3,e,t,s,n)}dataIn(e,t,s,n){this.info(e,`\u2192 ${t}`,s,n)}dataOut(e,t,s,n){this.info(e,`\u2190 ${t}`,s,n)}success(e,t,s,n){this.info(e,`\u2713 ${t}`,s,n)}failure(e,t,s,n){this.error(e,`\u2717 ${t}`,s,n)}timing(e,t,s,n){this.info(e,`\u23F1 ${t}`,n,{duration:`${s}ms`})}happyPathError(e,t,s,n,i=""){let l=((new Error().stack||"").split(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),u=l?`${l[1].split("/").pop()}:${l[2]}`:"unknown",f={...s,location:u};return this.warn(e,`[HAPPY-PATH] ${t}`,f,n),i}},S=new ae;var $=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:(0,fe.join)((0,be.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:he,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:Se,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let t=this.get(e);return parseInt(t,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,G.existsSync)(e))return this.getAllDefaults();let t=(0,G.readFileSync)(e,"utf-8"),s=JSON.parse(t),n=s;if(s.env&&typeof s.env=="object"){n=s.env;try{(0,G.writeFileSync)(e,JSON.stringify(n,null,2),"utf-8"),S.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(a){S.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},a)}}let i={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))n[a]!==void 0&&(i[a]=n[a]);return i}catch(t){return S.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},t),this.getAllDefaults()}}};var Je={};function Ke(){return typeof __dirname<"u"?__dirname:(0,b.dirname)((0,Ne.fileURLToPath)(Je.url))}var qe=Ke(),v=$.get("CLAUDE_MEM_DATA_DIR"),de=process.env.CLAUDE_CONFIG_DIR||(0,b.join)((0,Oe.homedir)(),".claude"),Tt=(0,b.join)(v,"archives"),ht=(0,b.join)(v,"logs"),St=(0,b.join)(v,"trash"),ft=(0,b.join)(v,"backups"),bt=(0,b.join)(v,"modes"),Ot=(0,b.join)(v,"settings.json"),Ie=(0,b.join)(v,"claude-mem.db"),Rt=(0,b.join)(v,"vector-db"),Nt=(0,b.join)(de,"settings.json"),It=(0,b.join)(de,"commands"),At=(0,b.join)(de,"CLAUDE.md");function Ae(d){(0,Re.mkdirSync)(d,{recursive:!0})}function Le(){return(0,b.join)(qe,"..")}var Q=class{db;constructor(e=Ie){e!==":memory:"&&Ae(v),this.db=new Ce.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable()}initializeSchema(){try{this.db.run(` CREATE TABLE IF NOT EXISTS schema_versions ( id INTEGER PRIMARY KEY, version INTEGER UNIQUE NOT NULL, @@ -454,7 +454,7 @@ ${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let t=Obje claude_session_id, prompt_number, prompt_text, created_at, created_at_epoch ) VALUES (?, ?, ?, ?, ?) - `).run(e.claude_session_id,e.prompt_number,e.prompt_text,e.created_at,e.created_at_epoch).lastInsertRowid}}};var ce=ie(require("path"),1);function pe(d){if(!d)return[];try{let e=JSON.parse(d);return Array.isArray(e)?e:[]}catch{return[]}}function ve(d){return new Date(d).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}function ye(d){return new Date(d).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}function Me(d){return new Date(d).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}function Qe(d,e){return ce.default.isAbsolute(d)?ce.default.relative(e,d):d}function De(d,e){let t=pe(d);return t.length>0?Qe(t[0],e):"General"}var ke=ie(require("path"),1);function $e(d){if(!d||d.trim()==="")return S.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:d}),"unknown-project";let e=ke.default.basename(d);if(e===""){if(process.platform==="win32"){let s=d.match(/^([A-Z]):\\/i);if(s){let i=`drive-${s[1].toUpperCase()}`;return S.info("PROJECT_NAME","Drive root detected",{cwd:d,projectName:i}),i}}return S.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:d}),"unknown-project"}return e}var W=require("fs"),z=require("path");var X=class d{static instance=null;activeMode=null;modesDir;constructor(){let e=Le(),t=[(0,z.join)(e,"modes"),(0,z.join)(e,"..","plugin","modes")],s=t.find(n=>(0,W.existsSync)(n));this.modesDir=s||t[0]}static getInstance(){return d.instance||(d.instance=new d),d.instance}parseInheritance(e){let t=e.split("--");if(t.length===1)return{hasParent:!1,parentId:"",overrideId:""};if(t.length>2)throw new Error(`Invalid mode inheritance: ${e}. Only one level of inheritance supported (parent--override)`);return{hasParent:!0,parentId:t[0],overrideId:e}}isPlainObject(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}deepMerge(e,t){let s={...e};for(let n in t){let i=t[n],a=e[n];this.isPlainObject(i)&&this.isPlainObject(a)?s[n]=this.deepMerge(a,i):s[n]=i}return s}loadModeFile(e){let t=(0,z.join)(this.modesDir,`${e}.json`);if(!(0,W.existsSync)(t))throw new Error(`Mode file not found: ${t}`);let s=(0,W.readFileSync)(t,"utf-8");return JSON.parse(s)}loadMode(e){let t=this.parseInheritance(e);if(!t.hasParent)try{let p=this.loadModeFile(e);return this.activeMode=p,S.debug("SYSTEM",`Loaded mode: ${p.name} (${e})`,void 0,{types:p.observation_types.map(l=>l.id),concepts:p.observation_concepts.map(l=>l.id)}),p}catch{if(S.warn("SYSTEM",`Mode file not found: ${e}, falling back to 'code'`),e==="code")throw new Error("Critical: code.json mode file missing");return this.loadMode("code")}let{parentId:s,overrideId:n}=t,i;try{i=this.loadMode(s)}catch{S.warn("SYSTEM",`Parent mode '${s}' not found for ${e}, falling back to 'code'`),i=this.loadMode("code")}let a;try{a=this.loadModeFile(n),S.debug("SYSTEM",`Loaded override file: ${n} for parent ${s}`)}catch{return S.warn("SYSTEM",`Override file '${n}' not found, using parent mode '${s}' only`),this.activeMode=i,i}if(!a)return S.warn("SYSTEM",`Invalid override file: ${n}, using parent mode '${s}' only`),this.activeMode=i,i;let c=this.deepMerge(i,a);return this.activeMode=c,S.debug("SYSTEM",`Loaded mode with inheritance: ${c.name} (${e} = ${s} + ${n})`,void 0,{parent:s,override:n,types:c.observation_types.map(p=>p.id),concepts:c.observation_concepts.map(p=>p.id)}),c}getActiveMode(){if(!this.activeMode)throw new Error("No mode loaded. Call loadMode() first.");return this.activeMode}getObservationTypes(){return this.getActiveMode().observation_types}getObservationConcepts(){return this.getActiveMode().observation_concepts}getTypeIcon(e){return this.getObservationTypes().find(s=>s.id===e)?.emoji||"\u{1F4DD}"}getWorkEmoji(e){return this.getObservationTypes().find(s=>s.id===e)?.work_emoji||"\u{1F4DD}"}validateType(e){return this.getObservationTypes().some(t=>t.id===e)}getTypeLabel(e){return this.getObservationTypes().find(s=>s.id===e)?.label||e}};var ze=ee.default.join((0,te.homedir)(),".claude","plugins","marketplaces","thedotmack","plugin",".install-version");function Ze(){let d=ee.default.join((0,te.homedir)(),".claude-mem","settings.json"),e=$.loadFromFile(d),t=e.CLAUDE_MEM_MODE,s=t==="code"||t.startsWith("code--"),n,i;if(s)n=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES.split(",").map(a=>a.trim()).filter(Boolean)),i=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS.split(",").map(a=>a.trim()).filter(Boolean));else{let a=X.getInstance().getActiveMode();n=new Set(a.observation_types.map(c=>c.id)),i=new Set(a.observation_concepts.map(c=>c.id))}return{totalObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10),fullObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_FULL_COUNT,10),sessionCount:parseInt(e.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10),showReadTokens:e.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",showWorkTokens:e.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",showSavingsAmount:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",showSavingsPercent:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT==="true",observationTypes:n,observationConcepts:i,fullObservationField:e.CLAUDE_MEM_CONTEXT_FULL_FIELD,showLastSummary:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",showLastMessage:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true"}}var Ue=4,et=1,o={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",cyan:"\x1B[36m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",gray:"\x1B[90m",red:"\x1B[31m"};function Z(d,e,t,s){return e?s?[`${t}${d}:${o.reset} ${e}`,""]:[`**${d}**: ${e}`,""]:[]}function tt(d){return d.replace(/\//g,"-")}function st(d){try{if(!(0,B.existsSync)(d))return{userMessage:"",assistantMessage:""};let e=(0,B.readFileSync)(d,"utf-8").trim();if(!e)return{userMessage:"",assistantMessage:""};let t=e.split(` + `).run(e.claude_session_id,e.prompt_number,e.prompt_text,e.created_at,e.created_at_epoch).lastInsertRowid}}};var ce=ie(require("path"),1);function pe(d){if(!d)return[];try{let e=JSON.parse(d);return Array.isArray(e)?e:[]}catch{return[]}}function ve(d){return new Date(d).toLocaleString("en-US",{month:"short",day:"numeric",hour:"numeric",minute:"2-digit",hour12:!0})}function Me(d){return new Date(d).toLocaleString("en-US",{hour:"numeric",minute:"2-digit",hour12:!0})}function ye(d){return new Date(d).toLocaleString("en-US",{month:"short",day:"numeric",year:"numeric"})}function Qe(d,e){return ce.default.isAbsolute(d)?ce.default.relative(e,d):d}function De(d,e){let t=pe(d);return t.length>0?Qe(t[0],e):"General"}var ke=ie(require("path"),1);function $e(d){if(!d||d.trim()==="")return S.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:d}),"unknown-project";let e=ke.default.basename(d);if(e===""){if(process.platform==="win32"){let s=d.match(/^([A-Z]):\\/i);if(s){let i=`drive-${s[1].toUpperCase()}`;return S.info("PROJECT_NAME","Drive root detected",{cwd:d,projectName:i}),i}}return S.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:d}),"unknown-project"}return e}var W=require("fs"),z=require("path");var X=class d{static instance=null;activeMode=null;modesDir;constructor(){let e=Le(),t=[(0,z.join)(e,"modes"),(0,z.join)(e,"..","plugin","modes")],s=t.find(n=>(0,W.existsSync)(n));this.modesDir=s||t[0]}static getInstance(){return d.instance||(d.instance=new d),d.instance}parseInheritance(e){let t=e.split("--");if(t.length===1)return{hasParent:!1,parentId:"",overrideId:""};if(t.length>2)throw new Error(`Invalid mode inheritance: ${e}. Only one level of inheritance supported (parent--override)`);return{hasParent:!0,parentId:t[0],overrideId:e}}isPlainObject(e){return e!==null&&typeof e=="object"&&!Array.isArray(e)}deepMerge(e,t){let s={...e};for(let n in t){let i=t[n],a=e[n];this.isPlainObject(i)&&this.isPlainObject(a)?s[n]=this.deepMerge(a,i):s[n]=i}return s}loadModeFile(e){let t=(0,z.join)(this.modesDir,`${e}.json`);if(!(0,W.existsSync)(t))throw new Error(`Mode file not found: ${t}`);let s=(0,W.readFileSync)(t,"utf-8");return JSON.parse(s)}loadMode(e){let t=this.parseInheritance(e);if(!t.hasParent)try{let p=this.loadModeFile(e);return this.activeMode=p,S.debug("SYSTEM",`Loaded mode: ${p.name} (${e})`,void 0,{types:p.observation_types.map(l=>l.id),concepts:p.observation_concepts.map(l=>l.id)}),p}catch{if(S.warn("SYSTEM",`Mode file not found: ${e}, falling back to 'code'`),e==="code")throw new Error("Critical: code.json mode file missing");return this.loadMode("code")}let{parentId:s,overrideId:n}=t,i;try{i=this.loadMode(s)}catch{S.warn("SYSTEM",`Parent mode '${s}' not found for ${e}, falling back to 'code'`),i=this.loadMode("code")}let a;try{a=this.loadModeFile(n),S.debug("SYSTEM",`Loaded override file: ${n} for parent ${s}`)}catch{return S.warn("SYSTEM",`Override file '${n}' not found, using parent mode '${s}' only`),this.activeMode=i,i}if(!a)return S.warn("SYSTEM",`Invalid override file: ${n}, using parent mode '${s}' only`),this.activeMode=i,i;let c=this.deepMerge(i,a);return this.activeMode=c,S.debug("SYSTEM",`Loaded mode with inheritance: ${c.name} (${e} = ${s} + ${n})`,void 0,{parent:s,override:n,types:c.observation_types.map(p=>p.id),concepts:c.observation_concepts.map(p=>p.id)}),c}getActiveMode(){if(!this.activeMode)throw new Error("No mode loaded. Call loadMode() first.");return this.activeMode}getObservationTypes(){return this.getActiveMode().observation_types}getObservationConcepts(){return this.getActiveMode().observation_concepts}getTypeIcon(e){return this.getObservationTypes().find(s=>s.id===e)?.emoji||"\u{1F4DD}"}getWorkEmoji(e){return this.getObservationTypes().find(s=>s.id===e)?.work_emoji||"\u{1F4DD}"}validateType(e){return this.getObservationTypes().some(t=>t.id===e)}getTypeLabel(e){return this.getObservationTypes().find(s=>s.id===e)?.label||e}};var ze=ee.default.join((0,te.homedir)(),".claude","plugins","marketplaces","thedotmack","plugin",".install-version");function Ze(){let d=ee.default.join((0,te.homedir)(),".claude-mem","settings.json"),e=$.loadFromFile(d),t=e.CLAUDE_MEM_MODE,s=t==="code"||t.startsWith("code--"),n,i;if(s)n=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES.split(",").map(a=>a.trim()).filter(Boolean)),i=new Set(e.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS.split(",").map(a=>a.trim()).filter(Boolean));else{let a=X.getInstance().getActiveMode();n=new Set(a.observation_types.map(c=>c.id)),i=new Set(a.observation_concepts.map(c=>c.id))}return{totalObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_OBSERVATIONS,10),fullObservationCount:parseInt(e.CLAUDE_MEM_CONTEXT_FULL_COUNT,10),sessionCount:parseInt(e.CLAUDE_MEM_CONTEXT_SESSION_COUNT,10),showReadTokens:e.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",showWorkTokens:e.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",showSavingsAmount:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",showSavingsPercent:e.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT==="true",observationTypes:n,observationConcepts:i,fullObservationField:e.CLAUDE_MEM_CONTEXT_FULL_FIELD,showLastSummary:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",showLastMessage:e.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true"}}var Ue=4,et=1,o={reset:"\x1B[0m",bright:"\x1B[1m",dim:"\x1B[2m",cyan:"\x1B[36m",green:"\x1B[32m",yellow:"\x1B[33m",blue:"\x1B[34m",magenta:"\x1B[35m",gray:"\x1B[90m",red:"\x1B[31m"};function Z(d,e,t,s){return e?s?[`${t}${d}:${o.reset} ${e}`,""]:[`**${d}**: ${e}`,""]:[]}function tt(d){return d.replace(/\//g,"-")}function st(d){try{if(!(0,B.existsSync)(d))return{userMessage:"",assistantMessage:""};let e=(0,B.readFileSync)(d,"utf-8").trim();if(!e)return{userMessage:"",assistantMessage:""};let t=e.split(` `).filter(n=>n.trim()),s="";for(let n=t.length-1;n>=0;n--)try{let i=t[n];if(!i.includes('"type":"assistant"'))continue;let a=JSON.parse(i);if(a.type==="assistant"&&a.message?.content&&Array.isArray(a.message.content)){let c="";for(let p of a.message.content)p.type==="text"&&(c+=p.text);if(c=c.replace(/[\s\S]*?<\/system-reminder>/g,"").trim(),c){s=c;break}}}catch{continue}return{userMessage:"",assistantMessage:s}}catch(e){return S.failure("WORKER","Failed to extract prior messages from transcript",{transcriptPath:d},e),{userMessage:"",assistantMessage:""}}}async function rt(d,e=!1){let t=Ze(),s=d?.cwd??process.cwd(),n=$e(s),i=null;try{i=new Q}catch(A){if(A.code==="ERR_DLOPEN_FAILED"){try{(0,B.unlinkSync)(ze)}catch{}return console.error("Native module rebuild needed - restart Claude Code to auto-fix"),""}throw A}let a=Array.from(t.observationTypes),c=a.map(()=>"?").join(","),p=Array.from(t.observationConcepts),l=p.map(()=>"?").join(","),u=i.db.prepare(` SELECT id, sdk_session_id, type, title, subtitle, narrative, @@ -475,13 +475,13 @@ ${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let t=Obje WHERE project = ? ORDER BY created_at_epoch DESC LIMIT ? - `).all(n,t.sessionCount+et),O="",E="";if(t.showLastMessage&&u.length>0){let A=d?.session_id,R=u.find(M=>M.sdk_session_id!==A);if(R){let M=R.sdk_session_id,U=tt(s),N=ee.default.join((0,te.homedir)(),".claude","projects",U,`${M}.jsonl`),y=st(N);O=y.userMessage,E=y.assistantMessage}}if(u.length===0&&f.length===0)return i?.close(),e?` + `).all(n,t.sessionCount+et),O="",E="";if(t.showLastMessage&&u.length>0){let A=d?.session_id,R=u.find(y=>y.sdk_session_id!==A);if(R){let y=R.sdk_session_id,U=tt(s),N=ee.default.join((0,te.homedir)(),".claude","projects",U,`${y}.jsonl`),M=st(N);O=M.userMessage,E=M.assistantMessage}}if(u.length===0&&f.length===0)return i?.close(),e?` ${o.bright}${o.cyan}[${n}] recent context${o.reset} ${o.gray}${"\u2500".repeat(60)}${o.reset} ${o.dim}No previous sessions found for this project yet.${o.reset} `:`# [${n}] recent context -No previous sessions found for this project yet.`;let I=f.slice(0,t.sessionCount),g=u,r=[];if(e?(r.push(""),r.push(`${o.bright}${o.cyan}[${n}] recent context${o.reset}`),r.push(`${o.gray}${"\u2500".repeat(60)}${o.reset}`),r.push("")):(r.push(`# [${n}] recent context`),r.push("")),g.length>0){let R=X.getInstance().getActiveMode().observation_types.map(_=>`${_.emoji} ${_.id}`).join(" | ");e?r.push(`${o.dim}Legend: \u{1F3AF} session-request | ${R}${o.reset}`):r.push(`**Legend:** \u{1F3AF} session-request | ${R}`),r.push(""),e?(r.push(`${o.bright}\u{1F4A1} Column Key${o.reset}`),r.push(`${o.dim} Read: Tokens to read this observation (cost to learn it now)${o.reset}`),r.push(`${o.dim} Work: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)${o.reset}`)):(r.push("\u{1F4A1} **Column Key**:"),r.push("- **Read**: Tokens to read this observation (cost to learn it now)"),r.push("- **Work**: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)")),r.push(""),e?(r.push(`${o.dim}\u{1F4A1} Context Index: This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.${o.reset}`),r.push(""),r.push(`${o.dim}When you need implementation details, rationale, or debugging context:${o.reset}`),r.push(`${o.dim} - Use the mem-search skill to fetch full observations on-demand${o.reset}`),r.push(`${o.dim} - Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching${o.reset}`),r.push(`${o.dim} - Trust this index over re-reading code for past decisions and learnings${o.reset}`)):(r.push("\u{1F4A1} **Context Index:** This semantic index (titles, types, files, tokens) is usually sufficient to understand past work."),r.push(""),r.push("When you need implementation details, rationale, or debugging context:"),r.push("- Use the mem-search skill to fetch full observations on-demand"),r.push("- Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching"),r.push("- Trust this index over re-reading code for past decisions and learnings")),r.push("");let M=u.length,U=u.reduce((_,T)=>{let h=(T.title?.length||0)+(T.subtitle?.length||0)+(T.narrative?.length||0)+JSON.stringify(T.facts||[]).length;return _+Math.ceil(h/Ue)},0),N=u.reduce((_,T)=>_+(T.discovery_tokens||0),0),y=N-U,H=N>0?Math.round(y/N*100):0,_e=t.showReadTokens||t.showWorkTokens||t.showSavingsAmount||t.showSavingsPercent;if(_e)if(e){if(r.push(`${o.bright}${o.cyan}\u{1F4CA} Context Economics${o.reset}`),r.push(`${o.dim} Loading: ${M} observations (${U.toLocaleString()} tokens to read)${o.reset}`),r.push(`${o.dim} Work investment: ${N.toLocaleString()} tokens spent on research, building, and decisions${o.reset}`),N>0&&(t.showSavingsAmount||t.showSavingsPercent)){let _=" Your savings: ";t.showSavingsAmount&&t.showSavingsPercent?_+=`${y.toLocaleString()} tokens (${H}% reduction from reuse)`:t.showSavingsAmount?_+=`${y.toLocaleString()} tokens`:_+=`${H}% reduction from reuse`,r.push(`${o.green}${_}${o.reset}`)}r.push("")}else{if(r.push("\u{1F4CA} **Context Economics**:"),r.push(`- Loading: ${M} observations (${U.toLocaleString()} tokens to read)`),r.push(`- Work investment: ${N.toLocaleString()} tokens spent on research, building, and decisions`),N>0&&(t.showSavingsAmount||t.showSavingsPercent)){let _="- Your savings: ";t.showSavingsAmount&&t.showSavingsPercent?_+=`${y.toLocaleString()} tokens (${H}% reduction from reuse)`:t.showSavingsAmount?_+=`${y.toLocaleString()} tokens`:_+=`${H}% reduction from reuse`,r.push(_)}r.push("")}let xe=f[0]?.id,we=I.map((_,T)=>{let h=T===0?null:f[T+1];return{..._,displayEpoch:h?h.created_at_epoch:_.created_at_epoch,displayTime:h?h.created_at:_.created_at,shouldShowLink:_.id!==xe}}),Fe=new Set(u.slice(0,t.fullObservationCount).map(_=>_.id)),le=[...g.map(_=>({type:"observation",data:_})),...we.map(_=>({type:"summary",data:_}))];le.sort((_,T)=>{let h=_.type==="observation"?_.data.created_at_epoch:_.data.displayEpoch,D=T.type==="observation"?T.data.created_at_epoch:T.data.displayEpoch;return h-D});let Y=new Map;for(let _ of le){let T=_.type==="observation"?_.data.created_at:_.data.displayTime,h=Me(T);Y.has(h)||Y.set(h,[]),Y.get(h).push(_)}let Xe=Array.from(Y.entries()).sort((_,T)=>{let h=new Date(_[0]).getTime(),D=new Date(T[0]).getTime();return h-D});for(let[_,T]of Xe){e?(r.push(`${o.bright}${o.cyan}${_}${o.reset}`),r.push("")):(r.push(`### ${_}`),r.push(""));let h=null,D="",x=!1;for(let se of T)if(se.type==="summary"){x&&(r.push(""),x=!1,h=null,D="");let m=se.data,w=`${m.request||"Session started"} (${ve(m.displayTime)})`;e?r.push(`\u{1F3AF} ${o.yellow}#S${m.id}${o.reset} ${w}`):r.push(`**\u{1F3AF} #S${m.id}** ${w}`),r.push("")}else{let m=se.data,w=De(m.files_modified,s);w!==h&&(x&&r.push(""),e?r.push(`${o.dim}${w}${o.reset}`):r.push(`**${w}**`),e||(r.push("| ID | Time | T | Title | Read | Work |"),r.push("|----|------|---|-------|------|------|")),h=w,x=!0,D="");let F=ye(m.created_at),V=m.title||"Untitled",K=X.getInstance().getTypeIcon(m.type),je=(m.title?.length||0)+(m.subtitle?.length||0)+(m.narrative?.length||0)+JSON.stringify(m.facts||[]).length,j=Math.ceil(je/Ue),P=m.discovery_tokens||0,re=X.getInstance().getWorkEmoji(m.type),me=P>0?`${re} ${P.toLocaleString()}`:"-",ne=F!==D,Ee=ne?F:"";if(D=F,Fe.has(m.id)){let k=t.fullObservationField==="narrative"?m.narrative:m.facts?pe(m.facts).join(` -`):null;if(e){let C=ne?`${o.dim}${F}${o.reset}`:" ".repeat(F.length),q=t.showReadTokens&&j>0?`${o.dim}(~${j}t)${o.reset}`:"",ge=t.showWorkTokens&&P>0?`${o.dim}(${re} ${P.toLocaleString()}t)${o.reset}`:"";r.push(` ${o.dim}#${m.id}${o.reset} ${C} ${K} ${o.bright}${V}${o.reset}`),k&&r.push(` ${o.dim}${k}${o.reset}`),(q||ge)&&r.push(` ${q} ${ge}`),r.push("")}else{x&&(r.push(""),x=!1),r.push(`**#${m.id}** ${Ee||"\u2033"} ${K} **${V}**`),k&&(r.push(""),r.push(k),r.push(""));let C=[];t.showReadTokens&&C.push(`Read: ~${j}`),t.showWorkTokens&&C.push(`Work: ${me}`),C.length>0&&r.push(C.join(", ")),r.push(""),h=null}}else if(e){let k=ne?`${o.dim}${F}${o.reset}`:" ".repeat(F.length),C=t.showReadTokens&&j>0?`${o.dim}(~${j}t)${o.reset}`:"",q=t.showWorkTokens&&P>0?`${o.dim}(${re} ${P.toLocaleString()}t)${o.reset}`:"";r.push(` ${o.dim}#${m.id}${o.reset} ${k} ${K} ${V} ${C} ${q}`)}else{let k=t.showReadTokens?`~${j}`:"",C=t.showWorkTokens?me:"";r.push(`| #${m.id} | ${Ee||"\u2033"} | ${K} | ${V} | ${k} | ${C} |`)}}x&&r.push("")}let L=f[0],ue=u[0];if(t.showLastSummary&&L&&(L.investigated||L.learned||L.completed||L.next_steps)&&(!ue||L.created_at_epoch>ue.created_at_epoch)&&(r.push(...Z("Investigated",L.investigated,o.blue,e)),r.push(...Z("Learned",L.learned,o.yellow,e)),r.push(...Z("Completed",L.completed,o.green,e)),r.push(...Z("Next Steps",L.next_steps,o.magenta,e))),E&&(r.push(""),r.push("---"),r.push(""),e?(r.push(`${o.bright}${o.magenta}\u{1F4CB} Previously${o.reset}`),r.push(""),r.push(`${o.dim}A: ${E}${o.reset}`)):(r.push("**\u{1F4CB} Previously**"),r.push(""),r.push(`A: ${E}`)),r.push("")),_e&&N>0&&y>0){let _=Math.round(N/1e3);r.push(""),e?r.push(`${o.dim}\u{1F4B0} Access ${_}k tokens of past research & decisions for just ${U.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.${o.reset}`):r.push(`\u{1F4B0} Access ${_}k tokens of past research & decisions for just ${U.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.`)}}return i?.close(),r.join(` +No previous sessions found for this project yet.`;let I=f.slice(0,t.sessionCount),g=u,r=[];if(e?(r.push(""),r.push(`${o.bright}${o.cyan}[${n}] recent context${o.reset}`),r.push(`${o.gray}${"\u2500".repeat(60)}${o.reset}`),r.push("")):(r.push(`# [${n}] recent context`),r.push("")),g.length>0){let R=X.getInstance().getActiveMode().observation_types.map(_=>`${_.emoji} ${_.id}`).join(" | ");e?r.push(`${o.dim}Legend: \u{1F3AF} session-request | ${R}${o.reset}`):r.push(`**Legend:** \u{1F3AF} session-request | ${R}`),r.push(""),e?(r.push(`${o.bright}\u{1F4A1} Column Key${o.reset}`),r.push(`${o.dim} Read: Tokens to read this observation (cost to learn it now)${o.reset}`),r.push(`${o.dim} Work: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)${o.reset}`)):(r.push("\u{1F4A1} **Column Key**:"),r.push("- **Read**: Tokens to read this observation (cost to learn it now)"),r.push("- **Work**: Tokens spent on work that produced this record (\u{1F50D} research, \u{1F6E0}\uFE0F building, \u2696\uFE0F deciding)")),r.push(""),e?(r.push(`${o.dim}\u{1F4A1} Context Index: This semantic index (titles, types, files, tokens) is usually sufficient to understand past work.${o.reset}`),r.push(""),r.push(`${o.dim}When you need implementation details, rationale, or debugging context:${o.reset}`),r.push(`${o.dim} - Use the mem-search skill to fetch full observations on-demand${o.reset}`),r.push(`${o.dim} - Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching${o.reset}`),r.push(`${o.dim} - Trust this index over re-reading code for past decisions and learnings${o.reset}`)):(r.push("\u{1F4A1} **Context Index:** This semantic index (titles, types, files, tokens) is usually sufficient to understand past work."),r.push(""),r.push("When you need implementation details, rationale, or debugging context:"),r.push("- Use the mem-search skill to fetch full observations on-demand"),r.push("- Critical types (\u{1F534} bugfix, \u2696\uFE0F decision) often need detailed fetching"),r.push("- Trust this index over re-reading code for past decisions and learnings")),r.push("");let y=u.length,U=u.reduce((_,T)=>{let h=(T.title?.length||0)+(T.subtitle?.length||0)+(T.narrative?.length||0)+JSON.stringify(T.facts||[]).length;return _+Math.ceil(h/Ue)},0),N=u.reduce((_,T)=>_+(T.discovery_tokens||0),0),M=N-U,H=N>0?Math.round(M/N*100):0,_e=t.showReadTokens||t.showWorkTokens||t.showSavingsAmount||t.showSavingsPercent;if(_e)if(e){if(r.push(`${o.bright}${o.cyan}\u{1F4CA} Context Economics${o.reset}`),r.push(`${o.dim} Loading: ${y} observations (${U.toLocaleString()} tokens to read)${o.reset}`),r.push(`${o.dim} Work investment: ${N.toLocaleString()} tokens spent on research, building, and decisions${o.reset}`),N>0&&(t.showSavingsAmount||t.showSavingsPercent)){let _=" Your savings: ";t.showSavingsAmount&&t.showSavingsPercent?_+=`${M.toLocaleString()} tokens (${H}% reduction from reuse)`:t.showSavingsAmount?_+=`${M.toLocaleString()} tokens`:_+=`${H}% reduction from reuse`,r.push(`${o.green}${_}${o.reset}`)}r.push("")}else{if(r.push("\u{1F4CA} **Context Economics**:"),r.push(`- Loading: ${y} observations (${U.toLocaleString()} tokens to read)`),r.push(`- Work investment: ${N.toLocaleString()} tokens spent on research, building, and decisions`),N>0&&(t.showSavingsAmount||t.showSavingsPercent)){let _="- Your savings: ";t.showSavingsAmount&&t.showSavingsPercent?_+=`${M.toLocaleString()} tokens (${H}% reduction from reuse)`:t.showSavingsAmount?_+=`${M.toLocaleString()} tokens`:_+=`${H}% reduction from reuse`,r.push(_)}r.push("")}let xe=f[0]?.id,we=I.map((_,T)=>{let h=T===0?null:f[T+1];return{..._,displayEpoch:h?h.created_at_epoch:_.created_at_epoch,displayTime:h?h.created_at:_.created_at,shouldShowLink:_.id!==xe}}),Fe=new Set(u.slice(0,t.fullObservationCount).map(_=>_.id)),le=[...g.map(_=>({type:"observation",data:_})),...we.map(_=>({type:"summary",data:_}))];le.sort((_,T)=>{let h=_.type==="observation"?_.data.created_at_epoch:_.data.displayEpoch,D=T.type==="observation"?T.data.created_at_epoch:T.data.displayEpoch;return h-D});let Y=new Map;for(let _ of le){let T=_.type==="observation"?_.data.created_at:_.data.displayTime,h=ye(T);Y.has(h)||Y.set(h,[]),Y.get(h).push(_)}let Xe=Array.from(Y.entries()).sort((_,T)=>{let h=new Date(_[0]).getTime(),D=new Date(T[0]).getTime();return h-D});for(let[_,T]of Xe){e?(r.push(`${o.bright}${o.cyan}${_}${o.reset}`),r.push("")):(r.push(`### ${_}`),r.push(""));let h=null,D="",x=!1;for(let se of T)if(se.type==="summary"){x&&(r.push(""),x=!1,h=null,D="");let m=se.data,w=`${m.request||"Session started"} (${ve(m.displayTime)})`;e?r.push(`\u{1F3AF} ${o.yellow}#S${m.id}${o.reset} ${w}`):r.push(`**\u{1F3AF} #S${m.id}** ${w}`),r.push("")}else{let m=se.data,w=De(m.files_modified,s);w!==h&&(x&&r.push(""),e?r.push(`${o.dim}${w}${o.reset}`):r.push(`**${w}**`),e||(r.push("| ID | Time | T | Title | Read | Work |"),r.push("|----|------|---|-------|------|------|")),h=w,x=!0,D="");let F=Me(m.created_at),V=m.title||"Untitled",K=X.getInstance().getTypeIcon(m.type),je=(m.title?.length||0)+(m.subtitle?.length||0)+(m.narrative?.length||0)+JSON.stringify(m.facts||[]).length,j=Math.ceil(je/Ue),P=m.discovery_tokens||0,re=X.getInstance().getWorkEmoji(m.type),me=P>0?`${re} ${P.toLocaleString()}`:"-",ne=F!==D,Ee=ne?F:"";if(D=F,Fe.has(m.id)){let k=t.fullObservationField==="narrative"?m.narrative:m.facts?pe(m.facts).join(` +`):null;if(e){let C=ne?`${o.dim}${F}${o.reset}`:" ".repeat(F.length),q=t.showReadTokens&&j>0?`${o.dim}(~${j}t)${o.reset}`:"",ge=t.showWorkTokens&&P>0?`${o.dim}(${re} ${P.toLocaleString()}t)${o.reset}`:"";r.push(` ${o.dim}#${m.id}${o.reset} ${C} ${K} ${o.bright}${V}${o.reset}`),k&&r.push(` ${o.dim}${k}${o.reset}`),(q||ge)&&r.push(` ${q} ${ge}`),r.push("")}else{x&&(r.push(""),x=!1),r.push(`**#${m.id}** ${Ee||"\u2033"} ${K} **${V}**`),k&&(r.push(""),r.push(k),r.push(""));let C=[];t.showReadTokens&&C.push(`Read: ~${j}`),t.showWorkTokens&&C.push(`Work: ${me}`),C.length>0&&r.push(C.join(", ")),r.push(""),h=null}}else if(e){let k=ne?`${o.dim}${F}${o.reset}`:" ".repeat(F.length),C=t.showReadTokens&&j>0?`${o.dim}(~${j}t)${o.reset}`:"",q=t.showWorkTokens&&P>0?`${o.dim}(${re} ${P.toLocaleString()}t)${o.reset}`:"";r.push(` ${o.dim}#${m.id}${o.reset} ${k} ${K} ${V} ${C} ${q}`)}else{let k=t.showReadTokens?`~${j}`:"",C=t.showWorkTokens?me:"";r.push(`| #${m.id} | ${Ee||"\u2033"} | ${K} | ${V} | ${k} | ${C} |`)}}x&&r.push("")}let L=f[0],ue=u[0];if(t.showLastSummary&&L&&(L.investigated||L.learned||L.completed||L.next_steps)&&(!ue||L.created_at_epoch>ue.created_at_epoch)&&(r.push(...Z("Investigated",L.investigated,o.blue,e)),r.push(...Z("Learned",L.learned,o.yellow,e)),r.push(...Z("Completed",L.completed,o.green,e)),r.push(...Z("Next Steps",L.next_steps,o.magenta,e))),E&&(r.push(""),r.push("---"),r.push(""),e?(r.push(`${o.bright}${o.magenta}\u{1F4CB} Previously${o.reset}`),r.push(""),r.push(`${o.dim}A: ${E}${o.reset}`)):(r.push("**\u{1F4CB} Previously**"),r.push(""),r.push(`A: ${E}`)),r.push("")),_e&&N>0&&M>0){let _=Math.round(N/1e3);r.push(""),e?r.push(`${o.dim}\u{1F4B0} Access ${_}k tokens of past research & decisions for just ${U.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.${o.reset}`):r.push(`\u{1F4B0} Access ${_}k tokens of past research & decisions for just ${U.toLocaleString()}t. Use the mem-search skill to access memories by ID instead of re-reading files.`)}}return i?.close(),r.join(` `).trimEnd()}0&&(module.exports={generateContext}); diff --git a/plugin/scripts/context-hook.js b/plugin/scripts/context-hook.js index 40213f67..2e2ddb12 100755 --- a/plugin/scripts/context-hook.js +++ b/plugin/scripts/context-hook.js @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import{stdin as C}from"process";import M from"path";import{homedir as x}from"os";import{readFileSync as b}from"fs";import{readFileSync as $,writeFileSync as v,existsSync as P}from"fs";import{join as w}from"path";import{homedir as W}from"os";var m="bugfix,feature,refactor,discovery,decision,change",D="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var c=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:w(W(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:m,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:D,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!P(t))return this.getAllDefaults();let r=$(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),a.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(i){a.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},i)}}let s={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))n[i]!==void 0&&(s[i]=n[i]);return s}catch(r){return a.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var T=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(T||{}),O=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=c.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=T[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} -${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0"),E=String(t.getSeconds()).padStart(2,"0"),S=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${s}:${i}:${E}.${S}`}log(t,r,e,n,s){if(t0&&(f=` {${Object.entries(A).map(([k,y])=>`${k}=${y}`).join(", ")}}`)}let L=`[${i}] [${E}] [${S}] ${_}${e}${f}${l}`;t===3?console.error(L):console.log(L)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,s=""){let _=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=_?`${_[1].split("/").pop()}:${_[2]}`:"unknown",f={...e,location:l};return this.warn(t,`[HAPPY-PATH] ${r}`,f,n),s}},a=new O;var g={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function d(o){return process.platform==="win32"?Math.round(o*g.WINDOWS_MULTIPLIER):o}function U(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,s=e||"Worker service connection failed.",i=t?` (port ${t})`:"",E=`${s}${i} +import{stdin as C}from"process";import M from"path";import{homedir as x}from"os";import{readFileSync as b}from"fs";import{readFileSync as $,writeFileSync as v,existsSync as P}from"fs";import{join as w}from"path";import{homedir as W}from"os";var m="bugfix,feature,refactor,discovery,decision,change",D="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var c=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:w(W(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:m,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:D,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!P(t))return this.getAllDefaults();let r=$(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),a.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(i){a.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},i)}}let s={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))n[i]!==void 0&&(s[i]=n[i]);return s}catch(r){return a.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var p=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(p||{}),O=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=c.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=p[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0"),E=String(t.getSeconds()).padStart(2,"0"),S=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${s}:${i}:${E}.${S}`}log(t,r,e,n,s){if(t0&&(T=` {${Object.entries(A).map(([k,y])=>`${k}=${y}`).join(", ")}}`)}let L=`[${i}] [${E}] [${S}] ${_}${e}${T}${l}`;t===3?console.error(L):console.log(L)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,s=""){let _=((new Error().stack||"").split(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=_?`${_[1].split("/").pop()}:${_[2]}`:"unknown",T={...e,location:l};return this.warn(t,`[HAPPY-PATH] ${r}`,T,n),s}},a=new O;var g={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function d(o){return process.platform==="win32"?Math.round(o*g.WINDOWS_MULTIPLIER):o}function I(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,s=e||"Worker service connection failed.",i=t?` (port ${t})`:"",E=`${s}${i} `;return E+=`To restart the worker: `,E+=`1. Exit Claude Code completely @@ -11,4 +11,4 @@ ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Obje If that doesn't work, try: /troubleshoot`),n&&(E=`Worker Error: ${n} -${E}`),E}var H=M.join(x(),".claude","plugins","marketplaces","thedotmack"),I=d(g.HEALTH_CHECK),p=null;function u(){if(p!==null)return p;let o=M.join(c.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=c.loadFromFile(o);return p=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),p}async function F(){let o=u();return(await fetch(`http://127.0.0.1:${o}/api/readiness`,{signal:AbortSignal.timeout(I)})).ok}function G(){let o=M.join(H,"package.json");return JSON.parse(b(o,"utf-8")).version}async function K(){let o=u(),t=await fetch(`http://127.0.0.1:${o}/api/version`,{signal:AbortSignal.timeout(I)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function j(){let o=G(),t=await K();o!==t&&a.warn("SYSTEM","Worker version mismatch",{pluginVersion:o,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function R(){for(let r=0;r<25;r++){try{if(await F()){await j();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(U({port:u(),customPrefix:"Worker did not become ready within 5 seconds."}))}import V from"path";function h(o){if(!o||o.trim()==="")return a.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=V.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let s=`drive-${e[1].toUpperCase()}`;return a.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:s}),s}}return a.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}async function N(o){await R();let t=o?.cwd??process.cwd(),r=h(t),n=`http://127.0.0.1:${u()}/api/context/inject?project=${encodeURIComponent(r)}`,s=await fetch(n,{signal:AbortSignal.timeout(g.DEFAULT)});if(!s.ok)throw new Error(`Context generation failed: ${s.status}`);return(await s.text()).trim()}var X=process.argv.includes("--colors");if(C.isTTY||X)N(void 0).then(o=>{console.log(o),process.exit(0)});else{let o="";C.on("data",t=>o+=t),C.on("end",async()=>{let t;try{t=o.trim()?JSON.parse(o):void 0}catch(e){throw new Error(`Failed to parse hook input: ${e instanceof Error?e.message:String(e)}`)}let r=await N(t);console.log(JSON.stringify({hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:r}})),process.exit(0)})} +${E}`),E}var H=M.join(x(),".claude","plugins","marketplaces","thedotmack"),R=d(g.HEALTH_CHECK),f=null;function u(){if(f!==null)return f;let o=M.join(c.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=c.loadFromFile(o);return f=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),f}async function F(){let o=u();return(await fetch(`http://127.0.0.1:${o}/api/readiness`,{signal:AbortSignal.timeout(R)})).ok}function G(){let o=M.join(H,"package.json");return JSON.parse(b(o,"utf-8")).version}async function K(){let o=u(),t=await fetch(`http://127.0.0.1:${o}/api/version`,{signal:AbortSignal.timeout(R)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function j(){let o=G(),t=await K();o!==t&&a.warn("SYSTEM","Worker version mismatch",{pluginVersion:o,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function U(){for(let r=0;r<25;r++){try{if(await F()){await j();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(I({port:u(),customPrefix:"Worker did not become ready within 5 seconds."}))}import V from"path";function h(o){if(!o||o.trim()==="")return a.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=V.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let s=`drive-${e[1].toUpperCase()}`;return a.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:s}),s}}return a.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}async function N(o){await U();let t=o?.cwd??process.cwd(),r=h(t),n=`http://127.0.0.1:${u()}/api/context/inject?project=${encodeURIComponent(r)}`,s=await fetch(n,{signal:AbortSignal.timeout(g.DEFAULT)});if(!s.ok)throw new Error(`Context generation failed: ${s.status}`);return(await s.text()).trim()}var X=process.argv.includes("--colors");if(C.isTTY||X)N(void 0).then(o=>{console.log(o),process.exit(0)});else{let o="";C.on("data",t=>o+=t),C.on("end",async()=>{let t;try{t=o.trim()?JSON.parse(o):void 0}catch(e){throw new Error(`Failed to parse hook input: ${e instanceof Error?e.message:String(e)}`)}let r=await N(t);console.log(JSON.stringify({hookSpecificOutput:{hookEventName:"SessionStart",additionalContext:r}})),process.exit(0)})} diff --git a/plugin/scripts/mcp-server.cjs b/plugin/scripts/mcp-server.cjs index 4cfe37d7..99db1388 100755 --- a/plugin/scripts/mcp-server.cjs +++ b/plugin/scripts/mcp-server.cjs @@ -1,7 +1,7 @@ #!/usr/bin/env node "use strict";var ko=Object.create;var va=Object.defineProperty;var No=Object.getOwnPropertyDescriptor;var Lo=Object.getOwnPropertyNames;var jo=Object.getPrototypeOf,Mo=Object.prototype.hasOwnProperty;var W=(a,e)=>()=>(e||a((e={exports:{}}).exports,e),e.exports),Fo=(a,e)=>{for(var t in e)va(a,t,{get:e[t],enumerable:!0})},qo=(a,e,t,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Lo(e))!Mo.call(a,r)&&r!==t&&va(a,r,{get:()=>e[r],enumerable:!(s=No(e,r))||s.enumerable});return a};var ga=(a,e,t)=>(t=a!=null?ko(jo(a)):{},qo(e||!a||!a.__esModule?va(t,"default",{value:a,enumerable:!0}):t,a));var rn=W((Vt,en)=>{(function(a,e){typeof Vt=="object"&&typeof en<"u"?e(Vt):typeof define=="function"&&define.amd?define(["exports"],e):e(a.URI=a.URI||{})})(Vt,(function(a){"use strict";function e(){for(var p=arguments.length,u=Array(p),g=0;g1){u[0]=u[0].slice(0,-1);for(var S=u.length-1,b=1;b= 0x80 (not a basic code point)","invalid-input":"Invalid input"},C=c-y,q=Math.floor,M=String.fromCharCode;function L(p){throw new RangeError(F[p])}function O(p,u){for(var g=[],S=p.length;S--;)g[S]=u(p[S]);return g}function A(p,u){var g=p.split("@"),S="";g.length>1&&(S=g[0]+"@",p=g[1]),p=p.replace(V,".");var b=p.split("."),N=O(b,u).join(".");return S+N}function j(p){for(var u=[],g=0,S=p.length;g=55296&&b<=56319&&g>1,u+=q(u/g);u>C*_>>1;b+=c)u=q(u/C);return q(b+(C+1)*u/(u+v))},H=function(u){var g=[],S=u.length,b=0,N=x,Z=T,re=u.lastIndexOf(R);re<0&&(re=0);for(var ne=0;ne=128&&L("not-basic"),g.push(u.charCodeAt(ne));for(var ye=re>0?re+1:0;ye=S&&L("invalid-input");var ce=J(u.charCodeAt(ye++));(ce>=c||ce>q((E-b)/ue))&&L("overflow"),b+=ce*ue;var ae=_e<=Z?y:_e>=Z+_?_:_e-Z;if(ceq(E/de)&&L("overflow"),ue*=de}var oe=g.length+1;Z=G(b-ee,oe,ee==0),q(b/oe)>E-N&&L("overflow"),N+=q(b/oe),b%=oe,g.splice(b++,0,N)}return String.fromCodePoint.apply(String,g)},fe=function(u){var g=[];u=j(u);var S=u.length,b=x,N=0,Z=T,re=!0,ne=!1,ye=void 0;try{for(var ee=u[Symbol.iterator](),ue;!(re=(ue=ee.next()).done);re=!0){var _e=ue.value;_e<128&&g.push(M(_e))}}catch(wr){ne=!0,ye=wr}finally{try{!re&&ee.return&&ee.return()}finally{if(ne)throw ye}}var ce=g.length,ae=ce;for(ce&&g.push(R);ae=b&&Neq((E-N)/Me)&&L("overflow"),N+=(de-b)*Me,b=de;var Ge=!0,xr=!1,ar=void 0;try{for(var ct=u[Symbol.iterator](),wt;!(Ge=(wt=ct.next()).done);Ge=!0){var Rt=wt.value;if(RtE&&L("overflow"),Rt==b){for(var Br=N,Wr=c;;Wr+=c){var sr=Wr<=Z?y:Wr>=Z+_?_:Wr-Z;if(Br>6|192).toString(16).toUpperCase()+"%"+(u&63|128).toString(16).toUpperCase():g="%"+(u>>12|224).toString(16).toUpperCase()+"%"+(u>>6&63|128).toString(16).toUpperCase()+"%"+(u&63|128).toString(16).toUpperCase(),g}function Te(p){for(var u="",g=0,S=p.length;g=194&&b<224){if(S-g>=6){var N=parseInt(p.substr(g+4,2),16);u+=String.fromCharCode((b&31)<<6|N&63)}else u+=p.substr(g,6);g+=6}else if(b>=224){if(S-g>=9){var Z=parseInt(p.substr(g+4,2),16),re=parseInt(p.substr(g+7,2),16);u+=String.fromCharCode((b&15)<<12|(Z&63)<<6|re&63)}else u+=p.substr(g,9);g+=9}else u+=p.substr(g,3),g+=3}return u}function dr(p,u){function g(S){var b=Te(S);return b.match(u.UNRESERVED)?b:S}return p.scheme&&(p.scheme=String(p.scheme).replace(u.PCT_ENCODED,g).toLowerCase().replace(u.NOT_SCHEME,"")),p.userinfo!==void 0&&(p.userinfo=String(p.userinfo).replace(u.PCT_ENCODED,g).replace(u.NOT_USERINFO,Ee).replace(u.PCT_ENCODED,r)),p.host!==void 0&&(p.host=String(p.host).replace(u.PCT_ENCODED,g).toLowerCase().replace(u.NOT_HOST,Ee).replace(u.PCT_ENCODED,r)),p.path!==void 0&&(p.path=String(p.path).replace(u.PCT_ENCODED,g).replace(p.scheme?u.NOT_PATH:u.NOT_PATH_NOSCHEME,Ee).replace(u.PCT_ENCODED,r)),p.query!==void 0&&(p.query=String(p.query).replace(u.PCT_ENCODED,g).replace(u.NOT_QUERY,Ee).replace(u.PCT_ENCODED,r)),p.fragment!==void 0&&(p.fragment=String(p.fragment).replace(u.PCT_ENCODED,g).replace(u.NOT_FRAGMENT,Ee).replace(u.PCT_ENCODED,r)),p}function rr(p){return p.replace(/^0*(.*)/,"$1")||"0"}function ge(p,u){var g=p.match(u.IPV4ADDRESS)||[],S=h(g,2),b=S[1];return b?b.split(".").map(rr).join("."):p}function he(p,u){var g=p.match(u.IPV6ADDRESS)||[],S=h(g,3),b=S[1],N=S[2];if(b){for(var Z=b.toLowerCase().split("::").reverse(),re=h(Z,2),ne=re[0],ye=re[1],ee=ye?ye.split(":").map(rr):[],ue=ne.split(":").map(rr),_e=u.IPV4ADDRESS.test(ue[ue.length-1]),ce=_e?7:8,ae=ue.length-ce,de=Array(ce),oe=0;oe1){var le=de.slice(0,ke.index),Ne=de.slice(ke.index+ke.length);je=le.join(":")+"::"+Ne.join(":")}else je=de.join(":");return N&&(je+="%"+N),je}else return p}var Er=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,xe="".match(/(){0}/)[1]===void 0;function se(p){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},g={},S=u.iri!==!1?d:f;u.reference==="suffix"&&(p=(u.scheme?u.scheme+":":"")+"//"+p);var b=p.match(Er);if(b){xe?(g.scheme=b[1],g.userinfo=b[3],g.host=b[4],g.port=parseInt(b[5],10),g.path=b[6]||"",g.query=b[7],g.fragment=b[8],isNaN(g.port)&&(g.port=b[5])):(g.scheme=b[1]||void 0,g.userinfo=p.indexOf("@")!==-1?b[3]:void 0,g.host=p.indexOf("//")!==-1?b[4]:void 0,g.port=parseInt(b[5],10),g.path=b[6]||"",g.query=p.indexOf("?")!==-1?b[7]:void 0,g.fragment=p.indexOf("#")!==-1?b[8]:void 0,isNaN(g.port)&&(g.port=p.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?b[4]:void 0)),g.host&&(g.host=he(ge(g.host,S),S)),g.scheme===void 0&&g.userinfo===void 0&&g.host===void 0&&g.port===void 0&&!g.path&&g.query===void 0?g.reference="same-document":g.scheme===void 0?g.reference="relative":g.fragment===void 0?g.reference="absolute":g.reference="uri",u.reference&&u.reference!=="suffix"&&u.reference!==g.reference&&(g.error=g.error||"URI is not a "+u.reference+" reference.");var N=ve[(u.scheme||g.scheme||"").toLowerCase()];if(!u.unicodeSupport&&(!N||!N.unicodeSupport)){if(g.host&&(u.domainHost||N&&N.domainHost))try{g.host=te.toASCII(g.host.replace(S.PCT_ENCODED,Te).toLowerCase())}catch(Z){g.error=g.error||"Host's domain name can not be converted to ASCII via punycode: "+Z}dr(g,f)}else dr(g,S);N&&N.parse&&N.parse(g,u)}else g.error=g.error||"URI can not be parsed.";return g}function fr(p,u){var g=u.iri!==!1?d:f,S=[];return p.userinfo!==void 0&&(S.push(p.userinfo),S.push("@")),p.host!==void 0&&S.push(he(ge(String(p.host),g),g).replace(g.IPV6ADDRESS,function(b,N,Z){return"["+N+(Z?"%25"+Z:"")+"]"})),(typeof p.port=="number"||typeof p.port=="string")&&(S.push(":"),S.push(String(p.port))),S.length?S.join(""):void 0}var tr=/^\.\.?\//,Sr=/^\/\.(\/|$)/,br=/^\/\.\.(\/|$)/,Se=/^\/?(?:.|\n)*?(?=\/|$)/;function Le(p){for(var u=[];p.length;)if(p.match(tr))p=p.replace(tr,"");else if(p.match(Sr))p=p.replace(Sr,"/");else if(p.match(br))p=p.replace(br,"/"),u.pop();else if(p==="."||p==="..")p="";else{var g=p.match(Se);if(g){var S=g[0];p=p.slice(S.length),u.push(S)}else throw new Error("Unexpected dot segment condition")}return u.join("")}function Ie(p){var u=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},g=u.iri?d:f,S=[],b=ve[(u.scheme||p.scheme||"").toLowerCase()];if(b&&b.serialize&&b.serialize(p,u),p.host&&!g.IPV6ADDRESS.test(p.host)){if(u.domainHost||b&&b.domainHost)try{p.host=u.iri?te.toUnicode(p.host):te.toASCII(p.host.replace(g.PCT_ENCODED,Te).toLowerCase())}catch(re){p.error=p.error||"Host's domain name can not be converted to "+(u.iri?"Unicode":"ASCII")+" via punycode: "+re}}dr(p,g),u.reference!=="suffix"&&p.scheme&&(S.push(p.scheme),S.push(":"));var N=fr(p,u);if(N!==void 0&&(u.reference!=="suffix"&&S.push("//"),S.push(N),p.path&&p.path.charAt(0)!=="/"&&S.push("/")),p.path!==void 0){var Z=p.path;!u.absolutePath&&(!b||!b.absolutePath)&&(Z=Le(Z)),N===void 0&&(Z=Z.replace(/^\/\//,"/%2F")),S.push(Z)}return p.query!==void 0&&(S.push("?"),S.push(p.query)),p.fragment!==void 0&&(S.push("#"),S.push(p.fragment)),S.join("")}function Oe(p,u){var g=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},S=arguments[3],b={};return S||(p=se(Ie(p,g),g),u=se(Ie(u,g),g)),g=g||{},!g.tolerant&&u.scheme?(b.scheme=u.scheme,b.userinfo=u.userinfo,b.host=u.host,b.port=u.port,b.path=Le(u.path||""),b.query=u.query):(u.userinfo!==void 0||u.host!==void 0||u.port!==void 0?(b.userinfo=u.userinfo,b.host=u.host,b.port=u.port,b.path=Le(u.path||""),b.query=u.query):(u.path?(u.path.charAt(0)==="/"?b.path=Le(u.path):((p.userinfo!==void 0||p.host!==void 0||p.port!==void 0)&&!p.path?b.path="/"+u.path:p.path?b.path=p.path.slice(0,p.path.lastIndexOf("/")+1)+u.path:b.path=u.path,b.path=Le(b.path)),b.query=u.query):(b.path=p.path,u.query!==void 0?b.query=u.query:b.query=p.query),b.userinfo=p.userinfo,b.host=p.host,b.port=p.port),b.scheme=p.scheme),b.fragment=u.fragment,b}function Ze(p,u,g){var S=l({scheme:"null"},g);return Ie(Oe(se(p,S),se(u,S),S,!0),S)}function De(p,u){return typeof p=="string"?p=Ie(se(p,u),u):s(p)==="object"&&(p=se(Ie(p,u),u)),p}function xt(p,u,g){return typeof p=="string"?p=Ie(se(p,g),g):s(p)==="object"&&(p=Ie(p,g)),typeof u=="string"?u=Ie(se(u,g),g):s(u)==="object"&&(u=Ie(u,g)),p===u}function fa(p,u){return p&&p.toString().replace(!u||!u.iri?f.ESCAPE:d.ESCAPE,Ee)}function ze(p,u){return p&&p.toString().replace(!u||!u.iri?f.PCT_ENCODED:d.PCT_ENCODED,Te)}var ot={scheme:"http",domainHost:!0,parse:function(u,g){return u.host||(u.error=u.error||"HTTP URIs must have a host."),u},serialize:function(u,g){var S=String(u.scheme).toLowerCase()==="https";return(u.port===(S?443:80)||u.port==="")&&(u.port=void 0),u.path||(u.path="/"),u}},fs={scheme:"https",domainHost:ot.domainHost,parse:ot.parse,serialize:ot.serialize};function hs(p){return typeof p.secure=="boolean"?p.secure:String(p.scheme).toLowerCase()==="wss"}var lt={scheme:"ws",domainHost:!0,parse:function(u,g){var S=u;return S.secure=hs(S),S.resourceName=(S.path||"/")+(S.query?"?"+S.query:""),S.path=void 0,S.query=void 0,S},serialize:function(u,g){if((u.port===(hs(u)?443:80)||u.port==="")&&(u.port=void 0),typeof u.secure=="boolean"&&(u.scheme=u.secure?"wss":"ws",u.secure=void 0),u.resourceName){var S=u.resourceName.split("?"),b=h(S,2),N=b[0],Z=b[1];u.path=N&&N!=="/"?N:void 0,u.query=Z,u.resourceName=void 0}return u.fragment=void 0,u}},ps={scheme:"wss",domainHost:lt.domainHost,parse:lt.parse,serialize:lt.serialize},mo={},vo=!0,ms="[A-Za-z0-9\\-\\.\\_\\~"+(vo?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",Ke="[0-9A-Fa-f]",go=t(t("%[EFef]"+Ke+"%"+Ke+Ke+"%"+Ke+Ke)+"|"+t("%[89A-Fa-f]"+Ke+"%"+Ke+Ke)+"|"+t("%"+Ke+Ke)),yo="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",_o="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",Eo=e(_o,'[\\"\\\\]'),So="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",bo=new RegExp(ms,"g"),zr=new RegExp(go,"g"),Po=new RegExp(e("[^]",yo,"[\\.]",'[\\"]',Eo),"g"),vs=new RegExp(e("[^]",ms,So),"g"),xo=vs;function ha(p){var u=Te(p);return u.match(bo)?u:p}var gs={scheme:"mailto",parse:function(u,g){var S=u,b=S.to=S.path?S.path.split(","):[];if(S.path=void 0,S.query){for(var N=!1,Z={},re=S.query.split("&"),ne=0,ye=re.length;ne{"use strict";tn.exports=function a(e,t){if(e===t)return!0;if(e&&t&&typeof e=="object"&&typeof t=="object"){if(e.constructor!==t.constructor)return!1;var s,r,n;if(Array.isArray(e)){if(s=e.length,s!=t.length)return!1;for(r=s;r--!==0;)if(!a(e[r],t[r]))return!1;return!0}if(e.constructor===RegExp)return e.source===t.source&&e.flags===t.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===t.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===t.toString();if(n=Object.keys(e),s=n.length,s!==Object.keys(t).length)return!1;for(r=s;r--!==0;)if(!Object.prototype.hasOwnProperty.call(t,n[r]))return!1;for(r=s;r--!==0;){var l=n[r];if(!a(e[l],t[l]))return!1}return!0}return e!==e&&t!==t}});var sn=W((wf,an)=>{"use strict";an.exports=function(e){for(var t=0,s=e.length,r=0,n;r=55296&&n<=56319&&r{"use strict";ln.exports={copy:Qc,checkDataType:Na,checkDataTypes:Zc,coerceToTypes:Kc,toHash:ja,getProperty:Ma,escapeQuotes:Fa,equal:Ht(),ucs2length:sn(),varOccurences:Yc,varReplace:Xc,schemaHasRules:eu,schemaHasRulesExcept:ru,schemaUnknownRules:tu,toQuotedString:La,getPathExpr:au,getPath:su,getData:ou,unescapeFragment:lu,unescapeJsonPointer:Ua,escapeFragment:cu,escapeJsonPointer:qa};function Qc(a,e){e=e||{};for(var t in a)e[t]=a[t];return e}function Na(a,e,t,s){var r=s?" !== ":" === ",n=s?" || ":" && ",l=s?"!":"",i=s?"":"!";switch(a){case"null":return e+r+"null";case"array":return l+"Array.isArray("+e+")";case"object":return"("+l+e+n+"typeof "+e+r+'"object"'+n+i+"Array.isArray("+e+"))";case"integer":return"(typeof "+e+r+'"number"'+n+i+"("+e+" % 1)"+n+e+r+e+(t?n+l+"isFinite("+e+")":"")+")";case"number":return"(typeof "+e+r+'"'+a+'"'+(t?n+l+"isFinite("+e+")":"")+")";default:return"typeof "+e+r+'"'+a+'"'}}function Zc(a,e,t){switch(a.length){case 1:return Na(a[0],e,t,!0);default:var s="",r=ja(a);r.array&&r.object&&(s=r.null?"(":"(!"+e+" || ",s+="typeof "+e+' !== "object")',delete r.null,delete r.array,delete r.object),r.number&&delete r.integer;for(var n in r)s+=(s?" && ":"")+Na(n,e,t,!0);return s}}var nn=ja(["string","number","integer","boolean","null"]);function Kc(a,e){if(Array.isArray(e)){for(var t=[],s=0;s=e)throw new Error("Cannot access property/index "+s+" levels up, current level is "+e);return t[e-s]}if(s>e)throw new Error("Cannot access data "+s+" levels up, current level is "+e);if(n="data"+(e-s||""),!r)return n}for(var i=n,f=r.split("/"),d=0;d{"use strict";var uu=Vr();cn.exports=du;function du(a){uu.copy(a,this)}});var dn=W((Of,un)=>{"use strict";var gr=un.exports=function(a,e,t){typeof e=="function"&&(t=e,e={}),t=e.cb||t;var s=typeof t=="function"?t:t.pre||function(){},r=t.post||function(){};zt(e,s,r,a,"",a)};gr.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0};gr.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};gr.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};gr.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function zt(a,e,t,s,r,n,l,i,f,d){if(s&&typeof s=="object"&&!Array.isArray(s)){e(s,r,n,l,i,f,d);for(var h in s){var m=s[h];if(Array.isArray(m)){if(h in gr.arrayKeywords)for(var E=0;E{"use strict";var St=rn(),fn=Ht(),Zt=Vr(),Bt=Va(),hu=dn();mn.exports=_r;_r.normalizeId=yr;_r.fullPath=Wt;_r.url=Qt;_r.ids=yu;_r.inlineRef=Ha;_r.schema=Kt;function _r(a,e,t){var s=this._refs[t];if(typeof s=="string")if(this._refs[s])s=this._refs[s];else return _r.call(this,a,e,s);if(s=s||this._schemas[t],s instanceof Bt)return Ha(s.schema,this._opts.inlineRefs)?s.schema:s.validate||this._compile(s);var r=Kt.call(this,e,t),n,l,i;return r&&(n=r.schema,e=r.root,i=r.baseId),n instanceof Bt?l=n.validate||a.call(this,n.schema,e,void 0,i):n!==void 0&&(l=Ha(n,this._opts.inlineRefs)?n:a.call(this,n,e,void 0,i)),l}function Kt(a,e){var t=St.parse(e),s=pn(t),r=Wt(this._getId(a.schema));if(Object.keys(a.schema).length===0||s!==r){var n=yr(s),l=this._refs[n];if(typeof l=="string")return pu.call(this,a,l,t);if(l instanceof Bt)l.validate||this._compile(l),a=l;else if(l=this._schemas[n],l instanceof Bt){if(l.validate||this._compile(l),n==yr(e))return{schema:l,root:a,baseId:r};a=l}else return;if(!a.schema)return;r=Wt(this._getId(a.schema))}return hn.call(this,t,r,a.schema,a)}function pu(a,e,t){var s=Kt.call(this,a,e);if(s){var r=s.schema,n=s.baseId;a=s.root;var l=this._getId(r);return l&&(n=Qt(n,l)),hn.call(this,t,n,r,a)}}var mu=Zt.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function hn(a,e,t,s){if(a.fragment=a.fragment||"",a.fragment.slice(0,1)=="/"){for(var r=a.fragment.split("/"),n=1;n{"use strict";var Wa=Gt();gn.exports={Validation:vn(_u),MissingRef:vn(Qa)};function _u(a){this.message="validation failed",this.errors=a,this.ajv=this.validation=!0}Qa.message=function(a,e){return"can't resolve reference "+e+" from id "+a};function Qa(a,e,t){this.message=t||Qa.message(a,e),this.missingRef=Wa.url(a,e),this.missingSchema=Wa.normalizeId(Wa.fullPath(this.missingRef))}function vn(a){return a.prototype=Object.create(Error.prototype),a.prototype.constructor=a,a}});var Za=W((Cf,yn)=>{"use strict";yn.exports=function(a,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var t=typeof e.cycles=="boolean"?e.cycles:!1,s=e.cmp&&(function(n){return function(l){return function(i,f){var d={key:i,value:l[i]},h={key:f,value:l[f]};return n(d,h)}}})(e.cmp),r=[];return(function n(l){if(l&&l.toJSON&&typeof l.toJSON=="function"&&(l=l.toJSON()),l!==void 0){if(typeof l=="number")return isFinite(l)?""+l:"null";if(typeof l!="object")return JSON.stringify(l);var i,f;if(Array.isArray(l)){for(f="[",i=0;i{"use strict";_n.exports=function(e,t,s){var r="",n=e.schema.$async===!0,l=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),i=e.self._getId(e.schema);if(e.opts.strictKeywords){var f=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(f){var d="unknown keyword: "+f;if(e.opts.strictKeywords==="log")e.logger.warn(d);else throw new Error(d)}}if(e.isTop&&(r+=" var validate = ",n&&(e.async=!0,r+="async "),r+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",i&&(e.opts.sourceCode||e.opts.processCode)&&(r+=" "+("/*# sourceURL="+i+" */")+" ")),typeof e.schema=="boolean"||!(l||e.schema.$ref)){var t="false schema",h=e.level,m=e.dataLevel,E=e.schema[t],c=e.schemaPath+e.util.getProperty(t),y=e.errSchemaPath+"/"+t,I=!e.opts.allErrors,F,_="data"+(m||""),R="valid"+h;if(e.schema===!1){e.isTop?I=!0:r+=" var "+R+" = false; ";var v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(F||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(y)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'boolean schema is false' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+_+" "),r+=" } "):r+=" {} ";var P=r;r=v.pop(),!e.compositeRule&&I?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?n?r+=" return data; ":r+=" validate.errors = null; return true; ":r+=" var "+R+" = true; ";return e.isTop&&(r+=" }; return validate; "),r}if(e.isTop){var T=e.isTop,h=e.level=0,m=e.dataLevel=0,_="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],e.schema.default!==void 0&&e.opts.useDefaults&&e.opts.strictDefaults){var x="default is ignored in the schema root";if(e.opts.strictDefaults==="log")e.logger.warn(x);else throw new Error(x)}r+=" var vErrors = null; ",r+=" var errors = 0; ",r+=" if (rootData === undefined) rootData = data; "}else{var h=e.level,m=e.dataLevel,_="data"+(m||"");if(i&&(e.baseId=e.resolve.url(e.baseId,i)),n&&!e.async)throw new Error("async schema in sync schema");r+=" var errs_"+h+" = errors;"}var R="valid"+h,I=!e.opts.allErrors,$="",V="",F,C=e.schema.type,q=Array.isArray(C);if(C&&e.opts.nullable&&e.schema.nullable===!0&&(q?C.indexOf("null")==-1&&(C=C.concat("null")):C!="null"&&(C=[C,"null"],q=!0)),q&&C.length==1&&(C=C[0],q=!1),e.schema.$ref&&l){if(e.opts.extendRefs=="fail")throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');e.opts.extendRefs!==!0&&(l=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(r+=" "+e.RULES.all.$comment.code(e,"$comment")),C){if(e.opts.coerceTypes)var M=e.util.coerceToTypes(e.opts.coerceTypes,C);var L=e.RULES.types[C];if(M||q||L===!0||L&&!Se(L)){var c=e.schemaPath+".type",y=e.errSchemaPath+"/type",c=e.schemaPath+".type",y=e.errSchemaPath+"/type",O=q?"checkDataTypes":"checkDataType";if(r+=" if ("+e.util[O](C,_,e.opts.strictNumbers,!0)+") { ",M){var A="dataType"+h,j="coerced"+h;r+=" var "+A+" = typeof "+_+"; var "+j+" = undefined; ",e.opts.coerceTypes=="array"&&(r+=" if ("+A+" == 'object' && Array.isArray("+_+") && "+_+".length == 1) { "+_+" = "+_+"[0]; "+A+" = typeof "+_+"; if ("+e.util.checkDataType(e.schema.type,_,e.opts.strictNumbers)+") "+j+" = "+_+"; } "),r+=" if ("+j+" !== undefined) ; ";var ie=M;if(ie)for(var J,X=-1,G=ie.length-1;X{"use strict";var Yt=Gt(),ea=Vr(),Sn=Jt(),Eu=Za(),En=Ka(),Su=ea.ucs2length,bu=Ht(),Pu=Sn.Validation;Pn.exports=Ga;function Ga(a,e,t,s){var r=this,n=this._opts,l=[void 0],i={},f=[],d={},h=[],m={},E=[];e=e||{schema:a,refVal:l,refs:i};var c=xu.call(this,a,e,s),y=this._compilations[c.index];if(c.compiling)return y.callValidate=x;var _=this._formats,v=this.RULES;try{var P=R(a,e,t,s);y.validate=P;var T=y.callValidate;return T&&(T.schema=P.schema,T.errors=null,T.refs=P.refs,T.refVal=P.refVal,T.root=P.root,T.$async=P.$async,n.sourceCode&&(T.source=P.source)),P}finally{wu.call(this,a,e,s)}function x(){var O=y.validate,A=O.apply(this,arguments);return x.errors=O.errors,A}function R(O,A,j,ie){var J=!A||A&&A.schema==O;if(A.schema!=e.schema)return Ga.call(r,O,A,j,ie);var X=O.$async===!0,G=En({isTop:!0,schema:O,isRoot:J,baseId:ie,root:A,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:Sn.MissingRef,RULES:v,validate:En,util:ea,resolve:Yt,resolveRef:I,usePattern:q,useDefault:M,useCustomRule:L,opts:n,formats:_,logger:r.logger,self:r});G=Xt(l,Ou)+Xt(f,Ru)+Xt(h,Tu)+Xt(E,Iu)+G,n.processCode&&(G=n.processCode(G,O));var H;try{var fe=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",G);H=fe(r,v,_,e,l,h,E,bu,Su,Pu),l[0]=H}catch(Pe){throw r.logger.error("Error compiling schema, function code:",G),Pe}return H.schema=O,H.errors=null,H.refs=i,H.refVal=l,H.root=J?H:A,X&&(H.$async=!0),n.sourceCode===!0&&(H.source={code:G,patterns:f,defaults:h}),H}function I(O,A,j){A=Yt.url(O,A);var ie=i[A],J,X;if(ie!==void 0)return J=l[ie],X="refVal["+ie+"]",C(J,X);if(!j&&e.refs){var G=e.refs[A];if(G!==void 0)return J=e.refVal[G],X=$(A,J),C(J,X)}X=$(A);var H=Yt.call(r,R,e,A);if(H===void 0){var fe=t&&t[A];fe&&(H=Yt.inlineRef(fe,n.inlineRefs)?fe:Ga.call(r,fe,e,t,O))}if(H===void 0)V(A);else return F(A,H),C(H,X)}function $(O,A){var j=l.length;return l[j]=A,i[O]=j,"refVal"+j}function V(O){delete i[O]}function F(O,A){var j=i[O];l[j]=A}function C(O,A){return typeof O=="object"||typeof O=="boolean"?{code:A,schema:O,inline:!0}:{code:A,$async:O&&!!O.$async}}function q(O){var A=d[O];return A===void 0&&(A=d[O]=f.length,f[A]=O),"pattern"+A}function M(O){switch(typeof O){case"boolean":case"number":return""+O;case"string":return ea.toQuotedString(O);case"object":if(O===null)return"null";var A=Eu(O),j=m[A];return j===void 0&&(j=m[A]=h.length,h[j]=O),"default"+j}}function L(O,A,j,ie){if(r._opts.validateSchema!==!1){var J=O.definition.dependencies;if(J&&!J.every(function(Ee){return Object.prototype.hasOwnProperty.call(j,Ee)}))throw new Error("parent schema must have all required keywords: "+J.join(","));var X=O.definition.validateSchema;if(X){var G=X(A);if(!G){var H="keyword schema is invalid: "+r.errorsText(X.errors);if(r._opts.validateSchema=="log")r.logger.error(H);else throw new Error(H)}}}var fe=O.definition.compile,Pe=O.definition.inline,Re=O.definition.macro,te;if(fe)te=fe.call(r,A,j,ie);else if(Re)te=Re.call(r,A,j,ie),n.validateSchema!==!1&&r.validateSchema(te,!0);else if(Pe)te=Pe.call(r,ie,O.keyword,A,j);else if(te=O.definition.validate,!te)return;if(te===void 0)throw new Error('custom keyword "'+O.keyword+'"failed to compile');var ve=E.length;return E[ve]=te,{code:"customRule"+ve,validate:te}}}function xu(a,e,t){var s=bn.call(this,a,e,t);return s>=0?{index:s,compiling:!0}:(s=this._compilations.length,this._compilations[s]={schema:a,root:e,baseId:t},{index:s,compiling:!1})}function wu(a,e,t){var s=bn.call(this,a,e,t);s>=0&&this._compilations.splice(s,1)}function bn(a,e,t){for(var s=0;s{"use strict";var ra=wn.exports=function(){this._cache={}};ra.prototype.put=function(e,t){this._cache[e]=t};ra.prototype.get=function(e){return this._cache[e]};ra.prototype.del=function(e){delete this._cache[e]};ra.prototype.clear=function(){this._cache={}}});var Mn=W((Nf,jn)=>{"use strict";var $u=Vr(),Cu=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,Au=[0,31,28,31,30,31,30,31,31,30,31,30,31],Du=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,Tn=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,ku=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,Nu=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,On=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,In=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,$n=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Cn=/^(?:\/(?:[^~/]|~0|~1)*)*$/,An=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Dn=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;jn.exports=ta;function ta(a){return a=a=="full"?"full":"fast",$u.copy(ta[a])}ta.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":On,url:In,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:Tn,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Ln,uuid:$n,"json-pointer":Cn,"json-pointer-uri-fragment":An,"relative-json-pointer":Dn};ta.full={date:kn,time:Nn,"date-time":Mu,uri:qu,"uri-reference":Nu,"uri-template":On,url:In,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:Tn,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:Ln,uuid:$n,"json-pointer":Cn,"json-pointer-uri-fragment":An,"relative-json-pointer":Dn};function Lu(a){return a%4===0&&(a%100!==0||a%400===0)}function kn(a){var e=a.match(Cu);if(!e)return!1;var t=+e[1],s=+e[2],r=+e[3];return s>=1&&s<=12&&r>=1&&r<=(s==2&&Lu(t)?29:Au[s])}function Nn(a,e){var t=a.match(Du);if(!t)return!1;var s=t[1],r=t[2],n=t[3],l=t[5];return(s<=23&&r<=59&&n<=59||s==23&&r==59&&n==60)&&(!e||l)}var ju=/t|\s/i;function Mu(a){var e=a.split(ju);return e.length==2&&kn(e[0])&&Nn(e[1],!0)}var Fu=/\/|:/;function qu(a){return Fu.test(a)&&ku.test(a)}var Uu=/[^\\]\\Z/;function Ln(a){if(Uu.test(a))return!1;try{return new RegExp(a),!0}catch{return!1}}});var qn=W((Lf,Fn)=>{"use strict";Fn.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.errSchemaPath+"/"+t,d=!e.opts.allErrors,h="data"+(l||""),m="valid"+n,E,c;if(i=="#"||i=="#/")e.isRoot?(E=e.async,c="validate"):(E=e.root.schema.$async===!0,c="root.refVal[0]");else{var y=e.resolveRef(e.baseId,i,e.isRoot);if(y===void 0){var _=e.MissingRefError.message(e.baseId,i);if(e.opts.missingRefs=="fail"){e.logger.error(_);var v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(f)+" , params: { ref: '"+e.util.escapeQuotes(i)+"' } ",e.opts.messages!==!1&&(r+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(i)+"' "),e.opts.verbose&&(r+=" , schema: "+e.util.toQuotedString(i)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+h+" "),r+=" } "):r+=" {} ";var P=r;r=v.pop(),!e.compositeRule&&d?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",d&&(r+=" if (false) { ")}else if(e.opts.missingRefs=="ignore")e.logger.warn(_),d&&(r+=" if (true) { ");else throw new e.MissingRefError(e.baseId,i,_)}else if(y.inline){var T=e.util.copy(e);T.level++;var x="valid"+T.level;T.schema=y.schema,T.schemaPath="",T.errSchemaPath=i;var R=e.validate(T).replace(/validate\.schema/g,y.code);r+=" "+R+" ",d&&(r+=" if ("+x+") { ")}else E=y.$async===!0||e.async&&y.$async!==!1,c=y.code}if(c){var v=v||[];v.push(r),r="",e.opts.passContext?r+=" "+c+".call(this, ":r+=" "+c+"( ",r+=" "+h+", (dataPath || '')",e.errorPath!='""'&&(r+=" + "+e.errorPath);var I=l?"data"+(l-1||""):"parentData",$=l?e.dataPathArr[l]:"parentDataProperty";r+=" , "+I+" , "+$+", rootData) ";var V=r;if(r=v.pop(),E){if(!e.async)throw new Error("async schema referenced by sync schema");d&&(r+=" var "+m+"; "),r+=" try { await "+V+"; ",d&&(r+=" "+m+" = true; "),r+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",d&&(r+=" "+m+" = false; "),r+=" } ",d&&(r+=" if ("+m+") { ")}else r+=" if (!"+V+") { if (vErrors === null) vErrors = "+c+".errors; else vErrors = vErrors.concat("+c+".errors); errors = vErrors.length; } ",d&&(r+=" else { ")}return r}});var Vn=W((jf,Un)=>{"use strict";Un.exports=function(e,t,s){var r=" ",n=e.schema[t],l=e.schemaPath+e.util.getProperty(t),i=e.errSchemaPath+"/"+t,f=!e.opts.allErrors,d=e.util.copy(e),h="";d.level++;var m="valid"+d.level,E=d.baseId,c=!0,y=n;if(y)for(var _,v=-1,P=y.length-1;v0||_===!1:e.util.schemaHasRules(_,e.RULES.all))&&(c=!1,d.schema=_,d.schemaPath=l+"["+v+"]",d.errSchemaPath=i+"/"+v,r+=" "+e.validate(d)+" ",d.baseId=E,f&&(r+=" if ("+m+") { ",h+="}"));return f&&(c?r+=" if (true) { ":r+=" "+h.slice(0,-1)+" "),r}});var zn=W((Mf,Hn)=>{"use strict";Hn.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c="errs__"+n,y=e.util.copy(e),_="";y.level++;var v="valid"+y.level,P=i.every(function(F){return e.opts.strictKeywords?typeof F=="object"&&Object.keys(F).length>0||F===!1:e.util.schemaHasRules(F,e.RULES.all)});if(P){var T=y.baseId;r+=" var "+c+" = errors; var "+E+" = false; ";var x=e.compositeRule;e.compositeRule=y.compositeRule=!0;var R=i;if(R)for(var I,$=-1,V=R.length-1;${"use strict";Bn.exports=function(e,t,s){var r=" ",n=e.schema[t],l=e.errSchemaPath+"/"+t,i=!e.opts.allErrors,f=e.util.toQuotedString(n);return e.opts.$comment===!0?r+=" console.log("+f+");":typeof e.opts.$comment=="function"&&(r+=" self._opts.$comment("+f+", "+e.util.toQuotedString(l)+", validate.root.schema);"),r}});var Zn=W((qf,Qn)=>{"use strict";Qn.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c=e.opts.$data&&i&&i.$data,y;c?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",y="schema"+n):y=i,c||(r+=" var schema"+n+" = validate.schema"+f+";"),r+="var "+E+" = equal("+m+", schema"+n+"); if (!"+E+") { ";var _=_||[];_.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { allowedValue: schema"+n+" } ",e.opts.messages!==!1&&(r+=" , message: 'should be equal to constant' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var v=r;return r=_.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",h&&(r+=" else { "),r}});var Gn=W((Uf,Kn)=>{"use strict";Kn.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c="errs__"+n,y=e.util.copy(e),_="";y.level++;var v="valid"+y.level,P="i"+n,T=y.dataLevel=e.dataLevel+1,x="data"+T,R=e.baseId,I=e.opts.strictKeywords?typeof i=="object"&&Object.keys(i).length>0||i===!1:e.util.schemaHasRules(i,e.RULES.all);if(r+="var "+c+" = errors;var "+E+";",I){var $=e.compositeRule;e.compositeRule=y.compositeRule=!0,y.schema=i,y.schemaPath=f,y.errSchemaPath=d,r+=" var "+v+" = false; for (var "+P+" = 0; "+P+" < "+m+".length; "+P+"++) { ",y.errorPath=e.util.getPathExpr(e.errorPath,P,e.opts.jsonPointers,!0);var V=m+"["+P+"]";y.dataPathArr[T]=P;var F=e.validate(y);y.baseId=R,e.util.varOccurences(F,x)<2?r+=" "+e.util.varReplace(F,x,V)+" ":r+=" var "+x+" = "+V+"; "+F+" ",r+=" if ("+v+") break; } ",e.compositeRule=y.compositeRule=$,r+=" "+_+" if (!"+v+") {"}else r+=" if ("+m+".length == 0) {";var C=C||[];C.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'should contain a valid item' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var q=r;return r=C.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+q+"]); ":r+=" validate.errors = ["+q+"]; return false; ":r+=" var err = "+q+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { ",I&&(r+=" errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } "),e.opts.allErrors&&(r+=" } "),r}});var Yn=W((Vf,Jn)=>{"use strict";Jn.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="errs__"+n,c=e.util.copy(e),y="";c.level++;var _="valid"+c.level,v={},P={},T=e.opts.ownProperties;for($ in i)if($!="__proto__"){var x=i[$],R=Array.isArray(x)?P:v;R[$]=x}r+="var "+E+" = errors;";var I=e.errorPath;r+="var missing"+n+";";for(var $ in P)if(R=P[$],R.length){if(r+=" if ( "+m+e.util.getProperty($)+" !== undefined ",T&&(r+=" && Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes($)+"') "),h){r+=" && ( ";var V=R;if(V)for(var F,C=-1,q=V.length-1;C0||x===!1:e.util.schemaHasRules(x,e.RULES.all))&&(r+=" "+_+" = true; if ( "+m+e.util.getProperty($)+" !== undefined ",T&&(r+=" && Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes($)+"') "),r+=") { ",c.schema=x,c.schemaPath=f+e.util.getProperty($),c.errSchemaPath=d+"/"+e.util.escapeFragment($),r+=" "+e.validate(c)+" ",c.baseId=H,r+=" } ",h&&(r+=" if ("+_+") { ",y+="}"))}return h&&(r+=" "+y+" if ("+E+" == errors) {"),r}});var ei=W((Hf,Xn)=>{"use strict";Xn.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c=e.opts.$data&&i&&i.$data,y;c?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",y="schema"+n):y=i;var _="i"+n,v="schema"+n;c||(r+=" var "+v+" = validate.schema"+f+";"),r+="var "+E+";",c&&(r+=" if (schema"+n+" === undefined) "+E+" = true; else if (!Array.isArray(schema"+n+")) "+E+" = false; else {"),r+=""+E+" = false;for (var "+_+"=0; "+_+"<"+v+".length; "+_+"++) if (equal("+m+", "+v+"["+_+"])) { "+E+" = true; break; }",c&&(r+=" } "),r+=" if (!"+E+") { ";var P=P||[];P.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { allowedValues: schema"+n+" } ",e.opts.messages!==!1&&(r+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var T=r;return r=P.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" }",h&&(r+=" else { "),r}});var ti=W((zf,ri)=>{"use strict";ri.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||"");if(e.opts.format===!1)return h&&(r+=" if (true) { "),r;var E=e.opts.$data&&i&&i.$data,c;E?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",c="schema"+n):c=i;var y=e.opts.unknownFormats,_=Array.isArray(y);if(E){var v="format"+n,P="isObject"+n,T="formatType"+n;r+=" var "+v+" = formats["+c+"]; var "+P+" = typeof "+v+" == 'object' && !("+v+" instanceof RegExp) && "+v+".validate; var "+T+" = "+P+" && "+v+".type || 'string'; if ("+P+") { ",e.async&&(r+=" var async"+n+" = "+v+".async; "),r+=" "+v+" = "+v+".validate; } if ( ",E&&(r+=" ("+c+" !== undefined && typeof "+c+" != 'string') || "),r+=" (",y!="ignore"&&(r+=" ("+c+" && !"+v+" ",_&&(r+=" && self._opts.unknownFormats.indexOf("+c+") == -1 "),r+=") || "),r+=" ("+v+" && "+T+" == '"+s+"' && !(typeof "+v+" == 'function' ? ",e.async?r+=" (async"+n+" ? await "+v+"("+m+") : "+v+"("+m+")) ":r+=" "+v+"("+m+") ",r+=" : "+v+".test("+m+"))))) {"}else{var v=e.formats[i];if(!v){if(y=="ignore")return e.logger.warn('unknown format "'+i+'" ignored in schema at path "'+e.errSchemaPath+'"'),h&&(r+=" if (true) { "),r;if(_&&y.indexOf(i)>=0)return h&&(r+=" if (true) { "),r;throw new Error('unknown format "'+i+'" is used in schema at path "'+e.errSchemaPath+'"')}var P=typeof v=="object"&&!(v instanceof RegExp)&&v.validate,T=P&&v.type||"string";if(P){var x=v.async===!0;v=v.validate}if(T!=s)return h&&(r+=" if (true) { "),r;if(x){if(!e.async)throw new Error("async format in sync schema");var R="formats"+e.util.getProperty(i)+".validate";r+=" if (!(await "+R+"("+m+"))) { "}else{r+=" if (! ";var R="formats"+e.util.getProperty(i);P&&(R+=".validate"),typeof v=="function"?r+=" "+R+"("+m+") ":r+=" "+R+".test("+m+") ",r+=") { "}}var I=I||[];I.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { format: ",E?r+=""+c:r+=""+e.util.toQuotedString(i),r+=" } ",e.opts.messages!==!1&&(r+=` , message: 'should match format "`,E?r+="' + "+c+" + '":r+=""+e.util.escapeQuotes(i),r+=`"' `),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+f:r+=""+e.util.toQuotedString(i),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var $=r;return r=I.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+$+"]); ":r+=" validate.errors = ["+$+"]; return false; ":r+=" var err = "+$+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",h&&(r+=" else { "),r}});var si=W((Bf,ai)=>{"use strict";ai.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c="errs__"+n,y=e.util.copy(e);y.level++;var _="valid"+y.level,v=e.schema.then,P=e.schema.else,T=v!==void 0&&(e.opts.strictKeywords?typeof v=="object"&&Object.keys(v).length>0||v===!1:e.util.schemaHasRules(v,e.RULES.all)),x=P!==void 0&&(e.opts.strictKeywords?typeof P=="object"&&Object.keys(P).length>0||P===!1:e.util.schemaHasRules(P,e.RULES.all)),R=y.baseId;if(T||x){var I;y.createErrors=!1,y.schema=i,y.schemaPath=f,y.errSchemaPath=d,r+=" var "+c+" = errors; var "+E+" = true; ";var $=e.compositeRule;e.compositeRule=y.compositeRule=!0,r+=" "+e.validate(y)+" ",y.baseId=R,y.createErrors=!0,r+=" errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; } ",e.compositeRule=y.compositeRule=$,T?(r+=" if ("+_+") { ",y.schema=e.schema.then,y.schemaPath=e.schemaPath+".then",y.errSchemaPath=e.errSchemaPath+"/then",r+=" "+e.validate(y)+" ",y.baseId=R,r+=" "+E+" = "+_+"; ",T&&x?(I="ifClause"+n,r+=" var "+I+" = 'then'; "):I="'then'",r+=" } ",x&&(r+=" else { ")):r+=" if (!"+_+") { ",x&&(y.schema=e.schema.else,y.schemaPath=e.schemaPath+".else",y.errSchemaPath=e.errSchemaPath+"/else",r+=" "+e.validate(y)+" ",y.baseId=R,r+=" "+E+" = "+_+"; ",T&&x?(I="ifClause"+n,r+=" var "+I+" = 'else'; "):I="'else'",r+=" } "),r+=" if (!"+E+") { var err = ",e.createErrors!==!1?(r+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { failingKeyword: "+I+" } ",e.opts.messages!==!1&&(r+=` , message: 'should match "' + `+I+` + '" schema' `),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&h&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+=" } ",h&&(r+=" else { ")}else h&&(r+=" if (true) { ");return r}});var ii=W((Wf,ni)=>{"use strict";ni.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c="errs__"+n,y=e.util.copy(e),_="";y.level++;var v="valid"+y.level,P="i"+n,T=y.dataLevel=e.dataLevel+1,x="data"+T,R=e.baseId;if(r+="var "+c+" = errors;var "+E+";",Array.isArray(i)){var I=e.schema.additionalItems;if(I===!1){r+=" "+E+" = "+m+".length <= "+i.length+"; ";var $=d;d=e.errSchemaPath+"/additionalItems",r+=" if (!"+E+") { ";var V=V||[];V.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+i.length+" } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT have more than "+i.length+" items' "),e.opts.verbose&&(r+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var F=r;r=V.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+F+"]); ":r+=" validate.errors = ["+F+"]; return false; ":r+=" var err = "+F+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",d=$,h&&(_+="}",r+=" else { ")}var C=i;if(C){for(var q,M=-1,L=C.length-1;M0||q===!1:e.util.schemaHasRules(q,e.RULES.all)){r+=" "+v+" = true; if ("+m+".length > "+M+") { ";var O=m+"["+M+"]";y.schema=q,y.schemaPath=f+"["+M+"]",y.errSchemaPath=d+"/"+M,y.errorPath=e.util.getPathExpr(e.errorPath,M,e.opts.jsonPointers,!0),y.dataPathArr[T]=M;var A=e.validate(y);y.baseId=R,e.util.varOccurences(A,x)<2?r+=" "+e.util.varReplace(A,x,O)+" ":r+=" var "+x+" = "+O+"; "+A+" ",r+=" } ",h&&(r+=" if ("+v+") { ",_+="}")}}if(typeof I=="object"&&(e.opts.strictKeywords?typeof I=="object"&&Object.keys(I).length>0||I===!1:e.util.schemaHasRules(I,e.RULES.all))){y.schema=I,y.schemaPath=e.schemaPath+".additionalItems",y.errSchemaPath=e.errSchemaPath+"/additionalItems",r+=" "+v+" = true; if ("+m+".length > "+i.length+") { for (var "+P+" = "+i.length+"; "+P+" < "+m+".length; "+P+"++) { ",y.errorPath=e.util.getPathExpr(e.errorPath,P,e.opts.jsonPointers,!0);var O=m+"["+P+"]";y.dataPathArr[T]=P;var A=e.validate(y);y.baseId=R,e.util.varOccurences(A,x)<2?r+=" "+e.util.varReplace(A,x,O)+" ":r+=" var "+x+" = "+O+"; "+A+" ",h&&(r+=" if (!"+v+") break; "),r+=" } } ",h&&(r+=" if ("+v+") { ",_+="}")}}else if(e.opts.strictKeywords?typeof i=="object"&&Object.keys(i).length>0||i===!1:e.util.schemaHasRules(i,e.RULES.all)){y.schema=i,y.schemaPath=f,y.errSchemaPath=d,r+=" for (var "+P+" = 0; "+P+" < "+m+".length; "+P+"++) { ",y.errorPath=e.util.getPathExpr(e.errorPath,P,e.opts.jsonPointers,!0);var O=m+"["+P+"]";y.dataPathArr[T]=P;var A=e.validate(y);y.baseId=R,e.util.varOccurences(A,x)<2?r+=" "+e.util.varReplace(A,x,O)+" ":r+=" var "+x+" = "+O+"; "+A+" ",h&&(r+=" if (!"+v+") break; "),r+=" }"}return h&&(r+=" "+_+" if ("+c+" == errors) {"),r}});var Ja=W((Qf,oi)=>{"use strict";oi.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,R,m="data"+(l||""),E=e.opts.$data&&i&&i.$data,c;E?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",c="schema"+n):c=i;var y=t=="maximum",_=y?"exclusiveMaximum":"exclusiveMinimum",v=e.schema[_],P=e.opts.$data&&v&&v.$data,T=y?"<":">",x=y?">":"<",R=void 0;if(!(E||typeof i=="number"||i===void 0))throw new Error(t+" must be number");if(!(P||v===void 0||typeof v=="number"||typeof v=="boolean"))throw new Error(_+" must be number or boolean");if(P){var I=e.util.getData(v.$data,l,e.dataPathArr),$="exclusive"+n,V="exclType"+n,F="exclIsNumber"+n,C="op"+n,q="' + "+C+" + '";r+=" var schemaExcl"+n+" = "+I+"; ",I="schemaExcl"+n,r+=" var "+$+"; var "+V+" = typeof "+I+"; if ("+V+" != 'boolean' && "+V+" != 'undefined' && "+V+" != 'number') { ";var R=_,M=M||[];M.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(R||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: '"+_+" should be boolean' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var L=r;r=M.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+L+"]); ":r+=" validate.errors = ["+L+"]; return false; ":r+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else if ( ",E&&(r+=" ("+c+" !== undefined && typeof "+c+" != 'number') || "),r+=" "+V+" == 'number' ? ( ("+$+" = "+c+" === undefined || "+I+" "+T+"= "+c+") ? "+m+" "+x+"= "+I+" : "+m+" "+x+" "+c+" ) : ( ("+$+" = "+I+" === true) ? "+m+" "+x+"= "+c+" : "+m+" "+x+" "+c+" ) || "+m+" !== "+m+") { var op"+n+" = "+$+" ? '"+T+"' : '"+T+"='; ",i===void 0&&(R=_,d=e.errSchemaPath+"/"+_,c=I,E=P)}else{var F=typeof v=="number",q=T;if(F&&E){var C="'"+q+"'";r+=" if ( ",E&&(r+=" ("+c+" !== undefined && typeof "+c+" != 'number') || "),r+=" ( "+c+" === undefined || "+v+" "+T+"= "+c+" ? "+m+" "+x+"= "+v+" : "+m+" "+x+" "+c+" ) || "+m+" !== "+m+") { "}else{F&&i===void 0?($=!0,R=_,d=e.errSchemaPath+"/"+_,c=v,x+="="):(F&&(c=Math[y?"min":"max"](v,i)),v===(F?c:!0)?($=!0,R=_,d=e.errSchemaPath+"/"+_,x+="="):($=!1,q+="="));var C="'"+q+"'";r+=" if ( ",E&&(r+=" ("+c+" !== undefined && typeof "+c+" != 'number') || "),r+=" "+m+" "+x+" "+c+" || "+m+" !== "+m+") { "}}R=R||t;var M=M||[];M.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(R||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { comparison: "+C+", limit: "+c+", exclusive: "+$+" } ",e.opts.messages!==!1&&(r+=" , message: 'should be "+q+" ",E?r+="' + "+c:r+=""+c+"'"),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+f:r+=""+i,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var L=r;return r=M.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+L+"]); ":r+=" validate.errors = ["+L+"]; return false; ":r+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",h&&(r+=" else { "),r}});var Ya=W((Zf,li)=>{"use strict";li.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,_,m="data"+(l||""),E=e.opts.$data&&i&&i.$data,c;if(E?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",c="schema"+n):c=i,!(E||typeof i=="number"))throw new Error(t+" must be number");var y=t=="maxItems"?">":"<";r+="if ( ",E&&(r+=" ("+c+" !== undefined && typeof "+c+" != 'number') || "),r+=" "+m+".length "+y+" "+c+") { ";var _=t,v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(_||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+c+" } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT have ",t=="maxItems"?r+="more":r+="fewer",r+=" than ",E?r+="' + "+c+" + '":r+=""+i,r+=" items' "),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+f:r+=""+i,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var P=r;return r=v.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",h&&(r+=" else { "),r}});var Xa=W((Kf,ci)=>{"use strict";ci.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,_,m="data"+(l||""),E=e.opts.$data&&i&&i.$data,c;if(E?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",c="schema"+n):c=i,!(E||typeof i=="number"))throw new Error(t+" must be number");var y=t=="maxLength"?">":"<";r+="if ( ",E&&(r+=" ("+c+" !== undefined && typeof "+c+" != 'number') || "),e.opts.unicode===!1?r+=" "+m+".length ":r+=" ucs2length("+m+") ",r+=" "+y+" "+c+") { ";var _=t,v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(_||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+c+" } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT be ",t=="maxLength"?r+="longer":r+="shorter",r+=" than ",E?r+="' + "+c+" + '":r+=""+i,r+=" characters' "),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+f:r+=""+i,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var P=r;return r=v.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",h&&(r+=" else { "),r}});var es=W((Gf,ui)=>{"use strict";ui.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,_,m="data"+(l||""),E=e.opts.$data&&i&&i.$data,c;if(E?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",c="schema"+n):c=i,!(E||typeof i=="number"))throw new Error(t+" must be number");var y=t=="maxProperties"?">":"<";r+="if ( ",E&&(r+=" ("+c+" !== undefined && typeof "+c+" != 'number') || "),r+=" Object.keys("+m+").length "+y+" "+c+") { ";var _=t,v=v||[];v.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(_||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { limit: "+c+" } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT have ",t=="maxProperties"?r+="more":r+="fewer",r+=" than ",E?r+="' + "+c+" + '":r+=""+i,r+=" properties' "),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+f:r+=""+i,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var P=r;return r=v.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+P+"]); ":r+=" validate.errors = ["+P+"]; return false; ":r+=" var err = "+P+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",h&&(r+=" else { "),r}});var fi=W((Jf,di)=>{"use strict";di.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E=e.opts.$data&&i&&i.$data,c;if(E?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",c="schema"+n):c=i,!(E||typeof i=="number"))throw new Error(t+" must be number");r+="var division"+n+";if (",E&&(r+=" "+c+" !== undefined && ( typeof "+c+" != 'number' || "),r+=" (division"+n+" = "+m+" / "+c+", ",e.opts.multipleOfPrecision?r+=" Math.abs(Math.round(division"+n+") - division"+n+") > 1e-"+e.opts.multipleOfPrecision+" ":r+=" division"+n+" !== parseInt(division"+n+") ",r+=" ) ",E&&(r+=" ) "),r+=" ) { ";var y=y||[];y.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { multipleOf: "+c+" } ",e.opts.messages!==!1&&(r+=" , message: 'should be multiple of ",E?r+="' + "+c:r+=""+c+"'"),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+f:r+=""+i,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var _=r;return r=y.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+_+"]); ":r+=" validate.errors = ["+_+"]; return false; ":r+=" var err = "+_+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",h&&(r+=" else { "),r}});var pi=W((Yf,hi)=>{"use strict";hi.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="errs__"+n,c=e.util.copy(e);c.level++;var y="valid"+c.level;if(e.opts.strictKeywords?typeof i=="object"&&Object.keys(i).length>0||i===!1:e.util.schemaHasRules(i,e.RULES.all)){c.schema=i,c.schemaPath=f,c.errSchemaPath=d,r+=" var "+E+" = errors; ";var _=e.compositeRule;e.compositeRule=c.compositeRule=!0,c.createErrors=!1;var v;c.opts.allErrors&&(v=c.opts.allErrors,c.opts.allErrors=!1),r+=" "+e.validate(c)+" ",c.createErrors=!0,v&&(c.opts.allErrors=v),e.compositeRule=c.compositeRule=_,r+=" if ("+y+") { ";var P=P||[];P.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var T=r;r=P.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+T+"]); ":r+=" validate.errors = ["+T+"]; return false; ":r+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { errors = "+E+"; if (vErrors !== null) { if ("+E+") vErrors.length = "+E+"; else vErrors = null; } ",e.opts.allErrors&&(r+=" } ")}else r+=" var err = ",e.createErrors!==!1?(r+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: {} ",e.opts.messages!==!1&&(r+=" , message: 'should NOT be valid' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",h&&(r+=" if (false) { ");return r}});var vi=W((Xf,mi)=>{"use strict";mi.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c="errs__"+n,y=e.util.copy(e),_="";y.level++;var v="valid"+y.level,P=y.baseId,T="prevValid"+n,x="passingSchemas"+n;r+="var "+c+" = errors , "+T+" = false , "+E+" = false , "+x+" = null; ";var R=e.compositeRule;e.compositeRule=y.compositeRule=!0;var I=i;if(I)for(var $,V=-1,F=I.length-1;V0||$===!1:e.util.schemaHasRules($,e.RULES.all))?(y.schema=$,y.schemaPath=f+"["+V+"]",y.errSchemaPath=d+"/"+V,r+=" "+e.validate(y)+" ",y.baseId=P):r+=" var "+v+" = true; ",V&&(r+=" if ("+v+" && "+T+") { "+E+" = false; "+x+" = ["+x+", "+V+"]; } else { ",_+="}"),r+=" if ("+v+") { "+E+" = "+T+" = true; "+x+" = "+V+"; }";return e.compositeRule=y.compositeRule=R,r+=""+_+"if (!"+E+") { var err = ",e.createErrors!==!1?(r+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { passingSchemas: "+x+" } ",e.opts.messages!==!1&&(r+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ",r+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&h&&(e.async?r+=" throw new ValidationError(vErrors); ":r+=" validate.errors = vErrors; return false; "),r+="} else { errors = "+c+"; if (vErrors !== null) { if ("+c+") vErrors.length = "+c+"; else vErrors = null; }",e.opts.allErrors&&(r+=" } "),r}});var yi=W((eh,gi)=>{"use strict";gi.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E=e.opts.$data&&i&&i.$data,c;E?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",c="schema"+n):c=i;var y=E?"(new RegExp("+c+"))":e.usePattern(i);r+="if ( ",E&&(r+=" ("+c+" !== undefined && typeof "+c+" != 'string') || "),r+=" !"+y+".test("+m+") ) { ";var _=_||[];_.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { pattern: ",E?r+=""+c:r+=""+e.util.toQuotedString(i),r+=" } ",e.opts.messages!==!1&&(r+=` , message: 'should match pattern "`,E?r+="' + "+c+" + '":r+=""+e.util.escapeQuotes(i),r+=`"' `),e.opts.verbose&&(r+=" , schema: ",E?r+="validate.schema"+f:r+=""+e.util.toQuotedString(i),r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var v=r;return r=_.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+v+"]); ":r+=" validate.errors = ["+v+"]; return false; ":r+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+="} ",h&&(r+=" else { "),r}});var Ei=W((rh,_i)=>{"use strict";_i.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="errs__"+n,c=e.util.copy(e),y="";c.level++;var _="valid"+c.level,v="key"+n,P="idx"+n,T=c.dataLevel=e.dataLevel+1,x="data"+T,R="dataProperties"+n,I=Object.keys(i||{}).filter(X),$=e.schema.patternProperties||{},V=Object.keys($).filter(X),F=e.schema.additionalProperties,C=I.length||V.length,q=F===!1,M=typeof F=="object"&&Object.keys(F).length,L=e.opts.removeAdditional,O=q||M||L,A=e.opts.ownProperties,j=e.baseId,ie=e.schema.required;if(ie&&!(e.opts.$data&&ie.$data)&&ie.length8)r+=" || validate.schema"+f+".hasOwnProperty("+v+") ";else{var G=I;if(G)for(var H,fe=-1,Pe=G.length-1;fe0||Se===!1:e.util.schemaHasRules(Se,e.RULES.all)){var Le=e.util.getProperty(H),xe=m+Le,Ie=fr&&Se.default!==void 0;c.schema=Se,c.schemaPath=f+Le,c.errSchemaPath=d+"/"+e.util.escapeFragment(H),c.errorPath=e.util.getPath(e.errorPath,H,e.opts.jsonPointers),c.dataPathArr[T]=e.util.toQuotedString(H);var se=e.validate(c);if(c.baseId=j,e.util.varOccurences(se,x)<2){se=e.util.varReplace(se,x,xe);var Oe=xe}else{var Oe=x;r+=" var "+x+" = "+xe+"; "}if(Ie)r+=" "+se+" ";else{if(J&&J[H]){r+=" if ( "+Oe+" === undefined ",A&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(H)+"') "),r+=") { "+_+" = false; ";var Te=e.errorPath,rr=d,Ze=e.util.escapeQuotes(H);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(Te,H,e.opts.jsonPointers)),d=e.errSchemaPath+"/required";var ge=ge||[];ge.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { missingProperty: '"+Ze+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+Ze+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var he=r;r=ge.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+he+"]); ":r+=" validate.errors = ["+he+"]; return false; ":r+=" var err = "+he+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",d=rr,e.errorPath=Te,r+=" } else { "}else h?(r+=" if ( "+Oe+" === undefined ",A&&(r+=" || ! Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(H)+"') "),r+=") { "+_+" = true; } else { "):(r+=" if ("+Oe+" !== undefined ",A&&(r+=" && Object.prototype.hasOwnProperty.call("+m+", '"+e.util.escapeQuotes(H)+"') "),r+=" ) { ");r+=" "+se+" } "}}h&&(r+=" if ("+_+") { ",y+="}")}}if(V.length){var De=V;if(De)for(var te,xt=-1,fa=De.length-1;xt0||Se===!1:e.util.schemaHasRules(Se,e.RULES.all)){c.schema=Se,c.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(te),c.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(te),A?r+=" "+R+" = "+R+" || Object.keys("+m+"); for (var "+P+"=0; "+P+"<"+R+".length; "+P+"++) { var "+v+" = "+R+"["+P+"]; ":r+=" for (var "+v+" in "+m+") { ",r+=" if ("+e.usePattern(te)+".test("+v+")) { ",c.errorPath=e.util.getPathExpr(e.errorPath,v,e.opts.jsonPointers);var xe=m+"["+v+"]";c.dataPathArr[T]=v;var se=e.validate(c);c.baseId=j,e.util.varOccurences(se,x)<2?r+=" "+e.util.varReplace(se,x,xe)+" ":r+=" var "+x+" = "+xe+"; "+se+" ",h&&(r+=" if (!"+_+") break; "),r+=" } ",h&&(r+=" else "+_+" = true; "),r+=" } ",h&&(r+=" if ("+_+") { ",y+="}")}}}return h&&(r+=" "+y+" if ("+E+" == errors) {"),r}});var bi=W((th,Si)=>{"use strict";Si.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="errs__"+n,c=e.util.copy(e),y="";c.level++;var _="valid"+c.level;if(r+="var "+E+" = errors;",e.opts.strictKeywords?typeof i=="object"&&Object.keys(i).length>0||i===!1:e.util.schemaHasRules(i,e.RULES.all)){c.schema=i,c.schemaPath=f,c.errSchemaPath=d;var v="key"+n,P="idx"+n,T="i"+n,x="' + "+v+" + '",R=c.dataLevel=e.dataLevel+1,I="data"+R,$="dataProperties"+n,V=e.opts.ownProperties,F=e.baseId;V&&(r+=" var "+$+" = undefined; "),V?r+=" "+$+" = "+$+" || Object.keys("+m+"); for (var "+P+"=0; "+P+"<"+$+".length; "+P+"++) { var "+v+" = "+$+"["+P+"]; ":r+=" for (var "+v+" in "+m+") { ",r+=" var startErrs"+n+" = errors; ";var C=v,q=e.compositeRule;e.compositeRule=c.compositeRule=!0;var M=e.validate(c);c.baseId=F,e.util.varOccurences(M,I)<2?r+=" "+e.util.varReplace(M,I,C)+" ":r+=" var "+I+" = "+C+"; "+M+" ",e.compositeRule=c.compositeRule=q,r+=" if (!"+_+") { for (var "+T+"=startErrs"+n+"; "+T+"{"use strict";Pi.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c=e.opts.$data&&i&&i.$data,y;c?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",y="schema"+n):y=i;var _="schema"+n;if(!c)if(i.length0||I===!1:e.util.schemaHasRules(I,e.RULES.all))||(v[v.length]=T)}}else var v=i;if(c||v.length){var $=e.errorPath,V=c||v.length>=e.opts.loopRequired,F=e.opts.ownProperties;if(h)if(r+=" var missing"+n+"; ",V){c||(r+=" var "+_+" = validate.schema"+f+"; ");var C="i"+n,q="schema"+n+"["+C+"]",M="' + "+q+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr($,q,e.opts.jsonPointers)),r+=" var "+E+" = true; ",c&&(r+=" if (schema"+n+" === undefined) "+E+" = true; else if (!Array.isArray(schema"+n+")) "+E+" = false; else {"),r+=" for (var "+C+" = 0; "+C+" < "+_+".length; "+C+"++) { "+E+" = "+m+"["+_+"["+C+"]] !== undefined ",F&&(r+=" && Object.prototype.hasOwnProperty.call("+m+", "+_+"["+C+"]) "),r+="; if (!"+E+") break; } ",c&&(r+=" } "),r+=" if (!"+E+") { ";var L=L||[];L.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { missingProperty: '"+M+"' } ",e.opts.messages!==!1&&(r+=" , message: '",e.opts._errorDataPathProperty?r+="is a required property":r+="should have required property \\'"+M+"\\'",r+="' "),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var O=r;r=L.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+O+"]); ":r+=" validate.errors = ["+O+"]; return false; ":r+=" var err = "+O+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } else { "}else{r+=" if ( ";var A=v;if(A)for(var j,C=-1,ie=A.length-1;C{"use strict";wi.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m="data"+(l||""),E="valid"+n,c=e.opts.$data&&i&&i.$data,y;if(c?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",y="schema"+n):y=i,(i||c)&&e.opts.uniqueItems!==!1){c&&(r+=" var "+E+"; if ("+y+" === false || "+y+" === undefined) "+E+" = true; else if (typeof "+y+" != 'boolean') "+E+" = false; else { "),r+=" var i = "+m+".length , "+E+" = true , j; if (i > 1) { ";var _=e.schema.items&&e.schema.items.type,v=Array.isArray(_);if(!_||_=="object"||_=="array"||v&&(_.indexOf("object")>=0||_.indexOf("array")>=0))r+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+m+"[i], "+m+"[j])) { "+E+" = false; break outer; } } } ";else{r+=" var itemIndices = {}, item; for (;i--;) { var item = "+m+"[i]; ";var P="checkDataType"+(v?"s":"");r+=" if ("+e.util[P](_,"item",e.opts.strictNumbers,!0)+") continue; ",v&&(r+=` if (typeof item == 'string') item = '"' + item; `),r+=" if (typeof itemIndices[item] == 'number') { "+E+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}r+=" } ",c&&(r+=" } "),r+=" if (!"+E+") { ";var T=T||[];T.push(r),r="",e.createErrors!==!1?(r+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { i: i, j: j } ",e.opts.messages!==!1&&(r+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(r+=" , schema: ",c?r+="validate.schema"+f:r+=""+i,r+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+m+" "),r+=" } "):r+=" {} ";var x=r;r=T.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+x+"]); ":r+=" validate.errors = ["+x+"]; return false; ":r+=" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",r+=" } ",h&&(r+=" else { ")}else h&&(r+=" if (true) { ");return r}});var Oi=W((nh,Ti)=>{"use strict";Ti.exports={$ref:qn(),allOf:Vn(),anyOf:zn(),$comment:Wn(),const:Zn(),contains:Gn(),dependencies:Yn(),enum:ei(),format:ti(),if:si(),items:ii(),maximum:Ja(),minimum:Ja(),maxItems:Ya(),minItems:Ya(),maxLength:Xa(),minLength:Xa(),maxProperties:es(),minProperties:es(),multipleOf:fi(),not:pi(),oneOf:vi(),pattern:yi(),properties:Ei(),propertyNames:bi(),required:xi(),uniqueItems:Ri(),validate:Ka()}});var Ci=W((ih,$i)=>{"use strict";var Ii=Oi(),rs=Vr().toHash;$i.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],t=["type","$comment"],s=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"],r=["number","integer","string","array","object","boolean","null"];return e.all=rs(t),e.types=rs(r),e.forEach(function(n){n.rules=n.rules.map(function(l){var i;if(typeof l=="object"){var f=Object.keys(l)[0];i=l[f],l=f,i.forEach(function(h){t.push(h),e.all[h]=!0})}t.push(l);var d=e.all[l]={keyword:l,code:Ii[l],implements:i};return d}),e.all.$comment={keyword:"$comment",code:Ii.$comment},n.type&&(e.types[n.type]=n)}),e.keywords=rs(t.concat(s)),e.custom={},e}});var ki=W((oh,Di)=>{"use strict";var Ai=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];Di.exports=function(a,e){for(var t=0;t{"use strict";var Vu=Jt().MissingRef;Li.exports=Ni;function Ni(a,e,t){var s=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");typeof e=="function"&&(t=e,e=void 0);var r=n(a).then(function(){var i=s._addSchema(a,void 0,e);return i.validate||l(i)});return t&&r.then(function(i){t(null,i)},t),r;function n(i){var f=i.$schema;return f&&!s.getSchema(f)?Ni.call(s,{$ref:f},!0):Promise.resolve()}function l(i){try{return s._compile(i)}catch(d){if(d instanceof Vu)return f(d);throw d}function f(d){var h=d.missingSchema;if(c(h))throw new Error("Schema "+h+" is loaded but "+d.missingRef+" cannot be resolved");var m=s._loadingSchemas[h];return m||(m=s._loadingSchemas[h]=s._opts.loadSchema(h),m.then(E,E)),m.then(function(y){if(!c(h))return n(y).then(function(){c(h)||s.addSchema(y,h,void 0,e)})}).then(function(){return l(i)});function E(){delete s._loadingSchemas[h]}function c(y){return s._refs[y]||s._schemas[y]}}}}});var Fi=W((ch,Mi)=>{"use strict";Mi.exports=function(e,t,s){var r=" ",n=e.level,l=e.dataLevel,i=e.schema[t],f=e.schemaPath+e.util.getProperty(t),d=e.errSchemaPath+"/"+t,h=!e.opts.allErrors,m,E="data"+(l||""),c="valid"+n,y="errs__"+n,_=e.opts.$data&&i&&i.$data,v;_?(r+=" var schema"+n+" = "+e.util.getData(i.$data,l,e.dataPathArr)+"; ",v="schema"+n):v=i;var P=this,T="definition"+n,x=P.definition,R="",I,$,V,F,C;if(_&&x.$data){C="keywordValidate"+n;var q=x.validateSchema;r+=" var "+T+" = RULES.custom['"+t+"'].definition; var "+C+" = "+T+".validate;"}else{if(F=e.useCustomRule(P,i,e.schema,e),!F)return;v="validate.schema"+f,C=F.code,I=x.compile,$=x.inline,V=x.macro}var M=C+".errors",L="i"+n,O="ruleErr"+n,A=x.async;if(A&&!e.async)throw new Error("async keyword in sync schema");if($||V||(r+=""+M+" = null;"),r+="var "+y+" = errors;var "+c+";",_&&x.$data&&(R+="}",r+=" if ("+v+" === undefined) { "+c+" = true; } else { ",q&&(R+="}",r+=" "+c+" = "+T+".validateSchema("+v+"); if ("+c+") { ")),$)x.statements?r+=" "+F.validate+" ":r+=" "+c+" = "+F.validate+"; ";else if(V){var j=e.util.copy(e),R="";j.level++;var ie="valid"+j.level;j.schema=F.validate,j.schemaPath="";var J=e.compositeRule;e.compositeRule=j.compositeRule=!0;var X=e.validate(j).replace(/validate\.schema/g,C);e.compositeRule=j.compositeRule=J,r+=" "+X}else{var G=G||[];G.push(r),r="",r+=" "+C+".call( ",e.opts.passContext?r+="this":r+="self",I||x.schema===!1?r+=" , "+E+" ":r+=" , "+v+" , "+E+" , validate.schema"+e.schemaPath+" ",r+=" , (dataPath || '')",e.errorPath!='""'&&(r+=" + "+e.errorPath);var H=l?"data"+(l-1||""):"parentData",fe=l?e.dataPathArr[l]:"parentDataProperty";r+=" , "+H+" , "+fe+" , rootData ) ";var Pe=r;r=G.pop(),x.errors===!1?(r+=" "+c+" = ",A&&(r+="await "),r+=""+Pe+"; "):A?(M="customErrors"+n,r+=" var "+M+" = null; try { "+c+" = await "+Pe+"; } catch (e) { "+c+" = false; if (e instanceof ValidationError) "+M+" = e.errors; else throw e; } "):r+=" "+M+" = null; "+c+" = "+Pe+"; "}if(x.modifying&&(r+=" if ("+H+") "+E+" = "+H+"["+fe+"];"),r+=""+R,x.valid)h&&(r+=" if (true) { ");else{r+=" if ( ",x.valid===void 0?(r+=" !",V?r+=""+ie:r+=""+c):r+=" "+!x.valid+" ",r+=") { ",m=P.keyword;var G=G||[];G.push(r),r="";var G=G||[];G.push(r),r="",e.createErrors!==!1?(r+=" { keyword: '"+(m||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(d)+" , params: { keyword: '"+P.keyword+"' } ",e.opts.messages!==!1&&(r+=` , message: 'should pass "`+P.keyword+`" keyword validation' `),e.opts.verbose&&(r+=" , schema: validate.schema"+f+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+E+" "),r+=" } "):r+=" {} ";var Re=r;r=G.pop(),!e.compositeRule&&h?e.async?r+=" throw new ValidationError(["+Re+"]); ":r+=" validate.errors = ["+Re+"]; return false; ":r+=" var err = "+Re+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var te=r;r=G.pop(),$?x.errors?x.errors!="full"&&(r+=" for (var "+L+"="+y+"; "+L+"{Hu.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var Vi=W((dh,Ui)=>{"use strict";var qi=ts();Ui.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:qi.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:qi.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}});var zi=W((fh,Hi)=>{"use strict";var zu=/^[a-z_$][a-z0-9_$-]*$/i,Bu=Fi(),Wu=Vi();Hi.exports={add:Qu,get:Zu,remove:Ku,validate:as};function Qu(a,e){var t=this.RULES;if(t.keywords[a])throw new Error("Keyword "+a+" is already defined");if(!zu.test(a))throw new Error("Keyword "+a+" is not a valid identifier");if(e){this.validateKeyword(e,!0);var s=e.type;if(Array.isArray(s))for(var r=0;r{Gu.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var ro=W((ph,eo)=>{"use strict";var Qi=xn(),Hr=Gt(),Ju=Rn(),Zi=Va(),Yu=Za(),Xu=Mn(),ed=Ci(),Ki=ki(),Gi=Vr();eo.exports=pe;pe.prototype.validate=td;pe.prototype.compile=ad;pe.prototype.addSchema=sd;pe.prototype.addMetaSchema=nd;pe.prototype.validateSchema=id;pe.prototype.getSchema=ld;pe.prototype.removeSchema=ud;pe.prototype.addFormat=yd;pe.prototype.errorsText=gd;pe.prototype._addSchema=dd;pe.prototype._compile=fd;pe.prototype.compileAsync=ji();var na=zi();pe.prototype.addKeyword=na.add;pe.prototype.getKeyword=na.get;pe.prototype.removeKeyword=na.remove;pe.prototype.validateKeyword=na.validate;var Ji=Jt();pe.ValidationError=Ji.Validation;pe.MissingRefError=Ji.MissingRef;pe.$dataMetaSchema=Ki;var sa="http://json-schema.org/draft-07/schema",Wi=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],rd=["/properties"];function pe(a){if(!(this instanceof pe))return new pe(a);a=this._opts=Gi.copy(a)||{},xd(this),this._schemas={},this._refs={},this._fragments={},this._formats=Xu(a.format),this._cache=a.cache||new Ju,this._loadingSchemas={},this._compilations=[],this.RULES=ed(),this._getId=hd(a),a.loopRequired=a.loopRequired||1/0,a.errorDataPath=="property"&&(a._errorDataPathProperty=!0),a.serialize===void 0&&(a.serialize=Yu),this._metaOpts=Pd(this),a.formats&&Sd(this),a.keywords&&bd(this),_d(this),typeof a.meta=="object"&&this.addMetaSchema(a.meta),a.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),Ed(this)}function td(a,e){var t;if(typeof a=="string"){if(t=this.getSchema(a),!t)throw new Error('no schema with key or ref "'+a+'"')}else{var s=this._addSchema(a);t=s.validate||this._compile(s)}var r=t(e);return t.$async!==!0&&(this.errors=t.errors),r}function ad(a,e){var t=this._addSchema(a,void 0,e);return t.validate||this._compile(t)}function sd(a,e,t,s){if(Array.isArray(a)){for(var r=0;rfl,DIRTY:()=>Rr,EMPTY_PATH:()=>zo,INVALID:()=>z,NEVER:()=>Gl,OK:()=>we,ParseStatus:()=>be,Schema:()=>K,ZodAny:()=>mr,ZodArray:()=>cr,ZodBigInt:()=>Or,ZodBoolean:()=>Ir,ZodBranded:()=>mt,ZodCatch:()=>qr,ZodDate:()=>$r,ZodDefault:()=>Fr,ZodDiscriminatedUnion:()=>$t,ZodEffects:()=>Ue,ZodEnum:()=>jr,ZodError:()=>$e,ZodFirstPartyTypeKind:()=>B,ZodFunction:()=>At,ZodIntersection:()=>kr,ZodIssueCode:()=>w,ZodLazy:()=>Nr,ZodLiteral:()=>Lr,ZodMap:()=>tt,ZodNaN:()=>st,ZodNativeEnum:()=>Mr,ZodNever:()=>Be,ZodNull:()=>Ar,ZodNullable:()=>Xe,ZodNumber:()=>Tr,ZodObject:()=>Ce,ZodOptional:()=>Fe,ZodParsedType:()=>k,ZodPipeline:()=>vt,ZodPromise:()=>vr,ZodReadonly:()=>Ur,ZodRecord:()=>Ct,ZodSchema:()=>K,ZodSet:()=>at,ZodString:()=>pr,ZodSymbol:()=>et,ZodTransformer:()=>Ue,ZodTuple:()=>Ye,ZodType:()=>K,ZodUndefined:()=>Cr,ZodUnion:()=>Dr,ZodUnknown:()=>lr,ZodVoid:()=>rt,addIssueToContext:()=>D,any:()=>Sl,array:()=>wl,bigint:()=>vl,boolean:()=>ks,coerce:()=>Kl,custom:()=>Cs,date:()=>gl,datetimeRegex:()=>Is,defaultErrorMap:()=>ir,discriminatedUnion:()=>Il,effect:()=>Ul,enum:()=>Ml,function:()=>Nl,getErrorMap:()=>Jr,getParsedType:()=>Je,instanceof:()=>pl,intersection:()=>$l,isAborted:()=>Ot,isAsync:()=>Yr,isDirty:()=>It,isValid:()=>hr,late:()=>hl,lazy:()=>Ll,literal:()=>jl,makeIssue:()=>pt,map:()=>Dl,nan:()=>ml,nativeEnum:()=>Fl,never:()=>Pl,null:()=>El,nullable:()=>Hl,number:()=>Ds,object:()=>Rl,objectUtil:()=>ya,oboolean:()=>Zl,onumber:()=>Ql,optional:()=>Vl,ostring:()=>Wl,pipeline:()=>Bl,preprocess:()=>zl,promise:()=>ql,quotelessJson:()=>Uo,record:()=>Al,set:()=>kl,setErrorMap:()=>Ho,strictObject:()=>Tl,string:()=>As,symbol:()=>yl,transformer:()=>Ul,tuple:()=>Cl,undefined:()=>_l,union:()=>Ol,unknown:()=>bl,util:()=>Y,void:()=>xl});var Y;(function(a){a.assertEqual=r=>{};function e(r){}a.assertIs=e;function t(r){throw new Error}a.assertNever=t,a.arrayToEnum=r=>{let n={};for(let l of r)n[l]=l;return n},a.getValidEnumValues=r=>{let n=a.objectKeys(r).filter(i=>typeof r[r[i]]!="number"),l={};for(let i of n)l[i]=r[i];return a.objectValues(l)},a.objectValues=r=>a.objectKeys(r).map(function(n){return r[n]}),a.objectKeys=typeof Object.keys=="function"?r=>Object.keys(r):r=>{let n=[];for(let l in r)Object.prototype.hasOwnProperty.call(r,l)&&n.push(l);return n},a.find=(r,n)=>{for(let l of r)if(n(l))return l},a.isInteger=typeof Number.isInteger=="function"?r=>Number.isInteger(r):r=>typeof r=="number"&&Number.isFinite(r)&&Math.floor(r)===r;function s(r,n=" | "){return r.map(l=>typeof l=="string"?`'${l}'`:l).join(n)}a.joinValues=s,a.jsonStringifyReplacer=(r,n)=>typeof n=="bigint"?n.toString():n})(Y||(Y={}));var ya;(function(a){a.mergeShapes=(e,t)=>({...e,...t})})(ya||(ya={}));var k=Y.arrayToEnum(["string","nan","number","integer","float","boolean","date","bigint","symbol","function","undefined","null","array","object","unknown","promise","void","never","map","set"]),Je=a=>{switch(typeof a){case"undefined":return k.undefined;case"string":return k.string;case"number":return Number.isNaN(a)?k.nan:k.number;case"boolean":return k.boolean;case"function":return k.function;case"bigint":return k.bigint;case"symbol":return k.symbol;case"object":return Array.isArray(a)?k.array:a===null?k.null:a.then&&typeof a.then=="function"&&a.catch&&typeof a.catch=="function"?k.promise:typeof Map<"u"&&a instanceof Map?k.map:typeof Set<"u"&&a instanceof Set?k.set:typeof Date<"u"&&a instanceof Date?k.date:k.object;default:return k.unknown}};var w=Y.arrayToEnum(["invalid_type","invalid_literal","custom","invalid_union","invalid_union_discriminator","invalid_enum_value","unrecognized_keys","invalid_arguments","invalid_return_type","invalid_date","invalid_string","too_small","too_big","invalid_intersection_types","not_multiple_of","not_finite"]),Uo=a=>JSON.stringify(a,null,2).replace(/"([^"]+)":/g,"$1:"),$e=class a extends Error{get errors(){return this.issues}constructor(e){super(),this.issues=[],this.addIssue=s=>{this.issues=[...this.issues,s]},this.addIssues=(s=[])=>{this.issues=[...this.issues,...s]};let t=new.target.prototype;Object.setPrototypeOf?Object.setPrototypeOf(this,t):this.__proto__=t,this.name="ZodError",this.issues=e}format(e){let t=e||function(n){return n.message},s={_errors:[]},r=n=>{for(let l of n.issues)if(l.code==="invalid_union")l.unionErrors.map(r);else if(l.code==="invalid_return_type")r(l.returnTypeError);else if(l.code==="invalid_arguments")r(l.argumentsError);else if(l.path.length===0)s._errors.push(t(l));else{let i=s,f=0;for(;ft.message){let t={},s=[];for(let r of this.issues)if(r.path.length>0){let n=r.path[0];t[n]=t[n]||[],t[n].push(e(r))}else s.push(e(r));return{formErrors:s,fieldErrors:t}}get formErrors(){return this.flatten()}};$e.create=a=>new $e(a);var Vo=(a,e)=>{let t;switch(a.code){case w.invalid_type:a.received===k.undefined?t="Required":t=`Expected ${a.expected}, received ${a.received}`;break;case w.invalid_literal:t=`Invalid literal value, expected ${JSON.stringify(a.expected,Y.jsonStringifyReplacer)}`;break;case w.unrecognized_keys:t=`Unrecognized key(s) in object: ${Y.joinValues(a.keys,", ")}`;break;case w.invalid_union:t="Invalid input";break;case w.invalid_union_discriminator:t=`Invalid discriminator value. Expected ${Y.joinValues(a.options)}`;break;case w.invalid_enum_value:t=`Invalid enum value. Expected ${Y.joinValues(a.options)}, received '${a.received}'`;break;case w.invalid_arguments:t="Invalid function arguments";break;case w.invalid_return_type:t="Invalid function return type";break;case w.invalid_date:t="Invalid date";break;case w.invalid_string:typeof a.validation=="object"?"includes"in a.validation?(t=`Invalid input: must include "${a.validation.includes}"`,typeof a.validation.position=="number"&&(t=`${t} at one or more positions greater than or equal to ${a.validation.position}`)):"startsWith"in a.validation?t=`Invalid input: must start with "${a.validation.startsWith}"`:"endsWith"in a.validation?t=`Invalid input: must end with "${a.validation.endsWith}"`:Y.assertNever(a.validation):a.validation!=="regex"?t=`Invalid ${a.validation}`:t="Invalid";break;case w.too_small:a.type==="array"?t=`Array must contain ${a.exact?"exactly":a.inclusive?"at least":"more than"} ${a.minimum} element(s)`:a.type==="string"?t=`String must contain ${a.exact?"exactly":a.inclusive?"at least":"over"} ${a.minimum} character(s)`:a.type==="number"?t=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="bigint"?t=`Number must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${a.minimum}`:a.type==="date"?t=`Date must be ${a.exact?"exactly equal to ":a.inclusive?"greater than or equal to ":"greater than "}${new Date(Number(a.minimum))}`:t="Invalid input";break;case w.too_big:a.type==="array"?t=`Array must contain ${a.exact?"exactly":a.inclusive?"at most":"less than"} ${a.maximum} element(s)`:a.type==="string"?t=`String must contain ${a.exact?"exactly":a.inclusive?"at most":"under"} ${a.maximum} character(s)`:a.type==="number"?t=`Number must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="bigint"?t=`BigInt must be ${a.exact?"exactly":a.inclusive?"less than or equal to":"less than"} ${a.maximum}`:a.type==="date"?t=`Date must be ${a.exact?"exactly":a.inclusive?"smaller than or equal to":"smaller than"} ${new Date(Number(a.maximum))}`:t="Invalid input";break;case w.custom:t="Invalid input";break;case w.invalid_intersection_types:t="Intersection results could not be merged";break;case w.not_multiple_of:t=`Number must be a multiple of ${a.multipleOf}`;break;case w.not_finite:t="Number must be finite";break;default:t=e.defaultError,Y.assertNever(a)}return{message:t}},ir=Vo;var xs=ir;function Ho(a){xs=a}function Jr(){return xs}var pt=a=>{let{data:e,path:t,errorMaps:s,issueData:r}=a,n=[...t,...r.path||[]],l={...r,path:n};if(r.message!==void 0)return{...r,path:n,message:r.message};let i="",f=s.filter(d=>!!d).slice().reverse();for(let d of f)i=d(l,{data:e,defaultError:i}).message;return{...r,path:n,message:i}},zo=[];function D(a,e){let t=Jr(),s=pt({issueData:e,data:a.data,path:a.path,errorMaps:[a.common.contextualErrorMap,a.schemaErrorMap,t,t===ir?void 0:ir].filter(r=>!!r)});a.common.issues.push(s)}var be=class a{constructor(){this.value="valid"}dirty(){this.value==="valid"&&(this.value="dirty")}abort(){this.value!=="aborted"&&(this.value="aborted")}static mergeArray(e,t){let s=[];for(let r of t){if(r.status==="aborted")return z;r.status==="dirty"&&e.dirty(),s.push(r.value)}return{status:e.value,value:s}}static async mergeObjectAsync(e,t){let s=[];for(let r of t){let n=await r.key,l=await r.value;s.push({key:n,value:l})}return a.mergeObjectSync(e,s)}static mergeObjectSync(e,t){let s={};for(let r of t){let{key:n,value:l}=r;if(n.status==="aborted"||l.status==="aborted")return z;n.status==="dirty"&&e.dirty(),l.status==="dirty"&&e.dirty(),n.value!=="__proto__"&&(typeof l.value<"u"||r.alwaysSet)&&(s[n.value]=l.value)}return{status:e.value,value:s}}},z=Object.freeze({status:"aborted"}),Rr=a=>({status:"dirty",value:a}),we=a=>({status:"valid",value:a}),Ot=a=>a.status==="aborted",It=a=>a.status==="dirty",hr=a=>a.status==="valid",Yr=a=>typeof Promise<"u"&&a instanceof Promise;var U;(function(a){a.errToObj=e=>typeof e=="string"?{message:e}:e||{},a.toString=e=>typeof e=="string"?e:e?.message})(U||(U={}));var qe=class{constructor(e,t,s,r){this._cachedPath=[],this.parent=e,this.data=t,this._path=s,this._key=r}get path(){return this._cachedPath.length||(Array.isArray(this._key)?this._cachedPath.push(...this._path,...this._key):this._cachedPath.push(...this._path,this._key)),this._cachedPath}},ws=(a,e)=>{if(hr(e))return{success:!0,data:e.value};if(!a.common.issues.length)throw new Error("Validation failed but no issues detected.");return{success:!1,get error(){if(this._error)return this._error;let t=new $e(a.common.issues);return this._error=t,this._error}}};function Q(a){if(!a)return{};let{errorMap:e,invalid_type_error:t,required_error:s,description:r}=a;if(e&&(t||s))throw new Error(`Can't use "invalid_type_error" or "required_error" in conjunction with custom error map.`);return e?{errorMap:e,description:r}:{errorMap:(l,i)=>{let{message:f}=a;return l.code==="invalid_enum_value"?{message:f??i.defaultError}:typeof i.data>"u"?{message:f??s??i.defaultError}:l.code!=="invalid_type"?{message:i.defaultError}:{message:f??t??i.defaultError}},description:r}}var K=class{get description(){return this._def.description}_getType(e){return Je(e.data)}_getOrReturnCtx(e,t){return t||{common:e.parent.common,data:e.data,parsedType:Je(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}_processInputParams(e){return{status:new be,ctx:{common:e.parent.common,data:e.data,parsedType:Je(e.data),schemaErrorMap:this._def.errorMap,path:e.path,parent:e.parent}}}_parseSync(e){let t=this._parse(e);if(Yr(t))throw new Error("Synchronous parse encountered promise.");return t}_parseAsync(e){let t=this._parse(e);return Promise.resolve(t)}parse(e,t){let s=this.safeParse(e,t);if(s.success)return s.data;throw s.error}safeParse(e,t){let s={common:{issues:[],async:t?.async??!1,contextualErrorMap:t?.errorMap},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Je(e)},r=this._parseSync({data:e,path:s.path,parent:s});return ws(s,r)}"~validate"(e){let t={common:{issues:[],async:!!this["~standard"].async},path:[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Je(e)};if(!this["~standard"].async)try{let s=this._parseSync({data:e,path:[],parent:t});return hr(s)?{value:s.value}:{issues:t.common.issues}}catch(s){s?.message?.toLowerCase()?.includes("encountered")&&(this["~standard"].async=!0),t.common={issues:[],async:!0}}return this._parseAsync({data:e,path:[],parent:t}).then(s=>hr(s)?{value:s.value}:{issues:t.common.issues})}async parseAsync(e,t){let s=await this.safeParseAsync(e,t);if(s.success)return s.data;throw s.error}async safeParseAsync(e,t){let s={common:{issues:[],contextualErrorMap:t?.errorMap,async:!0},path:t?.path||[],schemaErrorMap:this._def.errorMap,parent:null,data:e,parsedType:Je(e)},r=this._parse({data:e,path:s.path,parent:s}),n=await(Yr(r)?r:Promise.resolve(r));return ws(s,n)}refine(e,t){let s=r=>typeof t=="string"||typeof t>"u"?{message:t}:typeof t=="function"?t(r):t;return this._refinement((r,n)=>{let l=e(r),i=()=>n.addIssue({code:w.custom,...s(r)});return typeof Promise<"u"&&l instanceof Promise?l.then(f=>f?!0:(i(),!1)):l?!0:(i(),!1)})}refinement(e,t){return this._refinement((s,r)=>e(s)?!0:(r.addIssue(typeof t=="function"?t(s,r):t),!1))}_refinement(e){return new Ue({schema:this,typeName:B.ZodEffects,effect:{type:"refinement",refinement:e}})}superRefine(e){return this._refinement(e)}constructor(e){this.spa=this.safeParseAsync,this._def=e,this.parse=this.parse.bind(this),this.safeParse=this.safeParse.bind(this),this.parseAsync=this.parseAsync.bind(this),this.safeParseAsync=this.safeParseAsync.bind(this),this.spa=this.spa.bind(this),this.refine=this.refine.bind(this),this.refinement=this.refinement.bind(this),this.superRefine=this.superRefine.bind(this),this.optional=this.optional.bind(this),this.nullable=this.nullable.bind(this),this.nullish=this.nullish.bind(this),this.array=this.array.bind(this),this.promise=this.promise.bind(this),this.or=this.or.bind(this),this.and=this.and.bind(this),this.transform=this.transform.bind(this),this.brand=this.brand.bind(this),this.default=this.default.bind(this),this.catch=this.catch.bind(this),this.describe=this.describe.bind(this),this.pipe=this.pipe.bind(this),this.readonly=this.readonly.bind(this),this.isNullable=this.isNullable.bind(this),this.isOptional=this.isOptional.bind(this),this["~standard"]={version:1,vendor:"zod",validate:t=>this["~validate"](t)}}optional(){return Fe.create(this,this._def)}nullable(){return Xe.create(this,this._def)}nullish(){return this.nullable().optional()}array(){return cr.create(this)}promise(){return vr.create(this,this._def)}or(e){return Dr.create([this,e],this._def)}and(e){return kr.create(this,e,this._def)}transform(e){return new Ue({...Q(this._def),schema:this,typeName:B.ZodEffects,effect:{type:"transform",transform:e}})}default(e){let t=typeof e=="function"?e:()=>e;return new Fr({...Q(this._def),innerType:this,defaultValue:t,typeName:B.ZodDefault})}brand(){return new mt({typeName:B.ZodBranded,type:this,...Q(this._def)})}catch(e){let t=typeof e=="function"?e:()=>e;return new qr({...Q(this._def),innerType:this,catchValue:t,typeName:B.ZodCatch})}describe(e){let t=this.constructor;return new t({...this._def,description:e})}pipe(e){return vt.create(this,e)}readonly(){return Ur.create(this)}isOptional(){return this.safeParse(void 0).success}isNullable(){return this.safeParse(null).success}},Bo=/^c[^\s-]{8,}$/i,Wo=/^[0-9a-z]+$/,Qo=/^[0-9A-HJKMNP-TV-Z]{26}$/i,Zo=/^[0-9a-fA-F]{8}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{4}\b-[0-9a-fA-F]{12}$/i,Ko=/^[a-z0-9_-]{21}$/i,Go=/^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$/,Jo=/^[-+]?P(?!$)(?:(?:[-+]?\d+Y)|(?:[-+]?\d+[.,]\d+Y$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:(?:[-+]?\d+W)|(?:[-+]?\d+[.,]\d+W$))?(?:(?:[-+]?\d+D)|(?:[-+]?\d+[.,]\d+D$))?(?:T(?=[\d+-])(?:(?:[-+]?\d+H)|(?:[-+]?\d+[.,]\d+H$))?(?:(?:[-+]?\d+M)|(?:[-+]?\d+[.,]\d+M$))?(?:[-+]?\d+(?:[.,]\d+)?S)?)??$/,Yo=/^(?!\.)(?!.*\.\.)([A-Z0-9_'+\-\.]*)[A-Z0-9_+-]@([A-Z0-9][A-Z0-9\-]*\.)+[A-Z]{2,}$/i,Xo="^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$",_a,el=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/,rl=/^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/(3[0-2]|[12]?[0-9])$/,tl=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))$/,al=/^(([0-9a-fA-F]{1,4}:){7,7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:)|fe80:(:[0-9a-fA-F]{0,4}){0,4}%[0-9a-zA-Z]{1,}|::(ffff(:0{1,4}){0,1}:){0,1}((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])|([0-9a-fA-F]{1,4}:){1,4}:((25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9])\.){3,3}(25[0-5]|(2[0-4]|1{0,1}[0-9]){0,1}[0-9]))\/(12[0-8]|1[01][0-9]|[1-9]?[0-9])$/,sl=/^([0-9a-zA-Z+/]{4})*(([0-9a-zA-Z+/]{2}==)|([0-9a-zA-Z+/]{3}=))?$/,nl=/^([0-9a-zA-Z-_]{4})*(([0-9a-zA-Z-_]{2}(==)?)|([0-9a-zA-Z-_]{3}(=)?))?$/,Ts="((\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-((0[13578]|1[02])-(0[1-9]|[12]\\d|3[01])|(0[469]|11)-(0[1-9]|[12]\\d|30)|(02)-(0[1-9]|1\\d|2[0-8])))",il=new RegExp(`^${Ts}$`);function Os(a){let e="[0-5]\\d";a.precision?e=`${e}\\.\\d{${a.precision}}`:a.precision==null&&(e=`${e}(\\.\\d+)?`);let t=a.precision?"+":"?";return`([01]\\d|2[0-3]):[0-5]\\d(:${e})${t}`}function ol(a){return new RegExp(`^${Os(a)}$`)}function Is(a){let e=`${Ts}T${Os(a)}`,t=[];return t.push(a.local?"Z?":"Z"),a.offset&&t.push("([+-]\\d{2}:?\\d{2})"),e=`${e}(${t.join("|")})`,new RegExp(`^${e}$`)}function ll(a,e){return!!((e==="v4"||!e)&&el.test(a)||(e==="v6"||!e)&&tl.test(a))}function cl(a,e){if(!Go.test(a))return!1;try{let[t]=a.split(".");if(!t)return!1;let s=t.replace(/-/g,"+").replace(/_/g,"/").padEnd(t.length+(4-t.length%4)%4,"="),r=JSON.parse(atob(s));return!(typeof r!="object"||r===null||"typ"in r&&r?.typ!=="JWT"||!r.alg||e&&r.alg!==e)}catch{return!1}}function ul(a,e){return!!((e==="v4"||!e)&&rl.test(a)||(e==="v6"||!e)&&al.test(a))}var pr=class a extends K{_parse(e){if(this._def.coerce&&(e.data=String(e.data)),this._getType(e)!==k.string){let n=this._getOrReturnCtx(e);return D(n,{code:w.invalid_type,expected:k.string,received:n.parsedType}),z}let s=new be,r;for(let n of this._def.checks)if(n.kind==="min")e.data.lengthn.value&&(r=this._getOrReturnCtx(e,r),D(r,{code:w.too_big,maximum:n.value,type:"string",inclusive:!0,exact:!1,message:n.message}),s.dirty());else if(n.kind==="length"){let l=e.data.length>n.value,i=e.data.lengthe.test(r),{validation:t,code:w.invalid_string,...U.errToObj(s)})}_addCheck(e){return new a({...this._def,checks:[...this._def.checks,e]})}email(e){return this._addCheck({kind:"email",...U.errToObj(e)})}url(e){return this._addCheck({kind:"url",...U.errToObj(e)})}emoji(e){return this._addCheck({kind:"emoji",...U.errToObj(e)})}uuid(e){return this._addCheck({kind:"uuid",...U.errToObj(e)})}nanoid(e){return this._addCheck({kind:"nanoid",...U.errToObj(e)})}cuid(e){return this._addCheck({kind:"cuid",...U.errToObj(e)})}cuid2(e){return this._addCheck({kind:"cuid2",...U.errToObj(e)})}ulid(e){return this._addCheck({kind:"ulid",...U.errToObj(e)})}base64(e){return this._addCheck({kind:"base64",...U.errToObj(e)})}base64url(e){return this._addCheck({kind:"base64url",...U.errToObj(e)})}jwt(e){return this._addCheck({kind:"jwt",...U.errToObj(e)})}ip(e){return this._addCheck({kind:"ip",...U.errToObj(e)})}cidr(e){return this._addCheck({kind:"cidr",...U.errToObj(e)})}datetime(e){return typeof e=="string"?this._addCheck({kind:"datetime",precision:null,offset:!1,local:!1,message:e}):this._addCheck({kind:"datetime",precision:typeof e?.precision>"u"?null:e?.precision,offset:e?.offset??!1,local:e?.local??!1,...U.errToObj(e?.message)})}date(e){return this._addCheck({kind:"date",message:e})}time(e){return typeof e=="string"?this._addCheck({kind:"time",precision:null,message:e}):this._addCheck({kind:"time",precision:typeof e?.precision>"u"?null:e?.precision,...U.errToObj(e?.message)})}duration(e){return this._addCheck({kind:"duration",...U.errToObj(e)})}regex(e,t){return this._addCheck({kind:"regex",regex:e,...U.errToObj(t)})}includes(e,t){return this._addCheck({kind:"includes",value:e,position:t?.position,...U.errToObj(t?.message)})}startsWith(e,t){return this._addCheck({kind:"startsWith",value:e,...U.errToObj(t)})}endsWith(e,t){return this._addCheck({kind:"endsWith",value:e,...U.errToObj(t)})}min(e,t){return this._addCheck({kind:"min",value:e,...U.errToObj(t)})}max(e,t){return this._addCheck({kind:"max",value:e,...U.errToObj(t)})}length(e,t){return this._addCheck({kind:"length",value:e,...U.errToObj(t)})}nonempty(e){return this.min(1,U.errToObj(e))}trim(){return new a({...this._def,checks:[...this._def.checks,{kind:"trim"}]})}toLowerCase(){return new a({...this._def,checks:[...this._def.checks,{kind:"toLowerCase"}]})}toUpperCase(){return new a({...this._def,checks:[...this._def.checks,{kind:"toUpperCase"}]})}get isDatetime(){return!!this._def.checks.find(e=>e.kind==="datetime")}get isDate(){return!!this._def.checks.find(e=>e.kind==="date")}get isTime(){return!!this._def.checks.find(e=>e.kind==="time")}get isDuration(){return!!this._def.checks.find(e=>e.kind==="duration")}get isEmail(){return!!this._def.checks.find(e=>e.kind==="email")}get isURL(){return!!this._def.checks.find(e=>e.kind==="url")}get isEmoji(){return!!this._def.checks.find(e=>e.kind==="emoji")}get isUUID(){return!!this._def.checks.find(e=>e.kind==="uuid")}get isNANOID(){return!!this._def.checks.find(e=>e.kind==="nanoid")}get isCUID(){return!!this._def.checks.find(e=>e.kind==="cuid")}get isCUID2(){return!!this._def.checks.find(e=>e.kind==="cuid2")}get isULID(){return!!this._def.checks.find(e=>e.kind==="ulid")}get isIP(){return!!this._def.checks.find(e=>e.kind==="ip")}get isCIDR(){return!!this._def.checks.find(e=>e.kind==="cidr")}get isBase64(){return!!this._def.checks.find(e=>e.kind==="base64")}get isBase64url(){return!!this._def.checks.find(e=>e.kind==="base64url")}get minLength(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxLength(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.valuenew pr({checks:[],typeName:B.ZodString,coerce:a?.coerce??!1,...Q(a)});function dl(a,e){let t=(a.toString().split(".")[1]||"").length,s=(e.toString().split(".")[1]||"").length,r=t>s?t:s,n=Number.parseInt(a.toFixed(r).replace(".","")),l=Number.parseInt(e.toFixed(r).replace(".",""));return n%l/10**r}var Tr=class a extends K{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte,this.step=this.multipleOf}_parse(e){if(this._def.coerce&&(e.data=Number(e.data)),this._getType(e)!==k.number){let n=this._getOrReturnCtx(e);return D(n,{code:w.invalid_type,expected:k.number,received:n.parsedType}),z}let s,r=new be;for(let n of this._def.checks)n.kind==="int"?Y.isInteger(e.data)||(s=this._getOrReturnCtx(e,s),D(s,{code:w.invalid_type,expected:"integer",received:"float",message:n.message}),r.dirty()):n.kind==="min"?(n.inclusive?e.datan.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),D(s,{code:w.too_big,maximum:n.value,type:"number",inclusive:n.inclusive,exact:!1,message:n.message}),r.dirty()):n.kind==="multipleOf"?dl(e.data,n.value)!==0&&(s=this._getOrReturnCtx(e,s),D(s,{code:w.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):n.kind==="finite"?Number.isFinite(e.data)||(s=this._getOrReturnCtx(e,s),D(s,{code:w.not_finite,message:n.message}),r.dirty()):Y.assertNever(n);return{status:r.value,value:e.data}}gte(e,t){return this.setLimit("min",e,!0,U.toString(t))}gt(e,t){return this.setLimit("min",e,!1,U.toString(t))}lte(e,t){return this.setLimit("max",e,!0,U.toString(t))}lt(e,t){return this.setLimit("max",e,!1,U.toString(t))}setLimit(e,t,s,r){return new a({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:U.toString(r)}]})}_addCheck(e){return new a({...this._def,checks:[...this._def.checks,e]})}int(e){return this._addCheck({kind:"int",message:U.toString(e)})}positive(e){return this._addCheck({kind:"min",value:0,inclusive:!1,message:U.toString(e)})}negative(e){return this._addCheck({kind:"max",value:0,inclusive:!1,message:U.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:0,inclusive:!0,message:U.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:0,inclusive:!0,message:U.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:U.toString(t)})}finite(e){return this._addCheck({kind:"finite",message:U.toString(e)})}safe(e){return this._addCheck({kind:"min",inclusive:!0,value:Number.MIN_SAFE_INTEGER,message:U.toString(e)})._addCheck({kind:"max",inclusive:!0,value:Number.MAX_SAFE_INTEGER,message:U.toString(e)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.valuee.kind==="int"||e.kind==="multipleOf"&&Y.isInteger(e.value))}get isFinite(){let e=null,t=null;for(let s of this._def.checks){if(s.kind==="finite"||s.kind==="int"||s.kind==="multipleOf")return!0;s.kind==="min"?(t===null||s.value>t)&&(t=s.value):s.kind==="max"&&(e===null||s.valuenew Tr({checks:[],typeName:B.ZodNumber,coerce:a?.coerce||!1,...Q(a)});var Or=class a extends K{constructor(){super(...arguments),this.min=this.gte,this.max=this.lte}_parse(e){if(this._def.coerce)try{e.data=BigInt(e.data)}catch{return this._getInvalidInput(e)}if(this._getType(e)!==k.bigint)return this._getInvalidInput(e);let s,r=new be;for(let n of this._def.checks)n.kind==="min"?(n.inclusive?e.datan.value:e.data>=n.value)&&(s=this._getOrReturnCtx(e,s),D(s,{code:w.too_big,type:"bigint",maximum:n.value,inclusive:n.inclusive,message:n.message}),r.dirty()):n.kind==="multipleOf"?e.data%n.value!==BigInt(0)&&(s=this._getOrReturnCtx(e,s),D(s,{code:w.not_multiple_of,multipleOf:n.value,message:n.message}),r.dirty()):Y.assertNever(n);return{status:r.value,value:e.data}}_getInvalidInput(e){let t=this._getOrReturnCtx(e);return D(t,{code:w.invalid_type,expected:k.bigint,received:t.parsedType}),z}gte(e,t){return this.setLimit("min",e,!0,U.toString(t))}gt(e,t){return this.setLimit("min",e,!1,U.toString(t))}lte(e,t){return this.setLimit("max",e,!0,U.toString(t))}lt(e,t){return this.setLimit("max",e,!1,U.toString(t))}setLimit(e,t,s,r){return new a({...this._def,checks:[...this._def.checks,{kind:e,value:t,inclusive:s,message:U.toString(r)}]})}_addCheck(e){return new a({...this._def,checks:[...this._def.checks,e]})}positive(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!1,message:U.toString(e)})}negative(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!1,message:U.toString(e)})}nonpositive(e){return this._addCheck({kind:"max",value:BigInt(0),inclusive:!0,message:U.toString(e)})}nonnegative(e){return this._addCheck({kind:"min",value:BigInt(0),inclusive:!0,message:U.toString(e)})}multipleOf(e,t){return this._addCheck({kind:"multipleOf",value:e,message:U.toString(t)})}get minValue(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e}get maxValue(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.valuenew Or({checks:[],typeName:B.ZodBigInt,coerce:a?.coerce??!1,...Q(a)});var Ir=class extends K{_parse(e){if(this._def.coerce&&(e.data=!!e.data),this._getType(e)!==k.boolean){let s=this._getOrReturnCtx(e);return D(s,{code:w.invalid_type,expected:k.boolean,received:s.parsedType}),z}return we(e.data)}};Ir.create=a=>new Ir({typeName:B.ZodBoolean,coerce:a?.coerce||!1,...Q(a)});var $r=class a extends K{_parse(e){if(this._def.coerce&&(e.data=new Date(e.data)),this._getType(e)!==k.date){let n=this._getOrReturnCtx(e);return D(n,{code:w.invalid_type,expected:k.date,received:n.parsedType}),z}if(Number.isNaN(e.data.getTime())){let n=this._getOrReturnCtx(e);return D(n,{code:w.invalid_date}),z}let s=new be,r;for(let n of this._def.checks)n.kind==="min"?e.data.getTime()n.value&&(r=this._getOrReturnCtx(e,r),D(r,{code:w.too_big,message:n.message,inclusive:!0,exact:!1,maximum:n.value,type:"date"}),s.dirty()):Y.assertNever(n);return{status:s.value,value:new Date(e.data.getTime())}}_addCheck(e){return new a({...this._def,checks:[...this._def.checks,e]})}min(e,t){return this._addCheck({kind:"min",value:e.getTime(),message:U.toString(t)})}max(e,t){return this._addCheck({kind:"max",value:e.getTime(),message:U.toString(t)})}get minDate(){let e=null;for(let t of this._def.checks)t.kind==="min"&&(e===null||t.value>e)&&(e=t.value);return e!=null?new Date(e):null}get maxDate(){let e=null;for(let t of this._def.checks)t.kind==="max"&&(e===null||t.valuenew $r({checks:[],coerce:a?.coerce||!1,typeName:B.ZodDate,...Q(a)});var et=class extends K{_parse(e){if(this._getType(e)!==k.symbol){let s=this._getOrReturnCtx(e);return D(s,{code:w.invalid_type,expected:k.symbol,received:s.parsedType}),z}return we(e.data)}};et.create=a=>new et({typeName:B.ZodSymbol,...Q(a)});var Cr=class extends K{_parse(e){if(this._getType(e)!==k.undefined){let s=this._getOrReturnCtx(e);return D(s,{code:w.invalid_type,expected:k.undefined,received:s.parsedType}),z}return we(e.data)}};Cr.create=a=>new Cr({typeName:B.ZodUndefined,...Q(a)});var Ar=class extends K{_parse(e){if(this._getType(e)!==k.null){let s=this._getOrReturnCtx(e);return D(s,{code:w.invalid_type,expected:k.null,received:s.parsedType}),z}return we(e.data)}};Ar.create=a=>new Ar({typeName:B.ZodNull,...Q(a)});var mr=class extends K{constructor(){super(...arguments),this._any=!0}_parse(e){return we(e.data)}};mr.create=a=>new mr({typeName:B.ZodAny,...Q(a)});var lr=class extends K{constructor(){super(...arguments),this._unknown=!0}_parse(e){return we(e.data)}};lr.create=a=>new lr({typeName:B.ZodUnknown,...Q(a)});var Be=class extends K{_parse(e){let t=this._getOrReturnCtx(e);return D(t,{code:w.invalid_type,expected:k.never,received:t.parsedType}),z}};Be.create=a=>new Be({typeName:B.ZodNever,...Q(a)});var rt=class extends K{_parse(e){if(this._getType(e)!==k.undefined){let s=this._getOrReturnCtx(e);return D(s,{code:w.invalid_type,expected:k.void,received:s.parsedType}),z}return we(e.data)}};rt.create=a=>new rt({typeName:B.ZodVoid,...Q(a)});var cr=class a extends K{_parse(e){let{ctx:t,status:s}=this._processInputParams(e),r=this._def;if(t.parsedType!==k.array)return D(t,{code:w.invalid_type,expected:k.array,received:t.parsedType}),z;if(r.exactLength!==null){let l=t.data.length>r.exactLength.value,i=t.data.lengthr.maxLength.value&&(D(t,{code:w.too_big,maximum:r.maxLength.value,type:"array",inclusive:!0,exact:!1,message:r.maxLength.message}),s.dirty()),t.common.async)return Promise.all([...t.data].map((l,i)=>r.type._parseAsync(new qe(t,l,t.path,i)))).then(l=>be.mergeArray(s,l));let n=[...t.data].map((l,i)=>r.type._parseSync(new qe(t,l,t.path,i)));return be.mergeArray(s,n)}get element(){return this._def.type}min(e,t){return new a({...this._def,minLength:{value:e,message:U.toString(t)}})}max(e,t){return new a({...this._def,maxLength:{value:e,message:U.toString(t)}})}length(e,t){return new a({...this._def,exactLength:{value:e,message:U.toString(t)}})}nonempty(e){return this.min(1,e)}};cr.create=(a,e)=>new cr({type:a,minLength:null,maxLength:null,exactLength:null,typeName:B.ZodArray,...Q(e)});function Xr(a){if(a instanceof Ce){let e={};for(let t in a.shape){let s=a.shape[t];e[t]=Fe.create(Xr(s))}return new Ce({...a._def,shape:()=>e})}else return a instanceof cr?new cr({...a._def,type:Xr(a.element)}):a instanceof Fe?Fe.create(Xr(a.unwrap())):a instanceof Xe?Xe.create(Xr(a.unwrap())):a instanceof Ye?Ye.create(a.items.map(e=>Xr(e))):a}var Ce=class a extends K{constructor(){super(...arguments),this._cached=null,this.nonstrict=this.passthrough,this.augment=this.extend}_getCached(){if(this._cached!==null)return this._cached;let e=this._def.shape(),t=Y.objectKeys(e);return this._cached={shape:e,keys:t},this._cached}_parse(e){if(this._getType(e)!==k.object){let d=this._getOrReturnCtx(e);return D(d,{code:w.invalid_type,expected:k.object,received:d.parsedType}),z}let{status:s,ctx:r}=this._processInputParams(e),{shape:n,keys:l}=this._getCached(),i=[];if(!(this._def.catchall instanceof Be&&this._def.unknownKeys==="strip"))for(let d in r.data)l.includes(d)||i.push(d);let f=[];for(let d of l){let h=n[d],m=r.data[d];f.push({key:{status:"valid",value:d},value:h._parse(new qe(r,m,r.path,d)),alwaysSet:d in r.data})}if(this._def.catchall instanceof Be){let d=this._def.unknownKeys;if(d==="passthrough")for(let h of i)f.push({key:{status:"valid",value:h},value:{status:"valid",value:r.data[h]}});else if(d==="strict")i.length>0&&(D(r,{code:w.unrecognized_keys,keys:i}),s.dirty());else if(d!=="strip")throw new Error("Internal ZodObject error: invalid unknownKeys value.")}else{let d=this._def.catchall;for(let h of i){let m=r.data[h];f.push({key:{status:"valid",value:h},value:d._parse(new qe(r,m,r.path,h)),alwaysSet:h in r.data})}}return r.common.async?Promise.resolve().then(async()=>{let d=[];for(let h of f){let m=await h.key,E=await h.value;d.push({key:m,value:E,alwaysSet:h.alwaysSet})}return d}).then(d=>be.mergeObjectSync(s,d)):be.mergeObjectSync(s,f)}get shape(){return this._def.shape()}strict(e){return U.errToObj,new a({...this._def,unknownKeys:"strict",...e!==void 0?{errorMap:(t,s)=>{let r=this._def.errorMap?.(t,s).message??s.defaultError;return t.code==="unrecognized_keys"?{message:U.errToObj(e).message??r}:{message:r}}}:{}})}strip(){return new a({...this._def,unknownKeys:"strip"})}passthrough(){return new a({...this._def,unknownKeys:"passthrough"})}extend(e){return new a({...this._def,shape:()=>({...this._def.shape(),...e})})}merge(e){return new a({unknownKeys:e._def.unknownKeys,catchall:e._def.catchall,shape:()=>({...this._def.shape(),...e._def.shape()}),typeName:B.ZodObject})}setKey(e,t){return this.augment({[e]:t})}catchall(e){return new a({...this._def,catchall:e})}pick(e){let t={};for(let s of Y.objectKeys(e))e[s]&&this.shape[s]&&(t[s]=this.shape[s]);return new a({...this._def,shape:()=>t})}omit(e){let t={};for(let s of Y.objectKeys(this.shape))e[s]||(t[s]=this.shape[s]);return new a({...this._def,shape:()=>t})}deepPartial(){return Xr(this)}partial(e){let t={};for(let s of Y.objectKeys(this.shape)){let r=this.shape[s];e&&!e[s]?t[s]=r:t[s]=r.optional()}return new a({...this._def,shape:()=>t})}required(e){let t={};for(let s of Y.objectKeys(this.shape))if(e&&!e[s])t[s]=this.shape[s];else{let n=this.shape[s];for(;n instanceof Fe;)n=n._def.innerType;t[s]=n}return new a({...this._def,shape:()=>t})}keyof(){return $s(Y.objectKeys(this.shape))}};Ce.create=(a,e)=>new Ce({shape:()=>a,unknownKeys:"strip",catchall:Be.create(),typeName:B.ZodObject,...Q(e)});Ce.strictCreate=(a,e)=>new Ce({shape:()=>a,unknownKeys:"strict",catchall:Be.create(),typeName:B.ZodObject,...Q(e)});Ce.lazycreate=(a,e)=>new Ce({shape:a,unknownKeys:"strip",catchall:Be.create(),typeName:B.ZodObject,...Q(e)});var Dr=class extends K{_parse(e){let{ctx:t}=this._processInputParams(e),s=this._def.options;function r(n){for(let i of n)if(i.result.status==="valid")return i.result;for(let i of n)if(i.result.status==="dirty")return t.common.issues.push(...i.ctx.common.issues),i.result;let l=n.map(i=>new $e(i.ctx.common.issues));return D(t,{code:w.invalid_union,unionErrors:l}),z}if(t.common.async)return Promise.all(s.map(async n=>{let l={...t,common:{...t.common,issues:[]},parent:null};return{result:await n._parseAsync({data:t.data,path:t.path,parent:l}),ctx:l}})).then(r);{let n,l=[];for(let f of s){let d={...t,common:{...t.common,issues:[]},parent:null},h=f._parseSync({data:t.data,path:t.path,parent:d});if(h.status==="valid")return h;h.status==="dirty"&&!n&&(n={result:h,ctx:d}),d.common.issues.length&&l.push(d.common.issues)}if(n)return t.common.issues.push(...n.ctx.common.issues),n.result;let i=l.map(f=>new $e(f));return D(t,{code:w.invalid_union,unionErrors:i}),z}}get options(){return this._def.options}};Dr.create=(a,e)=>new Dr({options:a,typeName:B.ZodUnion,...Q(e)});var or=a=>a instanceof Nr?or(a.schema):a instanceof Ue?or(a.innerType()):a instanceof Lr?[a.value]:a instanceof jr?a.options:a instanceof Mr?Y.objectValues(a.enum):a instanceof Fr?or(a._def.innerType):a instanceof Cr?[void 0]:a instanceof Ar?[null]:a instanceof Fe?[void 0,...or(a.unwrap())]:a instanceof Xe?[null,...or(a.unwrap())]:a instanceof mt||a instanceof Ur?or(a.unwrap()):a instanceof qr?or(a._def.innerType):[],$t=class a extends K{_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==k.object)return D(t,{code:w.invalid_type,expected:k.object,received:t.parsedType}),z;let s=this.discriminator,r=t.data[s],n=this.optionsMap.get(r);return n?t.common.async?n._parseAsync({data:t.data,path:t.path,parent:t}):n._parseSync({data:t.data,path:t.path,parent:t}):(D(t,{code:w.invalid_union_discriminator,options:Array.from(this.optionsMap.keys()),path:[s]}),z)}get discriminator(){return this._def.discriminator}get options(){return this._def.options}get optionsMap(){return this._def.optionsMap}static create(e,t,s){let r=new Map;for(let n of t){let l=or(n.shape[e]);if(!l.length)throw new Error(`A discriminator value for key \`${e}\` could not be extracted from all schema options`);for(let i of l){if(r.has(i))throw new Error(`Discriminator property ${String(e)} has duplicate value ${String(i)}`);r.set(i,n)}}return new a({typeName:B.ZodDiscriminatedUnion,discriminator:e,options:t,optionsMap:r,...Q(s)})}};function Ea(a,e){let t=Je(a),s=Je(e);if(a===e)return{valid:!0,data:a};if(t===k.object&&s===k.object){let r=Y.objectKeys(e),n=Y.objectKeys(a).filter(i=>r.indexOf(i)!==-1),l={...a,...e};for(let i of n){let f=Ea(a[i],e[i]);if(!f.valid)return{valid:!1};l[i]=f.data}return{valid:!0,data:l}}else if(t===k.array&&s===k.array){if(a.length!==e.length)return{valid:!1};let r=[];for(let n=0;n{if(Ot(n)||Ot(l))return z;let i=Ea(n.value,l.value);return i.valid?((It(n)||It(l))&&t.dirty(),{status:t.value,value:i.data}):(D(s,{code:w.invalid_intersection_types}),z)};return s.common.async?Promise.all([this._def.left._parseAsync({data:s.data,path:s.path,parent:s}),this._def.right._parseAsync({data:s.data,path:s.path,parent:s})]).then(([n,l])=>r(n,l)):r(this._def.left._parseSync({data:s.data,path:s.path,parent:s}),this._def.right._parseSync({data:s.data,path:s.path,parent:s}))}};kr.create=(a,e,t)=>new kr({left:a,right:e,typeName:B.ZodIntersection,...Q(t)});var Ye=class a extends K{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==k.array)return D(s,{code:w.invalid_type,expected:k.array,received:s.parsedType}),z;if(s.data.lengththis._def.items.length&&(D(s,{code:w.too_big,maximum:this._def.items.length,inclusive:!0,exact:!1,type:"array"}),t.dirty());let n=[...s.data].map((l,i)=>{let f=this._def.items[i]||this._def.rest;return f?f._parse(new qe(s,l,s.path,i)):null}).filter(l=>!!l);return s.common.async?Promise.all(n).then(l=>be.mergeArray(t,l)):be.mergeArray(t,n)}get items(){return this._def.items}rest(e){return new a({...this._def,rest:e})}};Ye.create=(a,e)=>{if(!Array.isArray(a))throw new Error("You must pass an array of schemas to z.tuple([ ... ])");return new Ye({items:a,typeName:B.ZodTuple,rest:null,...Q(e)})};var Ct=class a extends K{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==k.object)return D(s,{code:w.invalid_type,expected:k.object,received:s.parsedType}),z;let r=[],n=this._def.keyType,l=this._def.valueType;for(let i in s.data)r.push({key:n._parse(new qe(s,i,s.path,i)),value:l._parse(new qe(s,s.data[i],s.path,i)),alwaysSet:i in s.data});return s.common.async?be.mergeObjectAsync(t,r):be.mergeObjectSync(t,r)}get element(){return this._def.valueType}static create(e,t,s){return t instanceof K?new a({keyType:e,valueType:t,typeName:B.ZodRecord,...Q(s)}):new a({keyType:pr.create(),valueType:e,typeName:B.ZodRecord,...Q(t)})}},tt=class extends K{get keySchema(){return this._def.keyType}get valueSchema(){return this._def.valueType}_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==k.map)return D(s,{code:w.invalid_type,expected:k.map,received:s.parsedType}),z;let r=this._def.keyType,n=this._def.valueType,l=[...s.data.entries()].map(([i,f],d)=>({key:r._parse(new qe(s,i,s.path,[d,"key"])),value:n._parse(new qe(s,f,s.path,[d,"value"]))}));if(s.common.async){let i=new Map;return Promise.resolve().then(async()=>{for(let f of l){let d=await f.key,h=await f.value;if(d.status==="aborted"||h.status==="aborted")return z;(d.status==="dirty"||h.status==="dirty")&&t.dirty(),i.set(d.value,h.value)}return{status:t.value,value:i}})}else{let i=new Map;for(let f of l){let d=f.key,h=f.value;if(d.status==="aborted"||h.status==="aborted")return z;(d.status==="dirty"||h.status==="dirty")&&t.dirty(),i.set(d.value,h.value)}return{status:t.value,value:i}}}};tt.create=(a,e,t)=>new tt({valueType:e,keyType:a,typeName:B.ZodMap,...Q(t)});var at=class a extends K{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.parsedType!==k.set)return D(s,{code:w.invalid_type,expected:k.set,received:s.parsedType}),z;let r=this._def;r.minSize!==null&&s.data.sizer.maxSize.value&&(D(s,{code:w.too_big,maximum:r.maxSize.value,type:"set",inclusive:!0,exact:!1,message:r.maxSize.message}),t.dirty());let n=this._def.valueType;function l(f){let d=new Set;for(let h of f){if(h.status==="aborted")return z;h.status==="dirty"&&t.dirty(),d.add(h.value)}return{status:t.value,value:d}}let i=[...s.data.values()].map((f,d)=>n._parse(new qe(s,f,s.path,d)));return s.common.async?Promise.all(i).then(f=>l(f)):l(i)}min(e,t){return new a({...this._def,minSize:{value:e,message:U.toString(t)}})}max(e,t){return new a({...this._def,maxSize:{value:e,message:U.toString(t)}})}size(e,t){return this.min(e,t).max(e,t)}nonempty(e){return this.min(1,e)}};at.create=(a,e)=>new at({valueType:a,minSize:null,maxSize:null,typeName:B.ZodSet,...Q(e)});var At=class a extends K{constructor(){super(...arguments),this.validate=this.implement}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==k.function)return D(t,{code:w.invalid_type,expected:k.function,received:t.parsedType}),z;function s(i,f){return pt({data:i,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Jr(),ir].filter(d=>!!d),issueData:{code:w.invalid_arguments,argumentsError:f}})}function r(i,f){return pt({data:i,path:t.path,errorMaps:[t.common.contextualErrorMap,t.schemaErrorMap,Jr(),ir].filter(d=>!!d),issueData:{code:w.invalid_return_type,returnTypeError:f}})}let n={errorMap:t.common.contextualErrorMap},l=t.data;if(this._def.returns instanceof vr){let i=this;return we(async function(...f){let d=new $e([]),h=await i._def.args.parseAsync(f,n).catch(c=>{throw d.addIssue(s(f,c)),d}),m=await Reflect.apply(l,this,h);return await i._def.returns._def.type.parseAsync(m,n).catch(c=>{throw d.addIssue(r(m,c)),d})})}else{let i=this;return we(function(...f){let d=i._def.args.safeParse(f,n);if(!d.success)throw new $e([s(f,d.error)]);let h=Reflect.apply(l,this,d.data),m=i._def.returns.safeParse(h,n);if(!m.success)throw new $e([r(h,m.error)]);return m.data})}}parameters(){return this._def.args}returnType(){return this._def.returns}args(...e){return new a({...this._def,args:Ye.create(e).rest(lr.create())})}returns(e){return new a({...this._def,returns:e})}implement(e){return this.parse(e)}strictImplement(e){return this.parse(e)}static create(e,t,s){return new a({args:e||Ye.create([]).rest(lr.create()),returns:t||lr.create(),typeName:B.ZodFunction,...Q(s)})}},Nr=class extends K{get schema(){return this._def.getter()}_parse(e){let{ctx:t}=this._processInputParams(e);return this._def.getter()._parse({data:t.data,path:t.path,parent:t})}};Nr.create=(a,e)=>new Nr({getter:a,typeName:B.ZodLazy,...Q(e)});var Lr=class extends K{_parse(e){if(e.data!==this._def.value){let t=this._getOrReturnCtx(e);return D(t,{received:t.data,code:w.invalid_literal,expected:this._def.value}),z}return{status:"valid",value:e.data}}get value(){return this._def.value}};Lr.create=(a,e)=>new Lr({value:a,typeName:B.ZodLiteral,...Q(e)});function $s(a,e){return new jr({values:a,typeName:B.ZodEnum,...Q(e)})}var jr=class a extends K{_parse(e){if(typeof e.data!="string"){let t=this._getOrReturnCtx(e),s=this._def.values;return D(t,{expected:Y.joinValues(s),received:t.parsedType,code:w.invalid_type}),z}if(this._cache||(this._cache=new Set(this._def.values)),!this._cache.has(e.data)){let t=this._getOrReturnCtx(e),s=this._def.values;return D(t,{received:t.data,code:w.invalid_enum_value,options:s}),z}return we(e.data)}get options(){return this._def.values}get enum(){let e={};for(let t of this._def.values)e[t]=t;return e}get Values(){let e={};for(let t of this._def.values)e[t]=t;return e}get Enum(){let e={};for(let t of this._def.values)e[t]=t;return e}extract(e,t=this._def){return a.create(e,{...this._def,...t})}exclude(e,t=this._def){return a.create(this.options.filter(s=>!e.includes(s)),{...this._def,...t})}};jr.create=$s;var Mr=class extends K{_parse(e){let t=Y.getValidEnumValues(this._def.values),s=this._getOrReturnCtx(e);if(s.parsedType!==k.string&&s.parsedType!==k.number){let r=Y.objectValues(t);return D(s,{expected:Y.joinValues(r),received:s.parsedType,code:w.invalid_type}),z}if(this._cache||(this._cache=new Set(Y.getValidEnumValues(this._def.values))),!this._cache.has(e.data)){let r=Y.objectValues(t);return D(s,{received:s.data,code:w.invalid_enum_value,options:r}),z}return we(e.data)}get enum(){return this._def.values}};Mr.create=(a,e)=>new Mr({values:a,typeName:B.ZodNativeEnum,...Q(e)});var vr=class extends K{unwrap(){return this._def.type}_parse(e){let{ctx:t}=this._processInputParams(e);if(t.parsedType!==k.promise&&t.common.async===!1)return D(t,{code:w.invalid_type,expected:k.promise,received:t.parsedType}),z;let s=t.parsedType===k.promise?t.data:Promise.resolve(t.data);return we(s.then(r=>this._def.type.parseAsync(r,{path:t.path,errorMap:t.common.contextualErrorMap})))}};vr.create=(a,e)=>new vr({type:a,typeName:B.ZodPromise,...Q(e)});var Ue=class extends K{innerType(){return this._def.schema}sourceType(){return this._def.schema._def.typeName===B.ZodEffects?this._def.schema.sourceType():this._def.schema}_parse(e){let{status:t,ctx:s}=this._processInputParams(e),r=this._def.effect||null,n={addIssue:l=>{D(s,l),l.fatal?t.abort():t.dirty()},get path(){return s.path}};if(n.addIssue=n.addIssue.bind(n),r.type==="preprocess"){let l=r.transform(s.data,n);if(s.common.async)return Promise.resolve(l).then(async i=>{if(t.value==="aborted")return z;let f=await this._def.schema._parseAsync({data:i,path:s.path,parent:s});return f.status==="aborted"?z:f.status==="dirty"?Rr(f.value):t.value==="dirty"?Rr(f.value):f});{if(t.value==="aborted")return z;let i=this._def.schema._parseSync({data:l,path:s.path,parent:s});return i.status==="aborted"?z:i.status==="dirty"?Rr(i.value):t.value==="dirty"?Rr(i.value):i}}if(r.type==="refinement"){let l=i=>{let f=r.refinement(i,n);if(s.common.async)return Promise.resolve(f);if(f instanceof Promise)throw new Error("Async refinement encountered during synchronous parse operation. Use .parseAsync instead.");return i};if(s.common.async===!1){let i=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});return i.status==="aborted"?z:(i.status==="dirty"&&t.dirty(),l(i.value),{status:t.value,value:i.value})}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(i=>i.status==="aborted"?z:(i.status==="dirty"&&t.dirty(),l(i.value).then(()=>({status:t.value,value:i.value}))))}if(r.type==="transform")if(s.common.async===!1){let l=this._def.schema._parseSync({data:s.data,path:s.path,parent:s});if(!hr(l))return z;let i=r.transform(l.value,n);if(i instanceof Promise)throw new Error("Asynchronous transform encountered during synchronous parse operation. Use .parseAsync instead.");return{status:t.value,value:i}}else return this._def.schema._parseAsync({data:s.data,path:s.path,parent:s}).then(l=>hr(l)?Promise.resolve(r.transform(l.value,n)).then(i=>({status:t.value,value:i})):z);Y.assertNever(r)}};Ue.create=(a,e,t)=>new Ue({schema:a,typeName:B.ZodEffects,effect:e,...Q(t)});Ue.createWithPreprocess=(a,e,t)=>new Ue({schema:e,effect:{type:"preprocess",transform:a},typeName:B.ZodEffects,...Q(t)});var Fe=class extends K{_parse(e){return this._getType(e)===k.undefined?we(void 0):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Fe.create=(a,e)=>new Fe({innerType:a,typeName:B.ZodOptional,...Q(e)});var Xe=class extends K{_parse(e){return this._getType(e)===k.null?we(null):this._def.innerType._parse(e)}unwrap(){return this._def.innerType}};Xe.create=(a,e)=>new Xe({innerType:a,typeName:B.ZodNullable,...Q(e)});var Fr=class extends K{_parse(e){let{ctx:t}=this._processInputParams(e),s=t.data;return t.parsedType===k.undefined&&(s=this._def.defaultValue()),this._def.innerType._parse({data:s,path:t.path,parent:t})}removeDefault(){return this._def.innerType}};Fr.create=(a,e)=>new Fr({innerType:a,typeName:B.ZodDefault,defaultValue:typeof e.default=="function"?e.default:()=>e.default,...Q(e)});var qr=class extends K{_parse(e){let{ctx:t}=this._processInputParams(e),s={...t,common:{...t.common,issues:[]}},r=this._def.innerType._parse({data:s.data,path:s.path,parent:{...s}});return Yr(r)?r.then(n=>({status:"valid",value:n.status==="valid"?n.value:this._def.catchValue({get error(){return new $e(s.common.issues)},input:s.data})})):{status:"valid",value:r.status==="valid"?r.value:this._def.catchValue({get error(){return new $e(s.common.issues)},input:s.data})}}removeCatch(){return this._def.innerType}};qr.create=(a,e)=>new qr({innerType:a,typeName:B.ZodCatch,catchValue:typeof e.catch=="function"?e.catch:()=>e.catch,...Q(e)});var st=class extends K{_parse(e){if(this._getType(e)!==k.nan){let s=this._getOrReturnCtx(e);return D(s,{code:w.invalid_type,expected:k.nan,received:s.parsedType}),z}return{status:"valid",value:e.data}}};st.create=a=>new st({typeName:B.ZodNaN,...Q(a)});var fl=Symbol("zod_brand"),mt=class extends K{_parse(e){let{ctx:t}=this._processInputParams(e),s=t.data;return this._def.type._parse({data:s,path:t.path,parent:t})}unwrap(){return this._def.type}},vt=class a extends K{_parse(e){let{status:t,ctx:s}=this._processInputParams(e);if(s.common.async)return(async()=>{let n=await this._def.in._parseAsync({data:s.data,path:s.path,parent:s});return n.status==="aborted"?z:n.status==="dirty"?(t.dirty(),Rr(n.value)):this._def.out._parseAsync({data:n.value,path:s.path,parent:s})})();{let r=this._def.in._parseSync({data:s.data,path:s.path,parent:s});return r.status==="aborted"?z:r.status==="dirty"?(t.dirty(),{status:"dirty",value:r.value}):this._def.out._parseSync({data:r.value,path:s.path,parent:s})}}static create(e,t){return new a({in:e,out:t,typeName:B.ZodPipeline})}},Ur=class extends K{_parse(e){let t=this._def.innerType._parse(e),s=r=>(hr(r)&&(r.value=Object.freeze(r.value)),r);return Yr(t)?t.then(r=>s(r)):s(t)}unwrap(){return this._def.innerType}};Ur.create=(a,e)=>new Ur({innerType:a,typeName:B.ZodReadonly,...Q(e)});function Rs(a,e){let t=typeof a=="function"?a(e):typeof a=="string"?{message:a}:a;return typeof t=="string"?{message:t}:t}function Cs(a,e={},t){return a?mr.create().superRefine((s,r)=>{let n=a(s);if(n instanceof Promise)return n.then(l=>{if(!l){let i=Rs(e,s),f=i.fatal??t??!0;r.addIssue({code:"custom",...i,fatal:f})}});if(!n){let l=Rs(e,s),i=l.fatal??t??!0;r.addIssue({code:"custom",...l,fatal:i})}}):mr.create()}var hl={object:Ce.lazycreate},B;(function(a){a.ZodString="ZodString",a.ZodNumber="ZodNumber",a.ZodNaN="ZodNaN",a.ZodBigInt="ZodBigInt",a.ZodBoolean="ZodBoolean",a.ZodDate="ZodDate",a.ZodSymbol="ZodSymbol",a.ZodUndefined="ZodUndefined",a.ZodNull="ZodNull",a.ZodAny="ZodAny",a.ZodUnknown="ZodUnknown",a.ZodNever="ZodNever",a.ZodVoid="ZodVoid",a.ZodArray="ZodArray",a.ZodObject="ZodObject",a.ZodUnion="ZodUnion",a.ZodDiscriminatedUnion="ZodDiscriminatedUnion",a.ZodIntersection="ZodIntersection",a.ZodTuple="ZodTuple",a.ZodRecord="ZodRecord",a.ZodMap="ZodMap",a.ZodSet="ZodSet",a.ZodFunction="ZodFunction",a.ZodLazy="ZodLazy",a.ZodLiteral="ZodLiteral",a.ZodEnum="ZodEnum",a.ZodEffects="ZodEffects",a.ZodNativeEnum="ZodNativeEnum",a.ZodOptional="ZodOptional",a.ZodNullable="ZodNullable",a.ZodDefault="ZodDefault",a.ZodCatch="ZodCatch",a.ZodPromise="ZodPromise",a.ZodBranded="ZodBranded",a.ZodPipeline="ZodPipeline",a.ZodReadonly="ZodReadonly"})(B||(B={}));var pl=(a,e={message:`Input not instance of ${a.name}`})=>Cs(t=>t instanceof a,e),As=pr.create,Ds=Tr.create,ml=st.create,vl=Or.create,ks=Ir.create,gl=$r.create,yl=et.create,_l=Cr.create,El=Ar.create,Sl=mr.create,bl=lr.create,Pl=Be.create,xl=rt.create,wl=cr.create,Rl=Ce.create,Tl=Ce.strictCreate,Ol=Dr.create,Il=$t.create,$l=kr.create,Cl=Ye.create,Al=Ct.create,Dl=tt.create,kl=at.create,Nl=At.create,Ll=Nr.create,jl=Lr.create,Ml=jr.create,Fl=Mr.create,ql=vr.create,Ul=Ue.create,Vl=Fe.create,Hl=Xe.create,zl=Ue.createWithPreprocess,Bl=vt.create,Wl=()=>As().optional(),Ql=()=>Ds().optional(),Zl=()=>ks().optional(),Kl={string:(a=>pr.create({...a,coerce:!0})),number:(a=>Tr.create({...a,coerce:!0})),boolean:(a=>Ir.create({...a,coerce:!0})),bigint:(a=>Or.create({...a,coerce:!0})),date:(a=>$r.create({...a,coerce:!0}))};var Gl=z;var Sa="2025-06-18";var Ns=[Sa,"2025-03-26","2024-11-05","2024-10-07"],Dt="2.0",Ls=o.union([o.string(),o.number().int()]),js=o.string(),Jl=o.object({progressToken:o.optional(Ls)}).passthrough(),Ve=o.object({_meta:o.optional(Jl)}).passthrough(),Ae=o.object({method:o.string(),params:o.optional(Ve)}),gt=o.object({_meta:o.optional(o.object({}).passthrough())}).passthrough(),er=o.object({method:o.string(),params:o.optional(gt)}),He=o.object({_meta:o.optional(o.object({}).passthrough())}).passthrough(),kt=o.union([o.string(),o.number().int()]),Ms=o.object({jsonrpc:o.literal(Dt),id:kt}).merge(Ae).strict(),Fs=a=>Ms.safeParse(a).success,qs=o.object({jsonrpc:o.literal(Dt)}).merge(er).strict(),Us=a=>qs.safeParse(a).success,Vs=o.object({jsonrpc:o.literal(Dt),id:kt,result:He}).strict(),ba=a=>Vs.safeParse(a).success,We;(function(a){a[a.ConnectionClosed=-32e3]="ConnectionClosed",a[a.RequestTimeout=-32001]="RequestTimeout",a[a.ParseError=-32700]="ParseError",a[a.InvalidRequest=-32600]="InvalidRequest",a[a.MethodNotFound=-32601]="MethodNotFound",a[a.InvalidParams=-32602]="InvalidParams",a[a.InternalError=-32603]="InternalError"})(We||(We={}));var Hs=o.object({jsonrpc:o.literal(Dt),id:kt,error:o.object({code:o.number().int(),message:o.string(),data:o.optional(o.unknown())})}).strict(),zs=a=>Hs.safeParse(a).success,Bs=o.union([Ms,qs,Vs,Hs]),Nt=He.strict(),Lt=er.extend({method:o.literal("notifications/cancelled"),params:gt.extend({requestId:kt,reason:o.string().optional()})}),Yl=o.object({src:o.string(),mimeType:o.optional(o.string()),sizes:o.optional(o.array(o.string()))}).passthrough(),yt=o.object({icons:o.array(Yl).optional()}).passthrough(),_t=o.object({name:o.string(),title:o.optional(o.string())}).passthrough(),Ws=_t.extend({version:o.string(),websiteUrl:o.optional(o.string())}).merge(yt),Xl=o.object({experimental:o.optional(o.object({}).passthrough()),sampling:o.optional(o.object({}).passthrough()),elicitation:o.optional(o.object({}).passthrough()),roots:o.optional(o.object({listChanged:o.optional(o.boolean())}).passthrough())}).passthrough(),Pa=Ae.extend({method:o.literal("initialize"),params:Ve.extend({protocolVersion:o.string(),capabilities:Xl,clientInfo:Ws})});var ec=o.object({experimental:o.optional(o.object({}).passthrough()),logging:o.optional(o.object({}).passthrough()),completions:o.optional(o.object({}).passthrough()),prompts:o.optional(o.object({listChanged:o.optional(o.boolean())}).passthrough()),resources:o.optional(o.object({subscribe:o.optional(o.boolean()),listChanged:o.optional(o.boolean())}).passthrough()),tools:o.optional(o.object({listChanged:o.optional(o.boolean())}).passthrough())}).passthrough(),rc=He.extend({protocolVersion:o.string(),capabilities:ec,serverInfo:Ws,instructions:o.optional(o.string())}),xa=er.extend({method:o.literal("notifications/initialized")});var jt=Ae.extend({method:o.literal("ping")}),tc=o.object({progress:o.number(),total:o.optional(o.number()),message:o.optional(o.string())}).passthrough(),Mt=er.extend({method:o.literal("notifications/progress"),params:gt.merge(tc).extend({progressToken:Ls})}),Ft=Ae.extend({params:Ve.extend({cursor:o.optional(js)}).optional()}),qt=He.extend({nextCursor:o.optional(js)}),Qs=o.object({uri:o.string(),mimeType:o.optional(o.string()),_meta:o.optional(o.object({}).passthrough())}).passthrough(),Zs=Qs.extend({text:o.string()}),wa=o.string().refine(a=>{try{return atob(a),!0}catch{return!1}},{message:"Invalid Base64 string"}),Ks=Qs.extend({blob:wa}),Gs=_t.extend({uri:o.string(),description:o.optional(o.string()),mimeType:o.optional(o.string()),_meta:o.optional(o.object({}).passthrough())}).merge(yt),ac=_t.extend({uriTemplate:o.string(),description:o.optional(o.string()),mimeType:o.optional(o.string()),_meta:o.optional(o.object({}).passthrough())}).merge(yt),sc=Ft.extend({method:o.literal("resources/list")}),nc=qt.extend({resources:o.array(Gs)}),ic=Ft.extend({method:o.literal("resources/templates/list")}),oc=qt.extend({resourceTemplates:o.array(ac)}),lc=Ae.extend({method:o.literal("resources/read"),params:Ve.extend({uri:o.string()})}),cc=He.extend({contents:o.array(o.union([Zs,Ks]))}),uc=er.extend({method:o.literal("notifications/resources/list_changed")}),dc=Ae.extend({method:o.literal("resources/subscribe"),params:Ve.extend({uri:o.string()})}),fc=Ae.extend({method:o.literal("resources/unsubscribe"),params:Ve.extend({uri:o.string()})}),hc=er.extend({method:o.literal("notifications/resources/updated"),params:gt.extend({uri:o.string()})}),pc=o.object({name:o.string(),description:o.optional(o.string()),required:o.optional(o.boolean())}).passthrough(),mc=_t.extend({description:o.optional(o.string()),arguments:o.optional(o.array(pc)),_meta:o.optional(o.object({}).passthrough())}).merge(yt),vc=Ft.extend({method:o.literal("prompts/list")}),gc=qt.extend({prompts:o.array(mc)}),yc=Ae.extend({method:o.literal("prompts/get"),params:Ve.extend({name:o.string(),arguments:o.optional(o.record(o.string()))})}),Ra=o.object({type:o.literal("text"),text:o.string(),_meta:o.optional(o.object({}).passthrough())}).passthrough(),Ta=o.object({type:o.literal("image"),data:wa,mimeType:o.string(),_meta:o.optional(o.object({}).passthrough())}).passthrough(),Oa=o.object({type:o.literal("audio"),data:wa,mimeType:o.string(),_meta:o.optional(o.object({}).passthrough())}).passthrough(),_c=o.object({type:o.literal("resource"),resource:o.union([Zs,Ks]),_meta:o.optional(o.object({}).passthrough())}).passthrough(),Ec=Gs.extend({type:o.literal("resource_link")}),Js=o.union([Ra,Ta,Oa,Ec,_c]),Sc=o.object({role:o.enum(["user","assistant"]),content:Js}).passthrough(),bc=He.extend({description:o.optional(o.string()),messages:o.array(Sc)}),Pc=er.extend({method:o.literal("notifications/prompts/list_changed")}),xc=o.object({title:o.optional(o.string()),readOnlyHint:o.optional(o.boolean()),destructiveHint:o.optional(o.boolean()),idempotentHint:o.optional(o.boolean()),openWorldHint:o.optional(o.boolean())}).passthrough(),wc=_t.extend({description:o.optional(o.string()),inputSchema:o.object({type:o.literal("object"),properties:o.optional(o.object({}).passthrough()),required:o.optional(o.array(o.string()))}).passthrough(),outputSchema:o.optional(o.object({type:o.literal("object"),properties:o.optional(o.object({}).passthrough()),required:o.optional(o.array(o.string()))}).passthrough()),annotations:o.optional(xc),_meta:o.optional(o.object({}).passthrough())}).merge(yt),Ia=Ft.extend({method:o.literal("tools/list")}),Rc=qt.extend({tools:o.array(wc)}),Ys=He.extend({content:o.array(Js).default([]),structuredContent:o.object({}).passthrough().optional(),isError:o.optional(o.boolean())}),pf=Ys.or(He.extend({toolResult:o.unknown()})),$a=Ae.extend({method:o.literal("tools/call"),params:Ve.extend({name:o.string(),arguments:o.optional(o.record(o.unknown()))})}),Tc=er.extend({method:o.literal("notifications/tools/list_changed")}),Et=o.enum(["debug","info","notice","warning","error","critical","alert","emergency"]),Ca=Ae.extend({method:o.literal("logging/setLevel"),params:Ve.extend({level:Et})}),Oc=er.extend({method:o.literal("notifications/message"),params:gt.extend({level:Et,logger:o.optional(o.string()),data:o.unknown()})}),Ic=o.object({name:o.string().optional()}).passthrough(),$c=o.object({hints:o.optional(o.array(Ic)),costPriority:o.optional(o.number().min(0).max(1)),speedPriority:o.optional(o.number().min(0).max(1)),intelligencePriority:o.optional(o.number().min(0).max(1))}).passthrough(),Cc=o.object({role:o.enum(["user","assistant"]),content:o.union([Ra,Ta,Oa])}).passthrough(),Ac=Ae.extend({method:o.literal("sampling/createMessage"),params:Ve.extend({messages:o.array(Cc),systemPrompt:o.optional(o.string()),includeContext:o.optional(o.enum(["none","thisServer","allServers"])),temperature:o.optional(o.number()),maxTokens:o.number().int(),stopSequences:o.optional(o.array(o.string())),metadata:o.optional(o.object({}).passthrough()),modelPreferences:o.optional($c)})}),Aa=He.extend({model:o.string(),stopReason:o.optional(o.enum(["endTurn","stopSequence","maxTokens"]).or(o.string())),role:o.enum(["user","assistant"]),content:o.discriminatedUnion("type",[Ra,Ta,Oa])}),Dc=o.object({type:o.literal("boolean"),title:o.optional(o.string()),description:o.optional(o.string()),default:o.optional(o.boolean())}).passthrough(),kc=o.object({type:o.literal("string"),title:o.optional(o.string()),description:o.optional(o.string()),minLength:o.optional(o.number()),maxLength:o.optional(o.number()),format:o.optional(o.enum(["email","uri","date","date-time"]))}).passthrough(),Nc=o.object({type:o.enum(["number","integer"]),title:o.optional(o.string()),description:o.optional(o.string()),minimum:o.optional(o.number()),maximum:o.optional(o.number())}).passthrough(),Lc=o.object({type:o.literal("string"),title:o.optional(o.string()),description:o.optional(o.string()),enum:o.array(o.string()),enumNames:o.optional(o.array(o.string()))}).passthrough(),jc=o.union([Dc,kc,Nc,Lc]),Mc=Ae.extend({method:o.literal("elicitation/create"),params:Ve.extend({message:o.string(),requestedSchema:o.object({type:o.literal("object"),properties:o.record(o.string(),jc),required:o.optional(o.array(o.string()))}).passthrough()})}),Da=He.extend({action:o.enum(["accept","decline","cancel"]),content:o.optional(o.record(o.string(),o.unknown()))}),Fc=o.object({type:o.literal("ref/resource"),uri:o.string()}).passthrough();var qc=o.object({type:o.literal("ref/prompt"),name:o.string()}).passthrough(),Uc=Ae.extend({method:o.literal("completion/complete"),params:Ve.extend({ref:o.union([qc,Fc]),argument:o.object({name:o.string(),value:o.string()}).passthrough(),context:o.optional(o.object({arguments:o.optional(o.record(o.string(),o.string()))}))})}),Vc=He.extend({completion:o.object({values:o.array(o.string()).max(100),total:o.optional(o.number().int()),hasMore:o.optional(o.boolean())}).passthrough()}),Hc=o.object({uri:o.string().startsWith("file://"),name:o.optional(o.string()),_meta:o.optional(o.object({}).passthrough())}).passthrough(),zc=Ae.extend({method:o.literal("roots/list")}),ka=He.extend({roots:o.array(Hc)}),Bc=er.extend({method:o.literal("notifications/roots/list_changed")}),mf=o.union([jt,Pa,Uc,Ca,yc,vc,sc,ic,lc,dc,fc,$a,Ia]),vf=o.union([Lt,Mt,xa,Bc]),gf=o.union([Nt,Aa,Da,ka]),yf=o.union([jt,Ac,Mc,zc]),_f=o.union([Lt,Mt,Oc,hc,uc,Tc,Pc]),Ef=o.union([Nt,rc,Vc,bc,gc,nc,oc,cc,Ys,Rc]),Qe=class extends Error{constructor(e,t,s){super(`MCP error ${e}: ${t}`),this.code=e,this.data=s,this.name="McpError"}};var Wc=6e4,Ut=class{constructor(e){this._options=e,this._requestMessageId=0,this._requestHandlers=new Map,this._requestHandlerAbortControllers=new Map,this._notificationHandlers=new Map,this._responseHandlers=new Map,this._progressHandlers=new Map,this._timeoutInfo=new Map,this._pendingDebouncedNotifications=new Set,this.setNotificationHandler(Lt,t=>{let s=this._requestHandlerAbortControllers.get(t.params.requestId);s?.abort(t.params.reason)}),this.setNotificationHandler(Mt,t=>{this._onprogress(t)}),this.setRequestHandler(jt,t=>({}))}_setupTimeout(e,t,s,r,n=!1){this._timeoutInfo.set(e,{timeoutId:setTimeout(r,t),startTime:Date.now(),timeout:t,maxTotalTimeout:s,resetTimeoutOnProgress:n,onTimeout:r})}_resetTimeout(e){let t=this._timeoutInfo.get(e);if(!t)return!1;let s=Date.now()-t.startTime;if(t.maxTotalTimeout&&s>=t.maxTotalTimeout)throw this._timeoutInfo.delete(e),new Qe(We.RequestTimeout,"Maximum total timeout exceeded",{maxTotalTimeout:t.maxTotalTimeout,totalElapsed:s});return clearTimeout(t.timeoutId),t.timeoutId=setTimeout(t.onTimeout,t.timeout),!0}_cleanupTimeout(e){let t=this._timeoutInfo.get(e);t&&(clearTimeout(t.timeoutId),this._timeoutInfo.delete(e))}async connect(e){var t,s,r;this._transport=e;let n=(t=this.transport)===null||t===void 0?void 0:t.onclose;this._transport.onclose=()=>{n?.(),this._onclose()};let l=(s=this.transport)===null||s===void 0?void 0:s.onerror;this._transport.onerror=f=>{l?.(f),this._onerror(f)};let i=(r=this._transport)===null||r===void 0?void 0:r.onmessage;this._transport.onmessage=(f,d)=>{i?.(f,d),ba(f)||zs(f)?this._onresponse(f):Fs(f)?this._onrequest(f,d):Us(f)?this._onnotification(f):this._onerror(new Error(`Unknown message type: ${JSON.stringify(f)}`))},await this._transport.start()}_onclose(){var e;let t=this._responseHandlers;this._responseHandlers=new Map,this._progressHandlers.clear(),this._pendingDebouncedNotifications.clear(),this._transport=void 0,(e=this.onclose)===null||e===void 0||e.call(this);let s=new Qe(We.ConnectionClosed,"Connection closed");for(let r of t.values())r(s)}_onerror(e){var t;(t=this.onerror)===null||t===void 0||t.call(this,e)}_onnotification(e){var t;let s=(t=this._notificationHandlers.get(e.method))!==null&&t!==void 0?t:this.fallbackNotificationHandler;s!==void 0&&Promise.resolve().then(()=>s(e)).catch(r=>this._onerror(new Error(`Uncaught error in notification handler: ${r}`)))}_onrequest(e,t){var s,r;let n=(s=this._requestHandlers.get(e.method))!==null&&s!==void 0?s:this.fallbackRequestHandler,l=this._transport;if(n===void 0){l?.send({jsonrpc:"2.0",id:e.id,error:{code:We.MethodNotFound,message:"Method not found"}}).catch(d=>this._onerror(new Error(`Failed to send an error response: ${d}`)));return}let i=new AbortController;this._requestHandlerAbortControllers.set(e.id,i);let f={signal:i.signal,sessionId:l?.sessionId,_meta:(r=e.params)===null||r===void 0?void 0:r._meta,sendNotification:d=>this.notification(d,{relatedRequestId:e.id}),sendRequest:(d,h,m)=>this.request(d,h,{...m,relatedRequestId:e.id}),authInfo:t?.authInfo,requestId:e.id,requestInfo:t?.requestInfo};Promise.resolve().then(()=>n(e,f)).then(d=>{if(!i.signal.aborted)return l?.send({result:d,jsonrpc:"2.0",id:e.id})},d=>{var h;if(!i.signal.aborted)return l?.send({jsonrpc:"2.0",id:e.id,error:{code:Number.isSafeInteger(d.code)?d.code:We.InternalError,message:(h=d.message)!==null&&h!==void 0?h:"Internal error"}})}).catch(d=>this._onerror(new Error(`Failed to send response: ${d}`))).finally(()=>{this._requestHandlerAbortControllers.delete(e.id)})}_onprogress(e){let{progressToken:t,...s}=e.params,r=Number(t),n=this._progressHandlers.get(r);if(!n){this._onerror(new Error(`Received a progress notification for an unknown token: ${JSON.stringify(e)}`));return}let l=this._responseHandlers.get(r),i=this._timeoutInfo.get(r);if(i&&l&&i.resetTimeoutOnProgress)try{this._resetTimeout(r)}catch(f){l(f);return}n(s)}_onresponse(e){let t=Number(e.id),s=this._responseHandlers.get(t);if(s===void 0){this._onerror(new Error(`Received a response for an unknown message ID: ${JSON.stringify(e)}`));return}if(this._responseHandlers.delete(t),this._progressHandlers.delete(t),this._cleanupTimeout(t),ba(e))s(e);else{let r=new Qe(e.error.code,e.error.message,e.error.data);s(r)}}get transport(){return this._transport}async close(){var e;await((e=this._transport)===null||e===void 0?void 0:e.close())}request(e,t,s){let{relatedRequestId:r,resumptionToken:n,onresumptiontoken:l}=s??{};return new Promise((i,f)=>{var d,h,m,E,c,y;if(!this._transport){f(new Error("Not connected"));return}((d=this._options)===null||d===void 0?void 0:d.enforceStrictCapabilities)===!0&&this.assertCapabilityForMethod(e.method),(h=s?.signal)===null||h===void 0||h.throwIfAborted();let _=this._requestMessageId++,v={...e,jsonrpc:"2.0",id:_};s?.onprogress&&(this._progressHandlers.set(_,s.onprogress),v.params={...e.params,_meta:{...((m=e.params)===null||m===void 0?void 0:m._meta)||{},progressToken:_}});let P=R=>{var I;this._responseHandlers.delete(_),this._progressHandlers.delete(_),this._cleanupTimeout(_),(I=this._transport)===null||I===void 0||I.send({jsonrpc:"2.0",method:"notifications/cancelled",params:{requestId:_,reason:String(R)}},{relatedRequestId:r,resumptionToken:n,onresumptiontoken:l}).catch($=>this._onerror(new Error(`Failed to send cancellation: ${$}`))),f(R)};this._responseHandlers.set(_,R=>{var I;if(!(!((I=s?.signal)===null||I===void 0)&&I.aborted)){if(R instanceof Error)return f(R);try{let $=t.parse(R.result);i($)}catch($){f($)}}}),(E=s?.signal)===null||E===void 0||E.addEventListener("abort",()=>{var R;P((R=s?.signal)===null||R===void 0?void 0:R.reason)});let T=(c=s?.timeout)!==null&&c!==void 0?c:Wc,x=()=>P(new Qe(We.RequestTimeout,"Request timed out",{timeout:T}));this._setupTimeout(_,T,s?.maxTotalTimeout,x,(y=s?.resetTimeoutOnProgress)!==null&&y!==void 0?y:!1),this._transport.send(v,{relatedRequestId:r,resumptionToken:n,onresumptiontoken:l}).catch(R=>{this._cleanupTimeout(_),f(R)})})}async notification(e,t){var s,r;if(!this._transport)throw new Error("Not connected");if(this.assertNotificationCapability(e.method),((r=(s=this._options)===null||s===void 0?void 0:s.debouncedNotificationMethods)!==null&&r!==void 0?r:[]).includes(e.method)&&!e.params&&!t?.relatedRequestId){if(this._pendingDebouncedNotifications.has(e.method))return;this._pendingDebouncedNotifications.add(e.method),Promise.resolve().then(()=>{var f;if(this._pendingDebouncedNotifications.delete(e.method),!this._transport)return;let d={...e,jsonrpc:"2.0"};(f=this._transport)===null||f===void 0||f.send(d,t).catch(h=>this._onerror(h))});return}let i={...e,jsonrpc:"2.0"};await this._transport.send(i,t)}setRequestHandler(e,t){let s=e.shape.method.value;this.assertRequestHandlerCapability(s),this._requestHandlers.set(s,(r,n)=>Promise.resolve(t(e.parse(r),n)))}removeRequestHandler(e){this._requestHandlers.delete(e)}assertCanSetRequestHandler(e){if(this._requestHandlers.has(e))throw new Error(`A request handler for ${e} already exists, which would be overridden`)}setNotificationHandler(e,t){this._notificationHandlers.set(e.shape.method.value,s=>Promise.resolve(t(e.parse(s))))}removeNotificationHandler(e){this._notificationHandlers.delete(e)}};function Xs(a,e){return Object.entries(e).reduce((t,[s,r])=>(r&&typeof r=="object"?t[s]=t[s]?{...t[s],...r}:r:t[s]=r,t),{...a})}var to=ga(ro(),1),ia=class extends Ut{constructor(e,t){var s;super(t),this._serverInfo=e,this._loggingLevels=new Map,this.LOG_LEVEL_SEVERITY=new Map(Et.options.map((r,n)=>[r,n])),this.isMessageIgnored=(r,n)=>{let l=this._loggingLevels.get(n);return l?this.LOG_LEVEL_SEVERITY.get(r)this._oninitialize(r)),this.setNotificationHandler(xa,()=>{var r;return(r=this.oninitialized)===null||r===void 0?void 0:r.call(this)}),this._capabilities.logging&&this.setRequestHandler(Ca,async(r,n)=>{var l;let i=n.sessionId||((l=n.requestInfo)===null||l===void 0?void 0:l.headers["mcp-session-id"])||void 0,{level:f}=r.params,d=Et.safeParse(f);return d.success&&this._loggingLevels.set(i,d.data),{}})}registerCapabilities(e){if(this.transport)throw new Error("Cannot register capabilities after connecting to transport");this._capabilities=Xs(this._capabilities,e)}assertCapabilityForMethod(e){var t,s,r;switch(e){case"sampling/createMessage":if(!(!((t=this._clientCapabilities)===null||t===void 0)&&t.sampling))throw new Error(`Client does not support sampling (required for ${e})`);break;case"elicitation/create":if(!(!((s=this._clientCapabilities)===null||s===void 0)&&s.elicitation))throw new Error(`Client does not support elicitation (required for ${e})`);break;case"roots/list":if(!(!((r=this._clientCapabilities)===null||r===void 0)&&r.roots))throw new Error(`Client does not support listing roots (required for ${e})`);break;case"ping":break}}assertNotificationCapability(e){switch(e){case"notifications/message":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"notifications/resources/updated":case"notifications/resources/list_changed":if(!this._capabilities.resources)throw new Error(`Server does not support notifying about resources (required for ${e})`);break;case"notifications/tools/list_changed":if(!this._capabilities.tools)throw new Error(`Server does not support notifying of tool list changes (required for ${e})`);break;case"notifications/prompts/list_changed":if(!this._capabilities.prompts)throw new Error(`Server does not support notifying of prompt list changes (required for ${e})`);break;case"notifications/cancelled":break;case"notifications/progress":break}}assertRequestHandlerCapability(e){switch(e){case"sampling/createMessage":if(!this._capabilities.sampling)throw new Error(`Server does not support sampling (required for ${e})`);break;case"logging/setLevel":if(!this._capabilities.logging)throw new Error(`Server does not support logging (required for ${e})`);break;case"prompts/get":case"prompts/list":if(!this._capabilities.prompts)throw new Error(`Server does not support prompts (required for ${e})`);break;case"resources/list":case"resources/templates/list":case"resources/read":if(!this._capabilities.resources)throw new Error(`Server does not support resources (required for ${e})`);break;case"tools/call":case"tools/list":if(!this._capabilities.tools)throw new Error(`Server does not support tools (required for ${e})`);break;case"ping":case"initialize":break}}async _oninitialize(e){let t=e.params.protocolVersion;return this._clientCapabilities=e.params.capabilities,this._clientVersion=e.params.clientInfo,{protocolVersion:Ns.includes(t)?t:Sa,capabilities:this.getCapabilities(),serverInfo:this._serverInfo,...this._instructions&&{instructions:this._instructions}}}getClientCapabilities(){return this._clientCapabilities}getClientVersion(){return this._clientVersion}getCapabilities(){return this._capabilities}async ping(){return this.request({method:"ping"},Nt)}async createMessage(e,t){return this.request({method:"sampling/createMessage",params:e},Aa,t)}async elicitInput(e,t){let s=await this.request({method:"elicitation/create",params:e},Da,t);if(s.action==="accept"&&s.content)try{let r=new to.default,n=r.compile(e.requestedSchema);if(!n(s.content))throw new Qe(We.InvalidParams,`Elicitation response content does not match requested schema: ${r.errorsText(n.errors)}`)}catch(r){throw r instanceof Qe?r:new Qe(We.InternalError,`Error validating elicitation response: ${r}`)}return s}async listRoots(e,t){return this.request({method:"roots/list",params:e},ka,t)}async sendLoggingMessage(e,t){if(this._capabilities.logging&&!this.isMessageIgnored(e.level,t))return this.notification({method:"notifications/message",params:e})}async sendResourceUpdated(e){return this.notification({method:"notifications/resources/updated",params:e})}async sendResourceListChanged(){return this.notification({method:"notifications/resources/list_changed"})}async sendToolListChanged(){return this.notification({method:"notifications/tools/list_changed"})}async sendPromptListChanged(){return this.notification({method:"notifications/prompts/list_changed"})}};var ns=ga(require("node:process"),1);var oa=class{append(e){this._buffer=this._buffer?Buffer.concat([this._buffer,e]):e}readMessage(){if(!this._buffer)return null;let e=this._buffer.indexOf(` `);if(e===-1)return null;let t=this._buffer.toString("utf8",0,e).replace(/\r$/,"");return this._buffer=this._buffer.subarray(e+1),wd(t)}clear(){this._buffer=void 0}};function wd(a){return Bs.parse(JSON.parse(a))}function ao(a){return JSON.stringify(a)+` -`}var la=class{constructor(e=ns.default.stdin,t=ns.default.stdout){this._stdin=e,this._stdout=t,this._readBuffer=new oa,this._started=!1,this._ondata=s=>{this._readBuffer.append(s),this.processReadBuffer()},this._onerror=s=>{var r;(r=this.onerror)===null||r===void 0||r.call(this,s)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(var e,t;;)try{let s=this._readBuffer.readMessage();if(s===null)break;(e=this.onmessage)===null||e===void 0||e.call(this,s)}catch(s){(t=this.onerror)===null||t===void 0||t.call(this,s)}}async close(){var e;this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),(e=this.onclose)===null||e===void 0||e.call(this)}send(e){return new Promise(t=>{let s=ao(e);this._stdout.write(s)?t():this._stdout.once("drain",t)})}};var nt=require("fs"),io=require("path"),oo=require("os");var so="bugfix,feature,refactor,discovery,decision,change",no="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var ur=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:(0,io.join)((0,oo.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:so,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:no,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let t=this.get(e);return parseInt(t,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,nt.existsSync)(e))return this.getAllDefaults();let t=(0,nt.readFileSync)(e,"utf-8"),s=JSON.parse(t),r=s;if(s.env&&typeof s.env=="object"){r=s.env;try{(0,nt.writeFileSync)(e,JSON.stringify(r,null,2),"utf-8"),me.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(l){me.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},l)}}let n={...this.DEFAULTS};for(let l of Object.keys(this.DEFAULTS))r[l]!==void 0&&(n[l]=r[l]);return n}catch(t){return me.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},t),this.getAllDefaults()}}};var is=(n=>(n[n.DEBUG=0]="DEBUG",n[n.INFO=1]="INFO",n[n.WARN=2]="WARN",n[n.ERROR=3]="ERROR",n[n.SILENT=4]="SILENT",n))(is||{}),os=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let e=ur.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=is[e]??1}return this.level}correlationId(e,t){return`obs-${e}-${t}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} +`}var la=class{constructor(e=ns.default.stdin,t=ns.default.stdout){this._stdin=e,this._stdout=t,this._readBuffer=new oa,this._started=!1,this._ondata=s=>{this._readBuffer.append(s),this.processReadBuffer()},this._onerror=s=>{var r;(r=this.onerror)===null||r===void 0||r.call(this,s)}}async start(){if(this._started)throw new Error("StdioServerTransport already started! If using Server class, note that connect() calls start() automatically.");this._started=!0,this._stdin.on("data",this._ondata),this._stdin.on("error",this._onerror)}processReadBuffer(){for(var e,t;;)try{let s=this._readBuffer.readMessage();if(s===null)break;(e=this.onmessage)===null||e===void 0||e.call(this,s)}catch(s){(t=this.onerror)===null||t===void 0||t.call(this,s)}}async close(){var e;this._stdin.off("data",this._ondata),this._stdin.off("error",this._onerror),this._stdin.listenerCount("data")===0&&this._stdin.pause(),this._readBuffer.clear(),(e=this.onclose)===null||e===void 0||e.call(this)}send(e){return new Promise(t=>{let s=ao(e);this._stdout.write(s)?t():this._stdout.once("drain",t)})}};var nt=require("fs"),io=require("path"),oo=require("os");var so="bugfix,feature,refactor,discovery,decision,change",no="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var ur=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:(0,io.join)((0,oo.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:so,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:no,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let t=this.get(e);return parseInt(t,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,nt.existsSync)(e))return this.getAllDefaults();let t=(0,nt.readFileSync)(e,"utf-8"),s=JSON.parse(t),r=s;if(s.env&&typeof s.env=="object"){r=s.env;try{(0,nt.writeFileSync)(e,JSON.stringify(r,null,2),"utf-8"),me.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(l){me.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},l)}}let n={...this.DEFAULTS};for(let l of Object.keys(this.DEFAULTS))r[l]!==void 0&&(n[l]=r[l]);return n}catch(t){return me.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},t),this.getAllDefaults()}}};var is=(n=>(n[n.DEBUG=0]="DEBUG",n[n.INFO=1]="INFO",n[n.WARN=2]="WARN",n[n.ERROR=3]="ERROR",n[n.SILENT=4]="SILENT",n))(is||{}),os=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let e=ur.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=is[e]??1}return this.level}correlationId(e,t){return`obs-${e}-${t}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} ${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let t=Object.keys(e);return t.length===0?"{}":t.length<=3?JSON.stringify(e):`{${t.length} keys: ${t.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,t){if(!t)return e;let s=typeof t=="string"?JSON.parse(t):t;if(e==="Bash"&&s.command)return`${e}(${s.command})`;if(s.file_path)return`${e}(${s.file_path})`;if(s.notebook_path)return`${e}(${s.notebook_path})`;if(e==="Glob"&&s.pattern)return`${e}(${s.pattern})`;if(e==="Grep"&&s.pattern)return`${e}(${s.pattern})`;if(s.url)return`${e}(${s.url})`;if(s.query)return`${e}(${s.query})`;if(e==="Task"){if(s.subagent_type)return`${e}(${s.subagent_type})`;if(s.description)return`${e}(${s.description})`}return e==="Skill"&&s.skill?`${e}(${s.skill})`:e==="LSP"&&s.operation?`${e}(${s.operation})`:e}formatTimestamp(e){let t=e.getFullYear(),s=String(e.getMonth()+1).padStart(2,"0"),r=String(e.getDate()).padStart(2,"0"),n=String(e.getHours()).padStart(2,"0"),l=String(e.getMinutes()).padStart(2,"0"),i=String(e.getSeconds()).padStart(2,"0"),f=String(e.getMilliseconds()).padStart(3,"0");return`${t}-${s}-${r} ${n}:${l}:${i}.${f}`}log(e,t,s,r,n){if(e0&&(m=` {${Object.entries(v).map(([T,x])=>`${T}=${x}`).join(", ")}}`)}let E=`[${l}] [${i}] [${f}] ${d}${s}${m}${h}`;e===3?console.error(E):console.log(E)}debug(e,t,s,r){this.log(0,e,t,s,r)}info(e,t,s,r){this.log(1,e,t,s,r)}warn(e,t,s,r){this.log(2,e,t,s,r)}error(e,t,s,r){this.log(3,e,t,s,r)}dataIn(e,t,s,r){this.info(e,`\u2192 ${t}`,s,r)}dataOut(e,t,s,r){this.info(e,`\u2190 ${t}`,s,r)}success(e,t,s,r){this.info(e,`\u2713 ${t}`,s,r)}failure(e,t,s,r){this.error(e,`\u2717 ${t}`,s,r)}timing(e,t,s,r){this.info(e,`\u23F1 ${t}`,r,{duration:`${s}ms`})}happyPathError(e,t,s,r,n=""){let d=((new Error().stack||"").split(` `)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),h=d?`${d[1].split("/").pop()}:${d[2]}`:"unknown",m={...s,location:h};return this.warn(e,`[HAPPY-PATH] ${t}`,m,r),n}},me=new os;var da=ga(require("path"),1),co=require("os");var ls={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function lo(a){return process.platform==="win32"?Math.round(a*ls.WINDOWS_MULTIPLIER):a}var Nh=da.default.join((0,co.homedir)(),".claude","plugins","marketplaces","thedotmack"),Lh=lo(ls.HEALTH_CHECK),ca=null,ua=null;function uo(){if(ca!==null)return ca;let a=da.default.join(ur.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),e=ur.loadFromFile(a);return ca=parseInt(e.CLAUDE_MEM_WORKER_PORT,10),ca}function fo(){if(ua!==null)return ua;let a=da.default.join(ur.get("CLAUDE_MEM_DATA_DIR"),"settings.json");return ua=ur.loadFromFile(a).CLAUDE_MEM_WORKER_HOST,ua}console.log=(...a)=>console.error(...a);var Rd=uo(),Td=fo(),it=`http://${Td}:${Rd}`,bt={search:"/api/search",timeline:"/api/timeline",get_recent_context:"/api/context/recent",get_context_timeline:"/api/context/timeline",help:"/api/instructions"},cs={search:{query:{type:"string",description:"Full-text search query"},type:{type:"string",description:"Filter by type: tool_use, tool_result, prompt, summary"},obs_type:{type:"string",description:"Observation type filter"},concepts:{type:"string",description:"Comma-separated concept tags"},files:{type:"string",description:"Comma-separated file paths"},project:{type:"string",description:"Project name filter"},dateStart:{type:["string","number"],description:"Start date (ISO or timestamp)"},dateEnd:{type:["string","number"],description:"End date (ISO or timestamp)"},limit:{type:"number",description:"Max results (default: 10)"},offset:{type:"number",description:"Result offset for pagination"},orderBy:{type:"string",description:"Sort order: created_at, relevance"}},timeline:{query:{type:"string",description:"Search query to find anchor point"},anchor:{type:"number",description:"Observation ID as timeline center"},depth_before:{type:"number",description:"Observations before anchor (default: 5)"},depth_after:{type:"number",description:"Observations after anchor (default: 5)"},type:{type:"string",description:"Filter by type"},concepts:{type:"string",description:"Comma-separated concept tags"},files:{type:"string",description:"Comma-separated file paths"},project:{type:"string",description:"Project name filter"}},get_recent_context:{limit:{type:"number",description:"Max results (default: 20)"},type:{type:"string",description:"Filter by type"},concepts:{type:"string",description:"Comma-separated concept tags"},files:{type:"string",description:"Comma-separated file paths"},project:{type:"string",description:"Project name filter"},dateStart:{type:["string","number"],description:"Start date"},dateEnd:{type:["string","number"],description:"End date"}},get_context_timeline:{anchor:{type:"number",description:"Observation ID (required)",required:!0},depth_before:{type:"number",description:"Observations before anchor"},depth_after:{type:"number",description:"Observations after anchor"},type:{type:"string",description:"Filter by type"},concepts:{type:"string",description:"Comma-separated concept tags"},files:{type:"string",description:"Comma-separated file paths"},project:{type:"string",description:"Project name filter"}},get_observations:{ids:{type:"array",items:{type:"number"},description:"Array of observation IDs (required)",required:!0},orderBy:{type:"string",description:"Sort order"},limit:{type:"number",description:"Max results"},project:{type:"string",description:"Project filter"}},help:{operation:{type:"string",description:'Operation type: "observations", "timeline", "sessions", etc.'},topic:{type:"string",description:"Specific topic for help"}},get_observation:{id:{type:"number",description:"Observation ID (required)",required:!0}},get_session:{id:{type:"number",description:"Session ID (required)",required:!0}},get_prompt:{id:{type:"number",description:"Prompt ID (required)",required:!0}}};async function Pt(a,e){me.debug("SYSTEM","\u2192 Worker API",void 0,{endpoint:a,params:e});try{let t=new URLSearchParams;for(let[l,i]of Object.entries(e))i!=null&&t.append(l,String(i));let s=`${it}${a}?${t}`,r=await fetch(s);if(!r.ok){let l=await r.text();throw new Error(`Worker API error (${r.status}): ${l}`)}let n=await r.json();return me.debug("SYSTEM","\u2190 Worker API success",void 0,{endpoint:a}),n}catch(t){return me.error("SYSTEM","\u2190 Worker API error",void 0,{endpoint:a,error:t.message}),{content:[{type:"text",text:`Error calling Worker API: ${t.message}`}],isError:!0}}}async function us(a,e){me.debug("HTTP","Worker API request (path)",void 0,{endpoint:a,id:e});try{let t=`${it}${a}/${e}`,s=await fetch(t);if(!s.ok){let n=await s.text();throw new Error(`Worker API error (${s.status}): ${n}`)}let r=await s.json();return me.debug("HTTP","Worker API success (path)",void 0,{endpoint:a,id:e}),{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}catch(t){return me.error("HTTP","Worker API error (path)",void 0,{endpoint:a,id:e,error:t.message}),{content:[{type:"text",text:`Error calling Worker API: ${t.message}`}],isError:!0}}}async function Od(a,e){me.debug("HTTP","Worker API request (POST)",void 0,{endpoint:a});try{let t=`${it}${a}`,s=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!s.ok){let n=await s.text();throw new Error(`Worker API error (${s.status}): ${n}`)}let r=await s.json();return me.debug("HTTP","Worker API success (POST)",void 0,{endpoint:a}),{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}catch(t){return me.error("HTTP","Worker API error (POST)",void 0,{endpoint:a,error:t.message}),{content:[{type:"text",text:`Error calling Worker API: ${t.message}`}],isError:!0}}}async function Id(){try{return(await fetch(`${it}/api/health`)).ok}catch{return!1}}var ho=[{name:"get_schema",description:"Get parameter schema for a tool. Call get_schema(tool_name) for details",inputSchema:{type:"object",properties:{tool_name:{type:"string"}},required:["tool_name"]},handler:async a=>{let e=a.tool_name;if(typeof e!="string"||!Object.hasOwn(cs,e))return{content:[{type:"text",text:`Unknown tool: ${e} diff --git a/plugin/scripts/new-hook.js b/plugin/scripts/new-hook.js index 2887c408..8ea7a59b 100755 --- a/plugin/scripts/new-hook.js +++ b/plugin/scripts/new-hook.js @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import{stdin as k}from"process";var f=JSON.stringify({continue:!0,suppressOutput:!0});import C from"path";import{homedir as H}from"os";import{readFileSync as x}from"fs";import{readFileSync as P,writeFileSync as v,existsSync as w}from"fs";import{join as b}from"path";import{homedir as W}from"os";var D="bugfix,feature,refactor,discovery,decision,change",d="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:b(W(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:D,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:d,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!w(t))return this.getAllDefaults();let r=P(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),_.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(E){_.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},E)}}let s={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(s[E]=n[E]);return s}catch(r){return _.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var T=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(T||{}),O=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=g.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=T[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +import{stdin as k}from"process";var f=JSON.stringify({continue:!0,suppressOutput:!0});import C from"path";import{homedir as H}from"os";import{readFileSync as x}from"fs";import{readFileSync as P,writeFileSync as v,existsSync as w}from"fs";import{join as b}from"path";import{homedir as W}from"os";var D="bugfix,feature,refactor,discovery,decision,change",d="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:b(W(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:D,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:d,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!w(t))return this.getAllDefaults();let r=P(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),_.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(E){_.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},E)}}let s={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(s[E]=n[E]);return s}catch(r){return _.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var T=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(T||{}),O=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=g.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=T[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),c=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${s}:${E}:${i}.${c}`}log(t,r,e,n,s){if(t0&&(u=` {${Object.entries(L).map(([y,$])=>`${y}=${$}`).join(", ")}}`)}let A=`[${E}] [${i}] [${c}] ${a}${e}${u}${l}`;t===3?console.error(A):console.log(A)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,s=""){let a=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",u={...e,location:l};return this.warn(t,`[HAPPY-PATH] ${r}`,u,n),s}},_=new O;var M={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function R(o){return process.platform==="win32"?Math.round(o*M.WINDOWS_MULTIPLIER):o}function h(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,s=e||"Worker service connection failed.",E=t?` (port ${t})`:"",i=`${s}${E} +`+JSON.stringify(s,null,2):l=" "+this.formatData(s));let u="";if(n){let{sessionId:Y,sdkSessionId:J,correlationId:q,...L}=n;Object.keys(L).length>0&&(u=` {${Object.entries(L).map(([y,$])=>`${y}=${$}`).join(", ")}}`)}let m=`[${E}] [${i}] [${c}] ${a}${e}${u}${l}`;t===3?console.error(m):console.log(m)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,s=""){let a=((new Error().stack||"").split(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",u={...e,location:l};return this.warn(t,`[HAPPY-PATH] ${r}`,u,n),s}},_=new O;var M={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function R(o){return process.platform==="win32"?Math.round(o*M.WINDOWS_MULTIPLIER):o}function I(o={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=o,s=e||"Worker service connection failed.",E=t?` (port ${t})`:"",i=`${s}${E} `;return i+=`To restart the worker: `,i+=`1. Exit Claude Code completely @@ -11,4 +11,4 @@ ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Obje If that doesn't work, try: /troubleshoot`),n&&(i=`Worker Error: ${n} -${i}`),i}var F=C.join(H(),".claude","plugins","marketplaces","thedotmack"),I=R(M.HEALTH_CHECK),S=null;function p(){if(S!==null)return S;let o=C.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(o);return S=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),S}async function G(){let o=p();return(await fetch(`http://127.0.0.1:${o}/api/readiness`,{signal:AbortSignal.timeout(I)})).ok}function K(){let o=C.join(F,"package.json");return JSON.parse(x(o,"utf-8")).version}async function j(){let o=p(),t=await fetch(`http://127.0.0.1:${o}/api/version`,{signal:AbortSignal.timeout(I)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function V(){let o=K(),t=await j();o!==t&&_.warn("SYSTEM","Worker version mismatch",{pluginVersion:o,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function U(){for(let r=0;r<25;r++){try{if(await G()){await V();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(h({port:p(),customPrefix:"Worker did not become ready within 5 seconds."}))}import X from"path";function N(o){if(!o||o.trim()==="")return _.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=X.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let s=`drive-${e[1].toUpperCase()}`;return _.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:s}),s}}return _.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}async function B(o){if(await U(),!o)throw new Error("newHook requires input");let{session_id:t,cwd:r,prompt:e}=o,n=N(r),s=p(),E=await fetch(`http://127.0.0.1:${s}/api/sessions/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claudeSessionId:t,project:n,prompt:e}),signal:AbortSignal.timeout(5e3)});if(!E.ok)throw new Error(`Session initialization failed: ${E.status}`);let i=await E.json(),c=i.sessionDbId,a=i.promptNumber;if(i.skipped&&i.reason==="private"){console.error(`[new-hook] Session ${c}, prompt #${a} (fully private - skipped)`),console.log(f);return}console.error(`[new-hook] Session ${c}, prompt #${a}`);let l=e.startsWith("/")?e.substring(1):e,u=await fetch(`http://127.0.0.1:${s}/sessions/${c}/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userPrompt:l,promptNumber:a}),signal:AbortSignal.timeout(5e3)});if(!u.ok)throw new Error(`SDK agent start failed: ${u.status}`);console.log(f)}var m="";k.on("data",o=>m+=o);k.on("end",async()=>{let o;try{o=m?JSON.parse(m):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await B(o)}); +${i}`),i}var F=C.join(H(),".claude","plugins","marketplaces","thedotmack"),h=R(M.HEALTH_CHECK),S=null;function p(){if(S!==null)return S;let o=C.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(o);return S=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),S}async function G(){let o=p();return(await fetch(`http://127.0.0.1:${o}/api/readiness`,{signal:AbortSignal.timeout(h)})).ok}function K(){let o=C.join(F,"package.json");return JSON.parse(x(o,"utf-8")).version}async function j(){let o=p(),t=await fetch(`http://127.0.0.1:${o}/api/version`,{signal:AbortSignal.timeout(h)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function V(){let o=K(),t=await j();o!==t&&_.warn("SYSTEM","Worker version mismatch",{pluginVersion:o,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function U(){for(let r=0;r<25;r++){try{if(await G()){await V();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(I({port:p(),customPrefix:"Worker did not become ready within 5 seconds."}))}import X from"path";function N(o){if(!o||o.trim()==="")return _.warn("PROJECT_NAME","Empty cwd provided, using fallback",{cwd:o}),"unknown-project";let t=X.basename(o);if(t===""){if(process.platform==="win32"){let e=o.match(/^([A-Z]):\\/i);if(e){let s=`drive-${e[1].toUpperCase()}`;return _.info("PROJECT_NAME","Drive root detected",{cwd:o,projectName:s}),s}}return _.warn("PROJECT_NAME","Root directory detected, using fallback",{cwd:o}),"unknown-project"}return t}async function B(o){if(await U(),!o)throw new Error("newHook requires input");let{session_id:t,cwd:r,prompt:e}=o,n=N(r),s=p(),E=await fetch(`http://127.0.0.1:${s}/api/sessions/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claudeSessionId:t,project:n,prompt:e}),signal:AbortSignal.timeout(5e3)});if(!E.ok)throw new Error(`Session initialization failed: ${E.status}`);let i=await E.json(),c=i.sessionDbId,a=i.promptNumber;if(i.skipped&&i.reason==="private"){console.error(`[new-hook] Session ${c}, prompt #${a} (fully private - skipped)`),console.log(f);return}console.error(`[new-hook] Session ${c}, prompt #${a}`);let l=e.startsWith("/")?e.substring(1):e,u=await fetch(`http://127.0.0.1:${s}/sessions/${c}/init`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({userPrompt:l,promptNumber:a}),signal:AbortSignal.timeout(5e3)});if(!u.ok)throw new Error(`SDK agent start failed: ${u.status}`);console.log(f)}var A="";k.on("data",o=>A+=o);k.on("end",async()=>{let o;try{o=A?JSON.parse(A):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await B(o)}); diff --git a/plugin/scripts/save-hook.js b/plugin/scripts/save-hook.js index ef35c5ef..8ee0e9ba 100755 --- a/plugin/scripts/save-hook.js +++ b/plugin/scripts/save-hook.js @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import{stdin as N}from"process";var D=JSON.stringify({continue:!0,suppressOutput:!0});import{readFileSync as k,writeFileSync as P,existsSync as v}from"fs";import{join as w}from"path";import{homedir as H}from"os";var m="bugfix,feature,refactor,discovery,decision,change",d="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var c=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:w(H(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:m,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:d,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!v(t))return this.getAllDefaults();let r=k(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{P(t,JSON.stringify(n,null,2),"utf-8"),a.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(i){a.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},i)}}let o={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))n[i]!==void 0&&(o[i]=n[i]);return o}catch(r){return a.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var f=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(f||{}),p=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=c.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=f[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} -${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0"),E=String(t.getSeconds()).padStart(2,"0"),_=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${i}:${E}.${_}`}log(t,r,e,n,o){if(t0&&(T=` {${Object.entries(A).map(([y,$])=>`${y}=${$}`).join(", ")}}`)}let L=`[${i}] [${E}] [${_}] ${l}${e}${T}${g}`;t===3?console.error(L):console.log(L)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,o=""){let l=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),g=l?`${l[1].split("/").pop()}:${l[2]}`:"unknown",T={...e,location:g};return this.warn(t,`[HAPPY-PATH] ${r}`,T,n),o}},a=new p;import M from"path";import{homedir as W}from"os";import{readFileSync as b}from"fs";var u={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function U(s){return process.platform==="win32"?Math.round(s*u.WINDOWS_MULTIPLIER):s}function I(s={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=s,o=e||"Worker service connection failed.",i=t?` (port ${t})`:"",E=`${o}${i} +import{stdin as N}from"process";var D=JSON.stringify({continue:!0,suppressOutput:!0});import{readFileSync as k,writeFileSync as P,existsSync as v}from"fs";import{join as w}from"path";import{homedir as H}from"os";var m="bugfix,feature,refactor,discovery,decision,change",d="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var c=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:w(H(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:m,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:d,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!v(t))return this.getAllDefaults();let r=k(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{P(t,JSON.stringify(n,null,2),"utf-8"),a.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(i){a.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},i)}}let o={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))n[i]!==void 0&&(o[i]=n[i]);return o}catch(r){return a.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var f=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(f||{}),p=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=c.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=f[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),i=String(t.getMinutes()).padStart(2,"0"),E=String(t.getSeconds()).padStart(2,"0"),_=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${i}:${E}.${_}`}log(t,r,e,n,o){if(t0&&(S=` {${Object.entries(L).map(([y,$])=>`${y}=${$}`).join(", ")}}`)}let A=`[${i}] [${E}] [${_}] ${l}${e}${S}${u}`;t===3?console.error(A):console.log(A)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,o=""){let l=((new Error().stack||"").split(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),u=l?`${l[1].split("/").pop()}:${l[2]}`:"unknown",S={...e,location:u};return this.warn(t,`[HAPPY-PATH] ${r}`,S,n),o}},a=new p;import M from"path";import{homedir as W}from"os";import{readFileSync as b}from"fs";var g={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function U(s){return process.platform==="win32"?Math.round(s*g.WINDOWS_MULTIPLIER):s}function I(s={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=s,o=e||"Worker service connection failed.",i=t?` (port ${t})`:"",E=`${o}${i} `;return E+=`To restart the worker: `,E+=`1. Exit Claude Code completely @@ -11,4 +11,4 @@ ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Obje If that doesn't work, try: /troubleshoot`),n&&(E=`Worker Error: ${n} -${E}`),E}var F=M.join(W(),".claude","plugins","marketplaces","thedotmack"),R=U(u.HEALTH_CHECK),O=null;function S(){if(O!==null)return O;let s=M.join(c.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=c.loadFromFile(s);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function x(){let s=S();return(await fetch(`http://127.0.0.1:${s}/api/readiness`,{signal:AbortSignal.timeout(R)})).ok}function K(){let s=M.join(F,"package.json");return JSON.parse(b(s,"utf-8")).version}async function G(){let s=S(),t=await fetch(`http://127.0.0.1:${s}/api/version`,{signal:AbortSignal.timeout(R)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function V(){let s=K(),t=await G();s!==t&&a.warn("SYSTEM","Worker version mismatch",{pluginVersion:s,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function h(){for(let r=0;r<25;r++){try{if(await x()){await V();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(I({port:S(),customPrefix:"Worker did not become ready within 5 seconds."}))}async function X(s){if(await h(),!s)throw new Error("saveHook requires input");let{session_id:t,cwd:r,tool_name:e,tool_input:n,tool_response:o}=s,i=S(),E=a.formatTool(e,n);if(a.dataIn("HOOK",`PostToolUse: ${E}`,{workerPort:i}),!r)throw new Error(`Missing cwd in PostToolUse hook input for session ${t}, tool ${e}`);let _=await fetch(`http://127.0.0.1:${i}/api/sessions/observations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claudeSessionId:t,tool_name:e,tool_input:n,tool_response:o,cwd:r}),signal:AbortSignal.timeout(u.DEFAULT)});if(!_.ok)throw new Error(`Observation storage failed: ${_.status}`);a.debug("HOOK","Observation sent successfully",{toolName:e}),console.log(D)}var C="";N.on("data",s=>C+=s);N.on("end",async()=>{let s;try{s=C?JSON.parse(C):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await X(s)}); +${E}`),E}var F=M.join(W(),".claude","plugins","marketplaces","thedotmack"),R=U(g.HEALTH_CHECK),O=null;function T(){if(O!==null)return O;let s=M.join(c.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=c.loadFromFile(s);return O=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),O}async function x(){let s=T();return(await fetch(`http://127.0.0.1:${s}/api/readiness`,{signal:AbortSignal.timeout(R)})).ok}function K(){let s=M.join(F,"package.json");return JSON.parse(b(s,"utf-8")).version}async function G(){let s=T(),t=await fetch(`http://127.0.0.1:${s}/api/version`,{signal:AbortSignal.timeout(R)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function V(){let s=K(),t=await G();s!==t&&a.warn("SYSTEM","Worker version mismatch",{pluginVersion:s,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function h(){for(let r=0;r<25;r++){try{if(await x()){await V();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(I({port:T(),customPrefix:"Worker did not become ready within 5 seconds."}))}async function X(s){if(await h(),!s)throw new Error("saveHook requires input");let{session_id:t,cwd:r,tool_name:e,tool_input:n,tool_response:o}=s,i=T(),E=a.formatTool(e,n);if(a.dataIn("HOOK",`PostToolUse: ${E}`,{workerPort:i}),!r)throw new Error(`Missing cwd in PostToolUse hook input for session ${t}, tool ${e}`);let _=await fetch(`http://127.0.0.1:${i}/api/sessions/observations`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claudeSessionId:t,tool_name:e,tool_input:n,tool_response:o,cwd:r}),signal:AbortSignal.timeout(g.DEFAULT)});if(!_.ok)throw new Error(`Observation storage failed: ${_.status}`);a.debug("HOOK","Observation sent successfully",{toolName:e}),console.log(D)}var C="";N.on("data",s=>C+=s);N.on("end",async()=>{let s;try{s=C?JSON.parse(C):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await X(s)}); diff --git a/plugin/scripts/summary-hook.js b/plugin/scripts/summary-hook.js index dda3dce7..e78c4b10 100755 --- a/plugin/scripts/summary-hook.js +++ b/plugin/scripts/summary-hook.js @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import{stdin as N}from"process";var T=JSON.stringify({continue:!0,suppressOutput:!0});import{readFileSync as w,writeFileSync as v,existsSync as H}from"fs";import{join as P}from"path";import{homedir as W}from"os";var d="bugfix,feature,refactor,discovery,decision,change",h="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:P(W(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:d,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:h,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!H(t))return this.getAllDefaults();let r=w(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),c.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(a){c.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},a)}}let o={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))n[a]!==void 0&&(o[a]=n[a]);return o}catch(r){return c.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var O=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(O||{}),M=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=g.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=O[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +import{stdin as N}from"process";var T=JSON.stringify({continue:!0,suppressOutput:!0});import{readFileSync as w,writeFileSync as v,existsSync as H}from"fs";import{join as P}from"path";import{homedir as W}from"os";var d="bugfix,feature,refactor,discovery,decision,change",I="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var g=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:P(W(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:d,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:I,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!H(t))return this.getAllDefaults();let r=w(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),c.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(a){c.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},a)}}let o={...this.DEFAULTS};for(let a of Object.keys(this.DEFAULTS))n[a]!==void 0&&(o[a]=n[a]);return o}catch(r){return c.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var O=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(O||{}),M=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=g.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=O[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),a=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),_=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${a}:${i}.${_}`}log(t,r,e,n,o){if(t0&&(S=` {${Object.entries(D).map(([$,k])=>`${$}=${k}`).join(", ")}}`)}let C=`[${a}] [${i}] [${_}] ${E}${e}${S}${l}`;t===3?console.error(C):console.log(C)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,o=""){let E=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=E?`${E[1].split("/").pop()}:${E[2]}`:"unknown",S={...e,location:l};return this.warn(t,`[HAPPY-PATH] ${r}`,S,n),o}},c=new M;import m from"path";import{homedir as x}from"os";import{readFileSync as b}from"fs";var u={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function U(s){return process.platform==="win32"?Math.round(s*u.WINDOWS_MULTIPLIER):s}function I(s={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=s,o=e||"Worker service connection failed.",a=t?` (port ${t})`:"",i=`${o}${a} +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=E?`${E[1].split("/").pop()}:${E[2]}`:"unknown",S={...e,location:l};return this.warn(t,`[HAPPY-PATH] ${r}`,S,n),o}},c=new M;import m from"path";import{homedir as x}from"os";import{readFileSync as b}from"fs";var u={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function h(s){return process.platform==="win32"?Math.round(s*u.WINDOWS_MULTIPLIER):s}function R(s={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=s,o=e||"Worker service connection failed.",a=t?` (port ${t})`:"",i=`${o}${a} `;return i+=`To restart the worker: `,i+=`1. Exit Claude Code completely @@ -11,8 +11,8 @@ ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Obje If that doesn't work, try: /troubleshoot`),n&&(i=`Worker Error: ${n} -${i}`),i}var F=m.join(x(),".claude","plugins","marketplaces","thedotmack"),R=U(u.HEALTH_CHECK),p=null;function f(){if(p!==null)return p;let s=m.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(s);return p=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),p}async function K(){let s=f();return(await fetch(`http://127.0.0.1:${s}/api/readiness`,{signal:AbortSignal.timeout(R)})).ok}function G(){let s=m.join(F,"package.json");return JSON.parse(b(s,"utf-8")).version}async function V(){let s=f(),t=await fetch(`http://127.0.0.1:${s}/api/version`,{signal:AbortSignal.timeout(R)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function X(){let s=G(),t=await V();s!==t&&c.warn("SYSTEM","Worker version mismatch",{pluginVersion:s,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function y(){for(let r=0;r<25;r++){try{if(await K()){await X();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(I({port:f(),customPrefix:"Worker did not become ready within 5 seconds."}))}import{readFileSync as B,existsSync as j}from"fs";function L(s,t,r=!1){if(!s||!j(s))throw new Error(`Transcript path missing or file does not exist: ${s}`);let e=B(s,"utf-8").trim();if(!e)throw new Error(`Transcript file exists but is empty: ${s}`);let n=e.split(` +${i}`),i}var F=m.join(x(),".claude","plugins","marketplaces","thedotmack"),U=h(u.HEALTH_CHECK),p=null;function f(){if(p!==null)return p;let s=m.join(g.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=g.loadFromFile(s);return p=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),p}async function K(){let s=f();return(await fetch(`http://127.0.0.1:${s}/api/readiness`,{signal:AbortSignal.timeout(U)})).ok}function G(){let s=m.join(F,"package.json");return JSON.parse(b(s,"utf-8")).version}async function V(){let s=f(),t=await fetch(`http://127.0.0.1:${s}/api/version`,{signal:AbortSignal.timeout(U)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function X(){let s=G(),t=await V();s!==t&&c.warn("SYSTEM","Worker version mismatch",{pluginVersion:s,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function y(){for(let r=0;r<25;r++){try{if(await K()){await X();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(R({port:f(),customPrefix:"Worker did not become ready within 5 seconds."}))}import{readFileSync as j,existsSync as B}from"fs";function A(s,t,r=!1){if(!s||!B(s))throw new Error(`Transcript path missing or file does not exist: ${s}`);let e=j(s,"utf-8").trim();if(!e)throw new Error(`Transcript file exists but is empty: ${s}`);let n=e.split(` `),o=!1;for(let a=n.length-1;a>=0;a--){let i=JSON.parse(n[a]);if(i.type===t&&(o=!0,i.message?.content)){let _="",E=i.message.content;if(typeof E=="string")_=E;else if(Array.isArray(E))_=E.filter(l=>l.type==="text").map(l=>l.text).join(` `);else throw new Error(`Unknown message content format in transcript. Type: ${typeof E}`);return r&&(_=_.replace(/[\s\S]*?<\/system-reminder>/g,""),_=_.replace(/\n{3,}/g,` -`).trim()),_}}if(!o)throw new Error(`No message found for role '${t}' in transcript: ${s}`);return""}async function Y(s){if(await y(),!s)throw new Error("summaryHook requires input");let{session_id:t}=s,r=f();if(!s.transcript_path)throw new Error(`Missing transcript_path in Stop hook input for session ${t}`);let e=L(s.transcript_path,"user"),n=L(s.transcript_path,"assistant",!0);c.dataIn("HOOK","Stop: Requesting summary",{workerPort:r,hasLastUserMessage:!!e,hasLastAssistantMessage:!!n});let o=await fetch(`http://127.0.0.1:${r}/api/sessions/summarize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claudeSessionId:t,last_user_message:e,last_assistant_message:n}),signal:AbortSignal.timeout(u.DEFAULT)});if(!o.ok)throw console.log(T),new Error(`Summary generation failed: ${o.status}`);c.debug("HOOK","Summary request sent successfully"),console.log(T)}var A="";N.on("data",s=>A+=s);N.on("end",async()=>{let s;try{s=A?JSON.parse(A):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await Y(s)}); +`).trim()),_}}if(!o)throw new Error(`No message found for role '${t}' in transcript: ${s}`);return""}async function Y(s){if(await y(),!s)throw new Error("summaryHook requires input");let{session_id:t}=s,r=f();if(!s.transcript_path)throw new Error(`Missing transcript_path in Stop hook input for session ${t}`);let e=A(s.transcript_path,"user"),n=A(s.transcript_path,"assistant",!0);c.dataIn("HOOK","Stop: Requesting summary",{workerPort:r,hasLastUserMessage:!!e,hasLastAssistantMessage:!!n});let o=await fetch(`http://127.0.0.1:${r}/api/sessions/summarize`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({claudeSessionId:t,last_user_message:e,last_assistant_message:n}),signal:AbortSignal.timeout(u.DEFAULT)});if(!o.ok)throw console.log(T),new Error(`Summary generation failed: ${o.status}`);c.debug("HOOK","Summary request sent successfully"),console.log(T)}var L="";N.on("data",s=>L+=s);N.on("end",async()=>{let s;try{s=L?JSON.parse(L):void 0}catch(t){throw new Error(`Failed to parse hook input: ${t instanceof Error?t.message:String(t)}`)}await Y(s)}); diff --git a/plugin/scripts/user-message-hook.js b/plugin/scripts/user-message-hook.js index 4f23ed0c..5f3f69ff 100755 --- a/plugin/scripts/user-message-hook.js +++ b/plugin/scripts/user-message-hook.js @@ -1,8 +1,8 @@ #!/usr/bin/env bun -import{basename as X}from"path";import M from"path";import{homedir as b}from"os";import{readFileSync as H}from"fs";import{readFileSync as k,writeFileSync as v,existsSync as W}from"fs";import{join as P}from"path";import{homedir as w}from"os";var D="bugfix,feature,refactor,discovery,decision,change",m="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var _=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:P(w(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:D,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:m,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!W(t))return this.getAllDefaults();let r=k(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),l.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(E){l.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},E)}}let o={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(o[E]=n[E]);return o}catch(r){return l.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var f=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(f||{}),p=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=_.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=f[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} -${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),u=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${i}.${u}`}log(t,r,e,n,o){if(t0&&(S=` {${Object.entries(A).map(([y,$])=>`${y}=${$}`).join(", ")}}`)}let L=`[${E}] [${i}] [${u}] ${a}${e}${S}${c}`;t===3?console.error(L):console.log(L)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,o=""){let a=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),c=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",S={...e,location:c};return this.warn(t,`[HAPPY-PATH] ${r}`,S,n),o}},l=new p;var O={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5},U={SUCCESS:0,FAILURE:1,USER_MESSAGE_ONLY:3};function I(s){return process.platform==="win32"?Math.round(s*O.WINDOWS_MULTIPLIER):s}function R(s={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=s,o=e||"Worker service connection failed.",E=t?` (port ${t})`:"",i=`${o}${E} +import{basename as X}from"path";import M from"path";import{homedir as b}from"os";import{readFileSync as H}from"fs";import{readFileSync as k,writeFileSync as v,existsSync as W}from"fs";import{join as P}from"path";import{homedir as w}from"os";var D="bugfix,feature,refactor,discovery,decision,change",m="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var _=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:P(w(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:D,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:m,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let r=this.get(t);return parseInt(r,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!W(t))return this.getAllDefaults();let r=k(t,"utf-8"),e=JSON.parse(r),n=e;if(e.env&&typeof e.env=="object"){n=e.env;try{v(t,JSON.stringify(n,null,2),"utf-8"),c.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(E){c.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},E)}}let o={...this.DEFAULTS};for(let E of Object.keys(this.DEFAULTS))n[E]!==void 0&&(o[E]=n[E]);return o}catch(r){return c.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},r),this.getAllDefaults()}}};var p=(o=>(o[o.DEBUG=0]="DEBUG",o[o.INFO=1]="INFO",o[o.WARN=2]="WARN",o[o.ERROR=3]="ERROR",o[o.SILENT=4]="SILENT",o))(p||{}),f=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=_.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=p[t]??1}return this.level}correlationId(t,r){return`obs-${t}-${r}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} +${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Object.keys(t);return r.length===0?"{}":r.length<=3?JSON.stringify(t):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,r){if(!r)return t;let e=typeof r=="string"?JSON.parse(r):r;if(t==="Bash"&&e.command)return`${t}(${e.command})`;if(e.file_path)return`${t}(${e.file_path})`;if(e.notebook_path)return`${t}(${e.notebook_path})`;if(t==="Glob"&&e.pattern)return`${t}(${e.pattern})`;if(t==="Grep"&&e.pattern)return`${t}(${e.pattern})`;if(e.url)return`${t}(${e.url})`;if(e.query)return`${t}(${e.query})`;if(t==="Task"){if(e.subagent_type)return`${t}(${e.subagent_type})`;if(e.description)return`${t}(${e.description})`}return t==="Skill"&&e.skill?`${t}(${e.skill})`:t==="LSP"&&e.operation?`${t}(${e.operation})`:t}formatTimestamp(t){let r=t.getFullYear(),e=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),o=String(t.getHours()).padStart(2,"0"),E=String(t.getMinutes()).padStart(2,"0"),i=String(t.getSeconds()).padStart(2,"0"),u=String(t.getMilliseconds()).padStart(3,"0");return`${r}-${e}-${n} ${o}:${E}:${i}.${u}`}log(t,r,e,n,o){if(t0&&(T=` {${Object.entries(A).map(([y,$])=>`${y}=${$}`).join(", ")}}`)}let L=`[${E}] [${i}] [${u}] ${a}${e}${T}${l}`;t===3?console.error(L):console.log(L)}debug(t,r,e,n){this.log(0,t,r,e,n)}info(t,r,e,n){this.log(1,t,r,e,n)}warn(t,r,e,n){this.log(2,t,r,e,n)}error(t,r,e,n){this.log(3,t,r,e,n)}dataIn(t,r,e,n){this.info(t,`\u2192 ${r}`,e,n)}dataOut(t,r,e,n){this.info(t,`\u2190 ${r}`,e,n)}success(t,r,e,n){this.info(t,`\u2713 ${r}`,e,n)}failure(t,r,e,n){this.error(t,`\u2717 ${r}`,e,n)}timing(t,r,e,n){this.info(t,`\u23F1 ${r}`,n,{duration:`${e}ms`})}happyPathError(t,r,e,n,o=""){let a=((new Error().stack||"").split(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=a?`${a[1].split("/").pop()}:${a[2]}`:"unknown",T={...e,location:l};return this.warn(t,`[HAPPY-PATH] ${r}`,T,n),o}},c=new f;var O={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5},I={SUCCESS:0,FAILURE:1,USER_MESSAGE_ONLY:3};function U(s){return process.platform==="win32"?Math.round(s*O.WINDOWS_MULTIPLIER):s}function R(s={}){let{port:t,includeSkillFallback:r=!1,customPrefix:e,actualError:n}=s,o=e||"Worker service connection failed.",E=t?` (port ${t})`:"",i=`${o}${E} `;return i+=`To restart the worker: `,i+=`1. Exit Claude Code completely @@ -11,7 +11,7 @@ ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let r=Obje If that doesn't work, try: /troubleshoot`),n&&(i=`Worker Error: ${n} -${i}`),i}var x=M.join(b(),".claude","plugins","marketplaces","thedotmack"),d=I(O.HEALTH_CHECK),T=null;function g(){if(T!==null)return T;let s=M.join(_.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=_.loadFromFile(s);return T=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),T}async function F(){let s=g();return(await fetch(`http://127.0.0.1:${s}/api/readiness`,{signal:AbortSignal.timeout(d)})).ok}function G(){let s=M.join(x,"package.json");return JSON.parse(H(s,"utf-8")).version}async function K(){let s=g(),t=await fetch(`http://127.0.0.1:${s}/api/version`,{signal:AbortSignal.timeout(d)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function V(){let s=G(),t=await K();s!==t&&l.warn("SYSTEM","Worker version mismatch",{pluginVersion:s,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function h(){for(let r=0;r<25;r++){try{if(await F()){await V();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(R({port:g(),customPrefix:"Worker did not become ready within 5 seconds."}))}await h();var N=g(),j=X(process.cwd()),C=await fetch(`http://127.0.0.1:${N}/api/context/inject?project=${encodeURIComponent(j)}&colors=true`,{method:"GET",signal:AbortSignal.timeout(5e3)});if(!C.ok)throw new Error(`Failed to fetch context: ${C.status}`);var B=await C.text();console.error(` +${i}`),i}var x=M.join(b(),".claude","plugins","marketplaces","thedotmack"),d=U(O.HEALTH_CHECK),S=null;function g(){if(S!==null)return S;let s=M.join(_.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=_.loadFromFile(s);return S=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),S}async function F(){let s=g();return(await fetch(`http://127.0.0.1:${s}/api/readiness`,{signal:AbortSignal.timeout(d)})).ok}function G(){let s=M.join(x,"package.json");return JSON.parse(H(s,"utf-8")).version}async function K(){let s=g(),t=await fetch(`http://127.0.0.1:${s}/api/version`,{signal:AbortSignal.timeout(d)});if(!t.ok)throw new Error(`Failed to get worker version: ${t.status}`);return(await t.json()).version}async function V(){let s=G(),t=await K();s!==t&&c.warn("SYSTEM","Worker version mismatch",{pluginVersion:s,workerVersion:t,hint:"Restart worker with: claude-mem worker restart"})}async function h(){for(let r=0;r<25;r++){try{if(await F()){await V();return}}catch{}await new Promise(e=>setTimeout(e,200))}throw new Error(R({port:g(),customPrefix:"Worker did not become ready within 5 seconds."}))}await h();var N=g(),j=X(process.cwd()),C=await fetch(`http://127.0.0.1:${N}/api/context/inject?project=${encodeURIComponent(j)}&colors=true`,{method:"GET",signal:AbortSignal.timeout(5e3)});if(!C.ok)throw new Error(`Failed to fetch context: ${C.status}`);var B=await C.text();console.error(` \u{1F4DD} Claude-Mem Context Loaded \u2139\uFE0F Note: This appears as stderr but is informational only @@ -22,4 +22,4 @@ ${i}`),i}var x=M.join(b(),".claude","plugins","marketplaces","thedotmack"),d=I(O \u{1F4AC} Community https://discord.gg/J4wttp9vDu \u{1F4FA} Watch live in browser http://localhost:${N}/ -`);process.exit(U.USER_MESSAGE_ONLY); +`);process.exit(I.USER_MESSAGE_ONLY); diff --git a/plugin/scripts/worker-cli.js b/plugin/scripts/worker-cli.js index 48aaf0e2..d567c732 100755 --- a/plugin/scripts/worker-cli.js +++ b/plugin/scripts/worker-cli.js @@ -1,8 +1,8 @@ #!/usr/bin/env bun import{existsSync as I,readFileSync as rt,writeFileSync as nt,unlinkSync as st,mkdirSync as N}from"fs";import{createWriteStream as ot}from"fs";import{join as S}from"path";import{spawn as it,spawnSync as at}from"child_process";import{homedir as ct}from"os";import{join as p,dirname as q,basename as Lt}from"path";import{homedir as z}from"os";import{fileURLToPath as Q}from"url";import{readFileSync as V,writeFileSync as j,existsSync as X}from"fs";import{join as Y}from"path";import{homedir as J}from"os";var k="bugfix,feature,refactor,discovery,decision,change",y="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off";var M=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(M||{}),C=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let t=l.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=M[t]??1}return this.level}correlationId(t,e){return`obs-${t}-${e}`}sessionId(t){return`session-${t}`}formatData(t){if(t==null)return"";if(typeof t=="string")return t;if(typeof t=="number"||typeof t=="boolean")return t.toString();if(typeof t=="object"){if(t instanceof Error)return this.getLevel()===0?`${t.message} ${t.stack}`:t.message;if(Array.isArray(t))return`[${t.length} items]`;let e=Object.keys(t);return e.length===0?"{}":e.length<=3?JSON.stringify(t):`{${e.length} keys: ${e.slice(0,3).join(", ")}...}`}return String(t)}formatTool(t,e){if(!e)return t;let r=typeof e=="string"?JSON.parse(e):e;if(t==="Bash"&&r.command)return`${t}(${r.command})`;if(r.file_path)return`${t}(${r.file_path})`;if(r.notebook_path)return`${t}(${r.notebook_path})`;if(t==="Glob"&&r.pattern)return`${t}(${r.pattern})`;if(t==="Grep"&&r.pattern)return`${t}(${r.pattern})`;if(r.url)return`${t}(${r.url})`;if(r.query)return`${t}(${r.query})`;if(t==="Task"){if(r.subagent_type)return`${t}(${r.subagent_type})`;if(r.description)return`${t}(${r.description})`}return t==="Skill"&&r.skill?`${t}(${r.skill})`:t==="LSP"&&r.operation?`${t}(${r.operation})`:t}formatTimestamp(t){let e=t.getFullYear(),r=String(t.getMonth()+1).padStart(2,"0"),n=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),o=String(t.getMinutes()).padStart(2,"0"),a=String(t.getSeconds()).padStart(2,"0"),c=String(t.getMilliseconds()).padStart(3,"0");return`${e}-${r}-${n} ${s}:${o}:${a}.${c}`}log(t,e,r,n,s){if(t0&&(m=` {${Object.entries(b).map(([B,K])=>`${B}=${K}`).join(", ")}}`)}let d=`[${o}] [${a}] [${c}] ${g}${r}${m}${f}`;t===3?console.error(d):console.log(d)}debug(t,e,r,n){this.log(0,t,e,r,n)}info(t,e,r,n){this.log(1,t,e,r,n)}warn(t,e,r,n){this.log(2,t,e,r,n)}error(t,e,r,n){this.log(3,t,e,r,n)}dataIn(t,e,r,n){this.info(t,`\u2192 ${e}`,r,n)}dataOut(t,e,r,n){this.info(t,`\u2190 ${e}`,r,n)}success(t,e,r,n){this.info(t,`\u2713 ${e}`,r,n)}failure(t,e,r,n){this.error(t,`\u2717 ${e}`,r,n)}timing(t,e,r,n){this.info(t,`\u23F1 ${e}`,n,{duration:`${r}ms`})}happyPathError(t,e,r,n,s=""){let g=((new Error().stack||"").split(` -`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),f=g?`${g[1].split("/").pop()}:${g[2]}`:"unknown",m={...r,location:f};return this.warn(t,`[HAPPY-PATH] ${e}`,m,n),s}},h=new C;var l=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:Y(J(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:k,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:y,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let e=this.get(t);return parseInt(e,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!X(t))return this.getAllDefaults();let e=V(t,"utf-8"),r=JSON.parse(e),n=r;if(r.env&&typeof r.env=="object"){n=r.env;try{j(t,JSON.stringify(n,null,2),"utf-8"),h.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(o){h.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},o)}}let s={...this.DEFAULTS};for(let o of Object.keys(this.DEFAULTS))n[o]!==void 0&&(s[o]=n[o]);return s}catch(e){return h.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},e),this.getAllDefaults()}}};function Z(){return typeof __dirname<"u"?__dirname:q(Q(import.meta.url))}var bt=Z(),u=l.get("CLAUDE_MEM_DATA_DIR"),L=process.env.CLAUDE_CONFIG_DIR||p(z(),".claude"),kt=p(u,"archives"),yt=p(u,"logs"),Ut=p(u,"trash"),vt=p(u,"backups"),$t=p(u,"modes"),Nt=p(u,"settings.json"),xt=p(u,"claude-mem.db"),Wt=p(u,"vector-db"),Ft=p(L,"settings.json"),Ht=p(L,"commands"),Gt=p(L,"CLAUDE.md");import{spawnSync as tt}from"child_process";import{existsSync as et}from"fs";import{join as U}from"path";import{homedir as v}from"os";function w(){let i=process.platform==="win32";try{if(tt("bun",["--version"],{encoding:"utf-8",stdio:["pipe","pipe","pipe"],shell:!1}).status===0)return"bun"}catch{}let t=i?[U(v(),".bun","bin","bun.exe")]:[U(v(),".bun","bin","bun"),"/usr/local/bin/bun","/opt/homebrew/bin/bun","/home/linuxbrew/.linuxbrew/bin/bun"];for(let e of t)if(et(e))return e;return null}function $(){return w()!==null}var _=S(u,"worker.pid"),x=S(u,"logs"),P=S(ct(),".claude","plugins","marketplaces","thedotmack"),E=class{static async start(t){if(isNaN(t)||t<1024||t>65535)return{success:!1,error:`Invalid port ${t}. Must be between 1024 and 65535`};if(await this.isRunning())return{success:!0,pid:this.getPidInfo()?.pid};N(x,{recursive:!0});let e=process.platform==="win32"?"worker-wrapper.cjs":"worker-service.cjs",r=S(P,"plugin","scripts",e);if(!I(r))return{success:!1,error:`Worker script not found at ${r}`};let n=this.getLogFilePath();return this.startWithBun(r,n,t)}static isBunAvailable(){return $()}static escapePowerShellString(t){return t.replace(/'/g,"''")}static async startWithBun(t,e,r){let n=w();if(!n)return{success:!1,error:"Bun is required but not found in PATH or common installation paths. Install from https://bun.sh"};try{if(process.platform==="win32"){let o=this.escapePowerShellString(n),a=this.escapePowerShellString(t),c=this.escapePowerShellString(P),g=this.escapePowerShellString(e),m=`${`$env:CLAUDE_MEM_WORKER_PORT='${r}'`}; Start-Process -FilePath '${o}' -ArgumentList '${a}' -WorkingDirectory '${c}' -WindowStyle Hidden -RedirectStandardOutput '${g}' -RedirectStandardError '${g}.err' -PassThru | Select-Object -ExpandProperty Id`,d=at("powershell",["-Command",m],{stdio:"pipe",timeout:1e4,windowsHide:!0});if(d.status!==0)return{success:!1,error:`PowerShell spawn failed: ${d.stderr?.toString()||"unknown error"}`};let T=parseInt(d.stdout.toString().trim(),10);return isNaN(T)?{success:!1,error:"Failed to get PID from PowerShell"}:(this.writePidFile({pid:T,port:r,startedAt:new Date().toISOString(),version:process.env.npm_package_version||"unknown"}),this.waitForHealth(T,r))}else{let o=it(n,[t],{detached:!0,stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDE_MEM_WORKER_PORT:String(r)},cwd:P}),a=ot(e,{flags:"a"});return o.stdout?.pipe(a),o.stderr?.pipe(a),o.unref(),o.pid?(this.writePidFile({pid:o.pid,port:r,startedAt:new Date().toISOString(),version:process.env.npm_package_version||"unknown"}),this.waitForHealth(o.pid,r)):{success:!1,error:"Failed to get PID from spawned process"}}}catch(s){return{success:!1,error:s instanceof Error?s.message:String(s)}}}static async stop(t=5e3){let e=this.getPidInfo();if(process.platform==="win32"){let r=e?.port??this.getPortFromSettings();if(await this.tryHttpShutdown(r))return this.removePidFile(),!0;if(!e)return!0;let{execSync:s}=await import("child_process");try{s(`taskkill /PID ${e.pid} /T /F`,{timeout:1e4,stdio:"ignore"})}catch{}try{await this.waitForExit(e.pid,t)}catch{}return this.isProcessAlive(e.pid)||this.removePidFile(),!0}else{if(!e)return!0;try{process.kill(e.pid,"SIGTERM"),await this.waitForExit(e.pid,t)}catch{try{process.kill(e.pid,"SIGKILL")}catch{}}return this.removePidFile(),!0}}static async restart(t){return await this.stop(),this.start(t)}static async status(){let t=this.getPidInfo();if(!t)return{running:!1};let e=this.isProcessAlive(t.pid);return{running:e,pid:e?t.pid:void 0,port:e?t.port:void 0,uptime:e?this.formatUptime(t.startedAt):void 0}}static async isRunning(){let t=this.getPidInfo();if(!t)return!1;let e=this.isProcessAlive(t.pid);return e||this.removePidFile(),e}static getPortFromSettings(){try{let t=S(u,"settings.json"),e=l.loadFromFile(t);return parseInt(e.CLAUDE_MEM_WORKER_PORT,10)}catch{return parseInt(l.get("CLAUDE_MEM_WORKER_PORT"),10)}}static async tryHttpShutdown(t){try{return(await fetch(`http://127.0.0.1:${t}/api/admin/shutdown`,{method:"POST",signal:AbortSignal.timeout(2e3)})).ok?await this.waitForWorkerDown(t,5e3):!1}catch{return!1}}static async waitForWorkerDown(t,e){let r=Date.now();for(;Date.now()-rsetTimeout(n,100))}catch{return!0}return!1}static getPidInfo(){try{if(!I(_))return null;let t=rt(_,"utf-8"),e=JSON.parse(t);return typeof e.pid!="number"||typeof e.port!="number"?(logger.warn("PROCESS","Malformed PID file: missing or invalid pid/port fields",{},{parsed:e}),null):e}catch(t){return logger.warn("PROCESS","Failed to read PID file",{},{error:t instanceof Error?t.message:String(t),path:_}),null}}static writePidFile(t){N(u,{recursive:!0}),nt(_,JSON.stringify(t,null,2))}static removePidFile(){try{I(_)&&st(_)}catch{}}static isProcessAlive(t){try{return process.kill(t,0),!0}catch{return!1}}static async waitForHealth(t,e,r=1e4){let n=Date.now(),s=process.platform==="win32",o=s?r*2:r;for(;Date.now()-n0&&(m=` {${Object.entries(b).map(([K,B])=>`${K}=${B}`).join(", ")}}`)}let _=`[${o}] [${a}] [${c}] ${g}${r}${m}${f}`;t===3?console.error(_):console.log(_)}debug(t,e,r,n){this.log(0,t,e,r,n)}info(t,e,r,n){this.log(1,t,e,r,n)}warn(t,e,r,n){this.log(2,t,e,r,n)}error(t,e,r,n){this.log(3,t,e,r,n)}dataIn(t,e,r,n){this.info(t,`\u2192 ${e}`,r,n)}dataOut(t,e,r,n){this.info(t,`\u2190 ${e}`,r,n)}success(t,e,r,n){this.info(t,`\u2713 ${e}`,r,n)}failure(t,e,r,n){this.error(t,`\u2717 ${e}`,r,n)}timing(t,e,r,n){this.info(t,`\u23F1 ${e}`,n,{duration:`${r}ms`})}happyPathError(t,e,r,n,s=""){let g=((new Error().stack||"").split(` +`)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),f=g?`${g[1].split("/").pop()}:${g[2]}`:"unknown",m={...r,location:f};return this.warn(t,`[HAPPY-PATH] ${e}`,m,n),s}},h=new C;var l=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:Y(J(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:k,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:y,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(t){return this.DEFAULTS[t]}static getInt(t){let e=this.get(t);return parseInt(e,10)}static getBool(t){return this.get(t)==="true"}static loadFromFile(t){try{if(!X(t))return this.getAllDefaults();let e=V(t,"utf-8"),r=JSON.parse(e),n=r;if(r.env&&typeof r.env=="object"){n=r.env;try{j(t,JSON.stringify(n,null,2),"utf-8"),h.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:t})}catch(o){h.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:t},o)}}let s={...this.DEFAULTS};for(let o of Object.keys(this.DEFAULTS))n[o]!==void 0&&(s[o]=n[o]);return s}catch(e){return h.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:t},e),this.getAllDefaults()}}};function Z(){return typeof __dirname<"u"?__dirname:q(Q(import.meta.url))}var bt=Z(),u=l.get("CLAUDE_MEM_DATA_DIR"),L=process.env.CLAUDE_CONFIG_DIR||p(z(),".claude"),kt=p(u,"archives"),yt=p(u,"logs"),Ut=p(u,"trash"),vt=p(u,"backups"),$t=p(u,"modes"),Nt=p(u,"settings.json"),xt=p(u,"claude-mem.db"),Wt=p(u,"vector-db"),Ft=p(L,"settings.json"),Ht=p(L,"commands"),Gt=p(L,"CLAUDE.md");import{spawnSync as tt}from"child_process";import{existsSync as et}from"fs";import{join as U}from"path";import{homedir as v}from"os";function w(){let i=process.platform==="win32";try{if(tt("bun",["--version"],{encoding:"utf-8",stdio:["pipe","pipe","pipe"],shell:!1}).status===0)return"bun"}catch{}let t=i?[U(v(),".bun","bin","bun.exe")]:[U(v(),".bun","bin","bun"),"/usr/local/bin/bun","/opt/homebrew/bin/bun","/home/linuxbrew/.linuxbrew/bin/bun"];for(let e of t)if(et(e))return e;return null}function $(){return w()!==null}var d=S(u,"worker.pid"),x=S(u,"logs"),P=S(ct(),".claude","plugins","marketplaces","thedotmack"),E=class{static async start(t){if(isNaN(t)||t<1024||t>65535)return{success:!1,error:`Invalid port ${t}. Must be between 1024 and 65535`};if(await this.isRunning())return{success:!0,pid:this.getPidInfo()?.pid};N(x,{recursive:!0});let e=process.platform==="win32"?"worker-wrapper.cjs":"worker-service.cjs",r=S(P,"plugin","scripts",e);if(!I(r))return{success:!1,error:`Worker script not found at ${r}`};let n=this.getLogFilePath();return this.startWithBun(r,n,t)}static isBunAvailable(){return $()}static escapePowerShellString(t){return t.replace(/'/g,"''")}static async startWithBun(t,e,r){let n=w();if(!n)return{success:!1,error:"Bun is required but not found in PATH or common installation paths. Install from https://bun.sh"};try{if(process.platform==="win32"){let o=this.escapePowerShellString(n),a=this.escapePowerShellString(t),c=this.escapePowerShellString(P),g=this.escapePowerShellString(e),m=`${`$env:CLAUDE_MEM_WORKER_PORT='${r}'`}; Start-Process -FilePath '${o}' -ArgumentList '${a}' -WorkingDirectory '${c}' -WindowStyle Hidden -RedirectStandardOutput '${g}' -RedirectStandardError '${g}.err' -PassThru | Select-Object -ExpandProperty Id`,_=at("powershell",["-Command",m],{stdio:"pipe",timeout:1e4,windowsHide:!0});if(_.status!==0)return{success:!1,error:`PowerShell spawn failed: ${_.stderr?.toString()||"unknown error"}`};let T=parseInt(_.stdout.toString().trim(),10);return isNaN(T)?{success:!1,error:"Failed to get PID from PowerShell"}:(this.writePidFile({pid:T,port:r,startedAt:new Date().toISOString(),version:process.env.npm_package_version||"unknown"}),this.waitForHealth(T,r))}else{let o=it(n,[t],{detached:!0,stdio:["ignore","pipe","pipe"],env:{...process.env,CLAUDE_MEM_WORKER_PORT:String(r)},cwd:P}),a=ot(e,{flags:"a"});return o.stdout?.pipe(a),o.stderr?.pipe(a),o.unref(),o.pid?(this.writePidFile({pid:o.pid,port:r,startedAt:new Date().toISOString(),version:process.env.npm_package_version||"unknown"}),this.waitForHealth(o.pid,r)):{success:!1,error:"Failed to get PID from spawned process"}}}catch(s){return{success:!1,error:s instanceof Error?s.message:String(s)}}}static async stop(t=5e3){let e=this.getPidInfo();if(process.platform==="win32"){let r=e?.port??this.getPortFromSettings();if(await this.tryHttpShutdown(r))return this.removePidFile(),!0;if(!e)return!0;let{execSync:s}=await import("child_process");try{s(`taskkill /PID ${e.pid} /T /F`,{timeout:1e4,stdio:"ignore"})}catch{}try{await this.waitForExit(e.pid,t)}catch{}return this.isProcessAlive(e.pid)||this.removePidFile(),!0}else{if(!e)return!0;try{process.kill(e.pid,"SIGTERM"),await this.waitForExit(e.pid,t)}catch{try{process.kill(e.pid,"SIGKILL")}catch{}}return this.removePidFile(),!0}}static async restart(t){return await this.stop(),this.start(t)}static async status(){let t=this.getPidInfo();if(!t)return{running:!1};let e=this.isProcessAlive(t.pid);return{running:e,pid:e?t.pid:void 0,port:e?t.port:void 0,uptime:e?this.formatUptime(t.startedAt):void 0}}static async isRunning(){let t=this.getPidInfo();if(!t)return!1;let e=this.isProcessAlive(t.pid);return e||this.removePidFile(),e}static getPortFromSettings(){try{let t=S(u,"settings.json"),e=l.loadFromFile(t);return parseInt(e.CLAUDE_MEM_WORKER_PORT,10)}catch{return parseInt(l.get("CLAUDE_MEM_WORKER_PORT"),10)}}static async tryHttpShutdown(t){try{return(await fetch(`http://127.0.0.1:${t}/api/admin/shutdown`,{method:"POST",signal:AbortSignal.timeout(2e3)})).ok?await this.waitForWorkerDown(t,5e3):!1}catch{return!1}}static async waitForWorkerDown(t,e){let r=Date.now();for(;Date.now()-rsetTimeout(n,100))}catch{return!0}return!1}static getPidInfo(){try{if(!I(d))return null;let t=rt(d,"utf-8"),e=JSON.parse(t);return typeof e.pid!="number"||typeof e.port!="number"?(logger.warn("PROCESS","Malformed PID file: missing or invalid pid/port fields",{},{parsed:e}),null):e}catch(t){return logger.warn("PROCESS","Failed to read PID file",{},{error:t instanceof Error?t.message:String(t),path:d}),null}}static writePidFile(t){N(u,{recursive:!0}),nt(d,JSON.stringify(t,null,2))}static removePidFile(){try{I(d)&&st(d)}catch{}}static isProcessAlive(t){try{return process.kill(t,0),!0}catch{return!1}}static async waitForHealth(t,e,r=1e4){let n=Date.now(),s=process.platform==="win32",o=s?r*2:r;for(;Date.now()-nsetTimeout(n,100))}throw new Error("Process did not exit within timeout")}static getLogFilePath(){let t=new Date().toISOString().slice(0,10);return S(x,`worker-${t}.log`)}static formatUptime(t){let e=new Date(t).getTime(),n=Date.now()-e,s=Math.floor(n/1e3),o=Math.floor(s/60),a=Math.floor(o/60),c=Math.floor(a/24);return c>0?`${c}d ${a%24}h`:a>0?`${a}h ${o%60}m`:o>0?`${o}m ${s%60}s`:`${s}s`}};import F from"path";import{homedir as ut}from"os";var R={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function W(i){return process.platform==="win32"?Math.round(i*R.WINDOWS_MULTIPLIER):i}var Ee=F.join(ut(),".claude","plugins","marketplaces","thedotmack"),fe=W(R.HEALTH_CHECK),D=null;function H(){if(D!==null)return D;let i=F.join(l.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=l.loadFromFile(i);return D=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),D}import{stdin as lt}from"process";var pt=process.argv[2],G=H(),O='{"continue": true, "suppressOutput": true}',A=lt.isTTY;async function gt(){switch(pt){case"start":{let i=await E.start(G);if(i.success){if(A){console.log(`Worker started (PID: ${i.pid})`);let t=new Date().toISOString().slice(0,10);console.log(`Logs: ~/.claude-mem/logs/worker-${t}.log`)}else console.log(O);process.exit(0)}else console.error(`Failed to start: ${i.error}`),process.exit(1)}case"stop":await E.stop(),console.log(A?"Worker stopped":O),process.exit(0);case"restart":{let i=await E.restart(G);i.success?(console.log(A?`Worker restarted (PID: ${i.pid})`:O),process.exit(0)):(console.error(`Failed to restart: ${i.error}`),process.exit(1))}case"status":{let i=await E.status();A?i.running?(console.log("Worker is running"),console.log(` PID: ${i.pid}`),console.log(` Port: ${i.port}`),console.log(` Uptime: ${i.uptime}`)):console.log("Worker is not running"):console.log(O),process.exit(0)}default:console.log("Usage: worker-cli.js "),process.exit(1)}}gt().catch(i=>{console.error(i),process.exit(1)}); +5. Docs: https://docs.claude-mem.ai/troubleshooting/windows-issues`:`Readiness check timed out after ${o}ms`}}static async waitForExit(t,e){let r=Date.now();for(;Date.now()-rsetTimeout(n,100))}throw new Error("Process did not exit within timeout")}static getLogFilePath(){let t=new Date().toISOString().slice(0,10);return S(x,`worker-${t}.log`)}static formatUptime(t){let e=new Date(t).getTime(),n=Date.now()-e,s=Math.floor(n/1e3),o=Math.floor(s/60),a=Math.floor(o/60),c=Math.floor(a/24);return c>0?`${c}d ${a%24}h`:a>0?`${a}h ${o%60}m`:o>0?`${o}m ${s%60}s`:`${s}s`}};import F from"path";import{homedir as ut}from"os";var R={DEFAULT:12e4,HEALTH_CHECK:1e3,WORKER_STARTUP_WAIT:1e3,WORKER_STARTUP_RETRIES:15,PRE_RESTART_SETTLE_DELAY:2e3,WINDOWS_MULTIPLIER:1.5};function W(i){return process.platform==="win32"?Math.round(i*R.WINDOWS_MULTIPLIER):i}var Ee=F.join(ut(),".claude","plugins","marketplaces","thedotmack"),fe=W(R.HEALTH_CHECK),D=null;function H(){if(D!==null)return D;let i=F.join(l.get("CLAUDE_MEM_DATA_DIR"),"settings.json"),t=l.loadFromFile(i);return D=parseInt(t.CLAUDE_MEM_WORKER_PORT,10),D}import{stdin as lt}from"process";var pt=process.argv[2],G=H(),A='{"continue": true, "suppressOutput": true}',O=lt.isTTY;async function gt(){switch(pt){case"start":{let i=await E.start(G);if(i.success){if(O){console.log(`Worker started (PID: ${i.pid})`);let t=new Date().toISOString().slice(0,10);console.log(`Logs: ~/.claude-mem/logs/worker-${t}.log`)}else console.log(A);process.exit(0)}else console.error(`Failed to start: ${i.error}`),process.exit(1)}case"stop":await E.stop(),console.log(O?"Worker stopped":A),process.exit(0);case"restart":{let i=await E.restart(G);i.success?(console.log(O?`Worker restarted (PID: ${i.pid})`:A),process.exit(0)):(console.error(`Failed to restart: ${i.error}`),process.exit(1))}case"status":{let i=await E.status();O?i.running?(console.log("Worker is running"),console.log(` PID: ${i.pid}`),console.log(` Port: ${i.port}`),console.log(` Uptime: ${i.uptime}`)):console.log("Worker is not running"):console.log(A),process.exit(0)}default:console.log("Usage: worker-cli.js "),process.exit(1)}}gt().catch(i=>{console.error(i),process.exit(1)}); diff --git a/plugin/scripts/worker-service.cjs b/plugin/scripts/worker-service.cjs index afecd2b1..a76c782c 100755 --- a/plugin/scripts/worker-service.cjs +++ b/plugin/scripts/worker-service.cjs @@ -49,7 +49,7 @@ Please see the 3.x to 4.x migration guide for details on how to update your app.
`+e+`
-`}function M4(){return function(){this.error(404)}}function D4(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=rf.original(this.req);r.path=null,r.pathname=N4(r.pathname+"/");var n=P4(I4.format(r)),a=j4("Redirecting","Redirecting to "+O4(n));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(a)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",n),e.end(a)}}});var wx=V((Qt,xx)=>{"use strict";var Xc=B_(),q4=require("events").EventEmitter,gx=G_(),yx=k0(),L4=kp(),F4=Rp(),_x=Y0(),bx=mx();Qt=xx.exports=U4;function U4(){var t=function(e,r,n){t.handle(e,r,n)};return gx(t,q4.prototype,!1),gx(t,yx,!1),t.request=Object.create(_x,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(bx,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}Qt.application=yx;Qt.request=_x;Qt.response=bx;Qt.Route=L4;Qt.Router=F4;Qt.json=Xc.json;Qt.query=Pp();Qt.raw=Xc.raw;Qt.static=vx();Qt.text=Xc.text;Qt.urlencoded=Xc.urlencoded;var z4=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];z4.forEach(function(t){Object.defineProperty(Qt,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var Jc=V((PZ,Sx)=>{"use strict";Sx.exports=wx()});var tw=V((pu,ew)=>{(function(t,e){typeof pu=="object"&&typeof ew<"u"?e(pu):typeof define=="function"&&define.amd?define(["exports"],e):e(t.URI=t.URI||{})})(pu,(function(t){"use strict";function e(){for(var B=arguments.length,D=Array(B),G=0;G1){D[0]=D[0].slice(0,-1);for(var X=D.length-1,Y=1;Y= 0x80 (not a basic code point)","invalid-input":"Invalid input"},$=m-g,N=Math.floor,j=String.fromCharCode;function L(B){throw new RangeError(T[B])}function H(B,D){for(var G=[],X=B.length;X--;)G[X]=D(B[X]);return G}function A(B,D){var G=B.split("@"),X="";G.length>1&&(X=G[0]+"@",B=G[1]),B=B.replace(E,".");var Y=B.split("."),ye=H(Y,D).join(".");return X+ye}function W(B){for(var D=[],G=0,X=B.length;G=55296&&Y<=56319&&G>1,D+=N(D/G);D>$*b>>1;Y+=m)D=N(D/$);return N(Y+($+1)*D/(D+f))},U=function(D){var G=[],X=D.length,Y=0,ye=v,De=y,Ze=D.lastIndexOf(_);Ze<0&&(Ze=0);for(var Qe=0;Qe=128&&L("not-basic"),G.push(D.charCodeAt(Qe));for(var Pt=Ze>0?Ze+1:0;Pt=X&&L("invalid-input");var ft=he(D.charCodeAt(Pt++));(ft>=m||ft>N((p-Y)/yt))&&L("overflow"),Y+=ft*yt;var Ke=Ot<=De?g:Ot>=De+b?b:Ot-De;if(ftN(p/_t)&&L("overflow"),yt*=_t}var rt=G.length+1;De=re(Y-Ve,rt,Ve==0),N(Y/rt)>p-ye&&L("overflow"),ye+=N(Y/rt),Y%=rt,G.splice(Y++,0,ye)}return String.fromCodePoint.apply(String,G)},R=function(D){var G=[];D=W(D);var X=D.length,Y=v,ye=0,De=y,Ze=!0,Qe=!1,Pt=void 0;try{for(var Ve=D[Symbol.iterator](),yt;!(Ze=(yt=Ve.next()).done);Ze=!0){var Ot=yt.value;Ot<128&&G.push(j(Ot))}}catch(Xa){Qe=!0,Pt=Xa}finally{try{!Ze&&Ve.return&&Ve.return()}finally{if(Qe)throw Pt}}var ft=G.length,Ke=ft;for(ft&&G.push(_);Ke=Y&&ur<_t&&(_t=ur)}}catch(Xa){Wa=!0,cr=Xa}finally{try{!rt&&fr.return&&fr.return()}finally{if(Wa)throw cr}}var mr=Ke+1;_t-Y>N((p-ye)/mr)&&L("overflow"),ye+=(_t-Y)*mr,Y=_t;var Br=!0,Ka=!1,ia=void 0;try{for(var mi=D[Symbol.iterator](),zo;!(Br=(zo=mi.next()).done);Br=!0){var Ho=zo.value;if(Hop&&L("overflow"),Ho==Y){for(var Gn=ye,Zn=m;;Zn+=m){var oa=Zn<=De?g:Zn>=De+b?b:Zn-De;if(Gn>6|192).toString(16).toUpperCase()+"%"+(D&63|128).toString(16).toUpperCase():G="%"+(D>>12|224).toString(16).toUpperCase()+"%"+(D>>6&63|128).toString(16).toUpperCase()+"%"+(D&63|128).toString(16).toUpperCase(),G}function K(B){for(var D="",G=0,X=B.length;G=194&&Y<224){if(X-G>=6){var ye=parseInt(B.substr(G+4,2),16);D+=String.fromCharCode((Y&31)<<6|ye&63)}else D+=B.substr(G,6);G+=6}else if(Y>=224){if(X-G>=9){var De=parseInt(B.substr(G+4,2),16),Ze=parseInt(B.substr(G+7,2),16);D+=String.fromCharCode((Y&15)<<12|(De&63)<<6|Ze&63)}else D+=B.substr(G,9);G+=9}else D+=B.substr(G,3),G+=3}return D}function J(B,D){function G(X){var Y=K(X);return Y.match(D.UNRESERVED)?Y:X}return B.scheme&&(B.scheme=String(B.scheme).replace(D.PCT_ENCODED,G).toLowerCase().replace(D.NOT_SCHEME,"")),B.userinfo!==void 0&&(B.userinfo=String(B.userinfo).replace(D.PCT_ENCODED,G).replace(D.NOT_USERINFO,M).replace(D.PCT_ENCODED,a)),B.host!==void 0&&(B.host=String(B.host).replace(D.PCT_ENCODED,G).toLowerCase().replace(D.NOT_HOST,M).replace(D.PCT_ENCODED,a)),B.path!==void 0&&(B.path=String(B.path).replace(D.PCT_ENCODED,G).replace(B.scheme?D.NOT_PATH:D.NOT_PATH_NOSCHEME,M).replace(D.PCT_ENCODED,a)),B.query!==void 0&&(B.query=String(B.query).replace(D.PCT_ENCODED,G).replace(D.NOT_QUERY,M).replace(D.PCT_ENCODED,a)),B.fragment!==void 0&&(B.fragment=String(B.fragment).replace(D.PCT_ENCODED,G).replace(D.NOT_FRAGMENT,M).replace(D.PCT_ENCODED,a)),B}function de(B){return B.replace(/^0*(.*)/,"$1")||"0"}function se(B,D){var G=B.match(D.IPV4ADDRESS)||[],X=l(G,2),Y=X[1];return Y?Y.split(".").map(de).join("."):B}function me(B,D){var G=B.match(D.IPV6ADDRESS)||[],X=l(G,3),Y=X[1],ye=X[2];if(Y){for(var De=Y.toLowerCase().split("::").reverse(),Ze=l(De,2),Qe=Ze[0],Pt=Ze[1],Ve=Pt?Pt.split(":").map(de):[],yt=Qe.split(":").map(de),Ot=D.IPV4ADDRESS.test(yt[yt.length-1]),ft=Ot?7:8,Ke=yt.length-ft,_t=Array(ft),rt=0;rt1){var st=_t.slice(0,cr.index),ur=_t.slice(cr.index+cr.length);fr=st.join(":")+"::"+ur.join(":")}else fr=_t.join(":");return ye&&(fr+="%"+ye),fr}else return B}var O=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,C="".match(/(){0}/)[1]===void 0;function F(B){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G={},X=D.iri!==!1?u:c;D.reference==="suffix"&&(B=(D.scheme?D.scheme+":":"")+"//"+B);var Y=B.match(O);if(Y){C?(G.scheme=Y[1],G.userinfo=Y[3],G.host=Y[4],G.port=parseInt(Y[5],10),G.path=Y[6]||"",G.query=Y[7],G.fragment=Y[8],isNaN(G.port)&&(G.port=Y[5])):(G.scheme=Y[1]||void 0,G.userinfo=B.indexOf("@")!==-1?Y[3]:void 0,G.host=B.indexOf("//")!==-1?Y[4]:void 0,G.port=parseInt(Y[5],10),G.path=Y[6]||"",G.query=B.indexOf("?")!==-1?Y[7]:void 0,G.fragment=B.indexOf("#")!==-1?Y[8]:void 0,isNaN(G.port)&&(G.port=B.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?Y[4]:void 0)),G.host&&(G.host=me(se(G.host,X),X)),G.scheme===void 0&&G.userinfo===void 0&&G.host===void 0&&G.port===void 0&&!G.path&&G.query===void 0?G.reference="same-document":G.scheme===void 0?G.reference="relative":G.fragment===void 0?G.reference="absolute":G.reference="uri",D.reference&&D.reference!=="suffix"&&D.reference!==G.reference&&(G.error=G.error||"URI is not a "+D.reference+" reference.");var ye=k[(D.scheme||G.scheme||"").toLowerCase()];if(!D.unicodeSupport&&(!ye||!ye.unicodeSupport)){if(G.host&&(D.domainHost||ye&&ye.domainHost))try{G.host=w.toASCII(G.host.replace(X.PCT_ENCODED,K).toLowerCase())}catch(De){G.error=G.error||"Host's domain name can not be converted to ASCII via punycode: "+De}J(G,c)}else J(G,X);ye&&ye.parse&&ye.parse(G,D)}else G.error=G.error||"URI can not be parsed.";return G}function Z(B,D){var G=D.iri!==!1?u:c,X=[];return B.userinfo!==void 0&&(X.push(B.userinfo),X.push("@")),B.host!==void 0&&X.push(me(se(String(B.host),G),G).replace(G.IPV6ADDRESS,function(Y,ye,De){return"["+ye+(De?"%25"+De:"")+"]"})),(typeof B.port=="number"||typeof B.port=="string")&&(X.push(":"),X.push(String(B.port))),X.length?X.join(""):void 0}var ee=/^\.\.?\//,ce=/^\/\.(\/|$)/,Te=/^\/\.\.(\/|$)/,Ie=/^\/?(?:.|\n)*?(?=\/|$)/;function Ae(B){for(var D=[];B.length;)if(B.match(ee))B=B.replace(ee,"");else if(B.match(ce))B=B.replace(ce,"/");else if(B.match(Te))B=B.replace(Te,"/"),D.pop();else if(B==="."||B==="..")B="";else{var G=B.match(Ie);if(G){var X=G[0];B=B.slice(X.length),D.push(X)}else throw new Error("Unexpected dot segment condition")}return D.join("")}function Ne(B){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=D.iri?u:c,X=[],Y=k[(D.scheme||B.scheme||"").toLowerCase()];if(Y&&Y.serialize&&Y.serialize(B,D),B.host&&!G.IPV6ADDRESS.test(B.host)){if(D.domainHost||Y&&Y.domainHost)try{B.host=D.iri?w.toUnicode(B.host):w.toASCII(B.host.replace(G.PCT_ENCODED,K).toLowerCase())}catch(Ze){B.error=B.error||"Host's domain name can not be converted to "+(D.iri?"Unicode":"ASCII")+" via punycode: "+Ze}}J(B,G),D.reference!=="suffix"&&B.scheme&&(X.push(B.scheme),X.push(":"));var ye=Z(B,D);if(ye!==void 0&&(D.reference!=="suffix"&&X.push("//"),X.push(ye),B.path&&B.path.charAt(0)!=="/"&&X.push("/")),B.path!==void 0){var De=B.path;!D.absolutePath&&(!Y||!Y.absolutePath)&&(De=Ae(De)),ye===void 0&&(De=De.replace(/^\/\//,"/%2F")),X.push(De)}return B.query!==void 0&&(X.push("?"),X.push(B.query)),B.fragment!==void 0&&(X.push("#"),X.push(B.fragment)),X.join("")}function ke(B,D){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},X=arguments[3],Y={};return X||(B=F(Ne(B,G),G),D=F(Ne(D,G),G)),G=G||{},!G.tolerant&&D.scheme?(Y.scheme=D.scheme,Y.userinfo=D.userinfo,Y.host=D.host,Y.port=D.port,Y.path=Ae(D.path||""),Y.query=D.query):(D.userinfo!==void 0||D.host!==void 0||D.port!==void 0?(Y.userinfo=D.userinfo,Y.host=D.host,Y.port=D.port,Y.path=Ae(D.path||""),Y.query=D.query):(D.path?(D.path.charAt(0)==="/"?Y.path=Ae(D.path):((B.userinfo!==void 0||B.host!==void 0||B.port!==void 0)&&!B.path?Y.path="/"+D.path:B.path?Y.path=B.path.slice(0,B.path.lastIndexOf("/")+1)+D.path:Y.path=D.path,Y.path=Ae(Y.path)),Y.query=D.query):(Y.path=B.path,D.query!==void 0?Y.query=D.query:Y.query=B.query),Y.userinfo=B.userinfo,Y.host=B.host,Y.port=B.port),Y.scheme=B.scheme),Y.fragment=D.fragment,Y}function pt(B,D,G){var X=i({scheme:"null"},G);return Ne(ke(F(B,X),F(D,X),X,!0),X)}function Le(B,D){return typeof B=="string"?B=Ne(F(B,D),D):n(B)==="object"&&(B=F(Ne(B,D),D)),B}function pr(B,D,G){return typeof B=="string"?B=Ne(F(B,G),G):n(B)==="object"&&(B=Ne(B,G)),typeof D=="string"?D=Ne(F(D,G),G):n(D)==="object"&&(D=Ne(D,G)),B===D}function Vt(B,D){return B&&B.toString().replace(!D||!D.iri?c.ESCAPE:u.ESCAPE,M)}function It(B,D){return B&&B.toString().replace(!D||!D.iri?c.PCT_ENCODED:u.PCT_ENCODED,K)}var Ir={scheme:"http",domainHost:!0,parse:function(D,G){return D.host||(D.error=D.error||"HTTP URIs must have a host."),D},serialize:function(D,G){var X=String(D.scheme).toLowerCase()==="https";return(D.port===(X?443:80)||D.port==="")&&(D.port=void 0),D.path||(D.path="/"),D}},Sa={scheme:"https",domainHost:Ir.domainHost,parse:Ir.parse,serialize:Ir.serialize};function Bn(B){return typeof B.secure=="boolean"?B.secure:String(B.scheme).toLowerCase()==="wss"}var fi={scheme:"ws",domainHost:!0,parse:function(D,G){var X=D;return X.secure=Bn(X),X.resourceName=(X.path||"/")+(X.query?"?"+X.query:""),X.path=void 0,X.query=void 0,X},serialize:function(D,G){if((D.port===(Bn(D)?443:80)||D.port==="")&&(D.port=void 0),typeof D.secure=="boolean"&&(D.scheme=D.secure?"wss":"ws",D.secure=void 0),D.resourceName){var X=D.resourceName.split("?"),Y=l(X,2),ye=Y[0],De=Y[1];D.path=ye&&ye!=="/"?ye:void 0,D.query=De,D.resourceName=void 0}return D.fragment=void 0,D}},ph={scheme:"wss",domainHost:fi.domainHost,parse:fi.parse,serialize:fi.serialize},w$={},S$=!0,fh="[A-Za-z0-9\\-\\.\\_\\~"+(S$?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",Hr="[0-9A-Fa-f]",E$=r(r("%[EFef]"+Hr+"%"+Hr+Hr+"%"+Hr+Hr)+"|"+r("%[89A-Fa-f]"+Hr+"%"+Hr+Hr)+"|"+r("%"+Hr+Hr)),T$="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",k$="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",$$=e(k$,'[\\"\\\\]'),R$="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",P$=new RegExp(fh,"g"),Vn=new RegExp(E$,"g"),O$=new RegExp(e("[^]",T$,"[\\.]",'[\\"]',$$),"g"),mh=new RegExp(e("[^]",fh,R$),"g"),C$=mh;function td(B){var D=K(B);return D.match(P$)?D:B}var hh={scheme:"mailto",parse:function(D,G){var X=D,Y=X.to=X.path?X.path.split(","):[];if(X.path=void 0,X.query){for(var ye=!1,De={},Ze=X.query.split("&"),Qe=0,Pt=Ze.length;Qe{"use strict";rw.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,a,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(a=n;a--!==0;)if(!t(e[a],r[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(a=n;a--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[a]))return!1;for(a=n;a--!==0;){var i=s[a];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var nw=V((mW,aw)=>{"use strict";aw.exports=function(e){for(var r=0,n=e.length,a=0,s;a=55296&&s<=56319&&a{"use strict";ow.exports={copy:KD,checkDataType:wf,checkDataTypes:XD,coerceToTypes:JD,toHash:Ef,getProperty:Tf,escapeQuotes:kf,equal:fu(),ucs2length:nw(),varOccurences:e8,varReplace:t8,schemaHasRules:r8,schemaHasRulesExcept:a8,schemaUnknownRules:n8,toQuotedString:Sf,getPathExpr:s8,getPath:i8,getData:u8,unescapeFragment:l8,unescapeJsonPointer:Rf,escapeFragment:d8,escapeJsonPointer:$f};function KD(t,e){e=e||{};for(var r in t)e[r]=t[r];return e}function wf(t,e,r,n){var a=n?" !== ":" === ",s=n?" || ":" && ",i=n?"!":"",o=n?"":"!";switch(t){case"null":return e+a+"null";case"array":return i+"Array.isArray("+e+")";case"object":return"("+i+e+s+"typeof "+e+a+'"object"'+s+o+"Array.isArray("+e+"))";case"integer":return"(typeof "+e+a+'"number"'+s+o+"("+e+" % 1)"+s+e+a+e+(r?s+i+"isFinite("+e+")":"")+")";case"number":return"(typeof "+e+a+'"'+t+'"'+(r?s+i+"isFinite("+e+")":"")+")";default:return"typeof "+e+a+'"'+t+'"'}}function XD(t,e,r){switch(t.length){case 1:return wf(t[0],e,r,!0);default:var n="",a=Ef(t);a.array&&a.object&&(n=a.null?"(":"(!"+e+" || ",n+="typeof "+e+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer;for(var s in a)n+=(n?" && ":"")+wf(s,e,r,!0);return n}}var sw=Ef(["string","number","integer","boolean","null"]);function JD(t,e){if(Array.isArray(e)){for(var r=[],n=0;n=e)throw new Error("Cannot access property/index "+n+" levels up, current level is "+e);return r[e-n]}if(n>e)throw new Error("Cannot access data "+n+" levels up, current level is "+e);if(s="data"+(e-n||""),!a)return s}for(var o=s,c=a.split("/"),u=0;u{"use strict";var p8=Cn();cw.exports=f8;function f8(t){p8.copy(t,this)}});var lw=V((gW,uw)=>{"use strict";var Ma=uw.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},a=r.post||function(){};mu(e,n,a,t,"",t)};Ma.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0};Ma.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Ma.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Ma.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function mu(t,e,r,n,a,s,i,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,a,s,i,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Ma.arrayKeywords)for(var p=0;p{"use strict";var so=tw(),dw=fu(),yu=Cn(),hu=Pf(),h8=lw();mw.exports=qa;qa.normalizeId=Da;qa.fullPath=vu;qa.url=gu;qa.ids=b8;qa.inlineRef=Of;qa.schema=_u;function qa(t,e,r){var n=this._refs[r];if(typeof n=="string")if(this._refs[n])n=this._refs[n];else return qa.call(this,t,e,n);if(n=n||this._schemas[r],n instanceof hu)return Of(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var a=_u.call(this,e,r),s,i,o;return a&&(s=a.schema,e=a.root,o=a.baseId),s instanceof hu?i=s.validate||t.call(this,s.schema,e,void 0,o):s!==void 0&&(i=Of(s,this._opts.inlineRefs)?s:t.call(this,s,e,void 0,o)),i}function _u(t,e){var r=so.parse(e),n=fw(r),a=vu(this._getId(t.schema));if(Object.keys(t.schema).length===0||n!==a){var s=Da(n),i=this._refs[s];if(typeof i=="string")return v8.call(this,t,i,r);if(i instanceof hu)i.validate||this._compile(i),t=i;else if(i=this._schemas[s],i instanceof hu){if(i.validate||this._compile(i),s==Da(e))return{schema:i,root:t,baseId:a};t=i}else return;if(!t.schema)return;a=vu(this._getId(t.schema))}return pw.call(this,r,a,t.schema,t)}function v8(t,e,r){var n=_u.call(this,t,e);if(n){var a=n.schema,s=n.baseId;t=n.root;var i=this._getId(a);return i&&(s=gu(s,i)),pw.call(this,r,s,a,t)}}var g8=yu.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function pw(t,e,r,n){if(t.fragment=t.fragment||"",t.fragment.slice(0,1)=="/"){for(var a=t.fragment.split("/"),s=1;s{"use strict";var Af=bu();vw.exports={Validation:hw(x8),MissingRef:hw(Nf)};function x8(t){this.message="validation failed",this.errors=t,this.ajv=this.validation=!0}Nf.message=function(t,e){return"can't resolve reference "+e+" from id "+t};function Nf(t,e,r){this.message=r||Nf.message(t,e),this.missingRef=Af.url(t,e),this.missingSchema=Af.normalizeId(Af.fullPath(this.missingRef))}function hw(t){return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}});var jf=V((bW,gw)=>{"use strict";gw.exports=function(t,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var r=typeof e.cycles=="boolean"?e.cycles:!1,n=e.cmp&&(function(s){return function(i){return function(o,c){var u={key:o,value:i[o]},l={key:c,value:i[c]};return s(u,l)}}})(e.cmp),a=[];return(function s(i){if(i&&i.toJSON&&typeof i.toJSON=="function"&&(i=i.toJSON()),i!==void 0){if(typeof i=="number")return isFinite(i)?""+i:"null";if(typeof i!="object")return JSON.stringify(i);var o,c;if(Array.isArray(i)){for(c="[",o=0;o{"use strict";yw.exports=function(e,r,n){var a="",s=e.schema.$async===!0,i=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var c=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(c){var u="unknown keyword: "+c;if(e.opts.strictKeywords==="log")e.logger.warn(u);else throw new Error(u)}}if(e.isTop&&(a+=" var validate = ",s&&(e.async=!0,a+="async "),a+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(e.opts.sourceCode||e.opts.processCode)&&(a+=" "+("/*# sourceURL="+o+" */")+" ")),typeof e.schema=="boolean"||!(i||e.schema.$ref)){var r="false schema",l=e.level,d=e.dataLevel,p=e.schema[r],m=e.schemaPath+e.util.getProperty(r),g=e.errSchemaPath+"/"+r,S=!e.opts.allErrors,T,b="data"+(d||""),_="valid"+l;if(e.schema===!1){e.isTop?S=!0:a+=" var "+_+" = false; ";var f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(T||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: 'boolean schema is false' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+b+" "),a+=" } "):a+=" {} ";var h=a;a=f.pop(),!e.compositeRule&&S?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?s?a+=" return data; ":a+=" validate.errors = null; return true; ":a+=" var "+_+" = true; ";return e.isTop&&(a+=" }; return validate; "),a}if(e.isTop){var y=e.isTop,l=e.level=0,d=e.dataLevel=0,b="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],e.schema.default!==void 0&&e.opts.useDefaults&&e.opts.strictDefaults){var v="default is ignored in the schema root";if(e.opts.strictDefaults==="log")e.logger.warn(v);else throw new Error(v)}a+=" var vErrors = null; ",a+=" var errors = 0; ",a+=" if (rootData === undefined) rootData = data; "}else{var l=e.level,d=e.dataLevel,b="data"+(d||"");if(o&&(e.baseId=e.resolve.url(e.baseId,o)),s&&!e.async)throw new Error("async schema in sync schema");a+=" var errs_"+l+" = errors;"}var _="valid"+l,S=!e.opts.allErrors,x="",E="",T,$=e.schema.type,N=Array.isArray($);if($&&e.opts.nullable&&e.schema.nullable===!0&&(N?$.indexOf("null")==-1&&($=$.concat("null")):$!="null"&&($=[$,"null"],N=!0)),N&&$.length==1&&($=$[0],N=!1),e.schema.$ref&&i){if(e.opts.extendRefs=="fail")throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');e.opts.extendRefs!==!0&&(i=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(a+=" "+e.RULES.all.$comment.code(e,"$comment")),$){if(e.opts.coerceTypes)var j=e.util.coerceToTypes(e.opts.coerceTypes,$);var L=e.RULES.types[$];if(j||N||L===!0||L&&!Ie(L)){var m=e.schemaPath+".type",g=e.errSchemaPath+"/type",m=e.schemaPath+".type",g=e.errSchemaPath+"/type",H=N?"checkDataTypes":"checkDataType";if(a+=" if ("+e.util[H]($,b,e.opts.strictNumbers,!0)+") { ",j){var A="dataType"+l,W="coerced"+l;a+=" var "+A+" = typeof "+b+"; var "+W+" = undefined; ",e.opts.coerceTypes=="array"&&(a+=" if ("+A+" == 'object' && Array.isArray("+b+") && "+b+".length == 1) { "+b+" = "+b+"[0]; "+A+" = typeof "+b+"; if ("+e.util.checkDataType(e.schema.type,b,e.opts.strictNumbers)+") "+W+" = "+b+"; } "),a+=" if ("+W+" !== undefined) ; ";var oe=j;if(oe)for(var he,ne=-1,re=oe.length-1;ne{"use strict";var wu=bu(),Eu=Cn(),bw=xu(),w8=jf(),_w=Mf(),S8=Eu.ucs2length,E8=fu(),T8=bw.Validation;ww.exports=Df;function Df(t,e,r,n){var a=this,s=this._opts,i=[void 0],o={},c=[],u={},l=[],d={},p=[];e=e||{schema:t,refVal:i,refs:o};var m=k8.call(this,t,e,n),g=this._compilations[m.index];if(m.compiling)return g.callValidate=v;var b=this._formats,f=this.RULES;try{var h=_(t,e,r,n);g.validate=h;var y=g.callValidate;return y&&(y.schema=h.schema,y.errors=null,y.refs=h.refs,y.refVal=h.refVal,y.root=h.root,y.$async=h.$async,s.sourceCode&&(y.source=h.source)),h}finally{$8.call(this,t,e,n)}function v(){var H=g.validate,A=H.apply(this,arguments);return v.errors=H.errors,A}function _(H,A,W,oe){var he=!A||A&&A.schema==H;if(A.schema!=e.schema)return Df.call(a,H,A,W,oe);var ne=H.$async===!0,re=_w({isTop:!0,schema:H,isRoot:he,baseId:oe,root:A,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:bw.MissingRef,RULES:f,validate:_w,util:Eu,resolve:wu,resolveRef:S,usePattern:N,useDefault:j,useCustomRule:L,opts:s,formats:b,logger:a.logger,self:a});re=Su(i,O8)+Su(c,R8)+Su(l,P8)+Su(p,C8)+re,s.processCode&&(re=s.processCode(re,H));var U;try{var R=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",re);U=R(a,f,b,e,i,l,p,E8,S8,T8),i[0]=U}catch(z){throw a.logger.error("Error compiling schema, function code:",re),z}return U.schema=H,U.errors=null,U.refs=o,U.refVal=i,U.root=he?U:A,ne&&(U.$async=!0),s.sourceCode===!0&&(U.source={code:re,patterns:c,defaults:l}),U}function S(H,A,W){A=wu.url(H,A);var oe=o[A],he,ne;if(oe!==void 0)return he=i[oe],ne="refVal["+oe+"]",$(he,ne);if(!W&&e.refs){var re=e.refs[A];if(re!==void 0)return he=e.refVal[re],ne=x(A,he),$(he,ne)}ne=x(A);var U=wu.call(a,_,e,A);if(U===void 0){var R=r&&r[A];R&&(U=wu.inlineRef(R,s.inlineRefs)?R:Df.call(a,R,e,r,H))}if(U===void 0)E(A);else return T(A,U),$(U,ne)}function x(H,A){var W=i.length;return i[W]=A,o[H]=W,"refVal"+W}function E(H){delete o[H]}function T(H,A){var W=o[H];i[W]=A}function $(H,A){return typeof H=="object"||typeof H=="boolean"?{code:A,schema:H,inline:!0}:{code:A,$async:H&&!!H.$async}}function N(H){var A=u[H];return A===void 0&&(A=u[H]=c.length,c[A]=H),"pattern"+A}function j(H){switch(typeof H){case"boolean":case"number":return""+H;case"string":return Eu.toQuotedString(H);case"object":if(H===null)return"null";var A=w8(H),W=d[A];return W===void 0&&(W=d[A]=l.length,l[W]=H),"default"+W}}function L(H,A,W,oe){if(a._opts.validateSchema!==!1){var he=H.definition.dependencies;if(he&&!he.every(function(M){return Object.prototype.hasOwnProperty.call(W,M)}))throw new Error("parent schema must have all required keywords: "+he.join(","));var ne=H.definition.validateSchema;if(ne){var re=ne(A);if(!re){var U="keyword schema is invalid: "+a.errorsText(ne.errors);if(a._opts.validateSchema=="log")a.logger.error(U);else throw new Error(U)}}}var R=H.definition.compile,z=H.definition.inline,I=H.definition.macro,w;if(R)w=R.call(a,A,W,oe);else if(I)w=I.call(a,A,W,oe),s.validateSchema!==!1&&a.validateSchema(w,!0);else if(z)w=z.call(a,oe,H.keyword,A,W);else if(w=H.definition.validate,!w)return;if(w===void 0)throw new Error('custom keyword "'+H.keyword+'"failed to compile');var k=p.length;return p[k]=w,{code:"customRule"+k,validate:w}}}function k8(t,e,r){var n=xw.call(this,t,e,r);return n>=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:t,root:e,baseId:r},{index:n,compiling:!1})}function $8(t,e,r){var n=xw.call(this,t,e,r);n>=0&&this._compilations.splice(n,1)}function xw(t,e,r){for(var n=0;n{"use strict";var Tu=Ew.exports=function(){this._cache={}};Tu.prototype.put=function(e,r){this._cache[e]=r};Tu.prototype.get=function(e){return this._cache[e]};Tu.prototype.del=function(e){delete this._cache[e]};Tu.prototype.clear=function(){this._cache={}}});var Dw=V((EW,Mw)=>{"use strict";var I8=Cn(),A8=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,N8=[0,31,28,31,30,31,30,31,31,30,31,30,31],j8=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,kw=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,M8=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,D8=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,$w=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,Rw=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,Pw=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Ow=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Cw=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Iw=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;Mw.exports=ku;function ku(t){return t=t=="full"?"full":"fast",I8.copy(ku[t])}ku.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":$w,url:Rw,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:kw,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:jw,uuid:Pw,"json-pointer":Ow,"json-pointer-uri-fragment":Cw,"relative-json-pointer":Iw};ku.full={date:Aw,time:Nw,"date-time":F8,uri:z8,"uri-reference":D8,"uri-template":$w,url:Rw,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:kw,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:jw,uuid:Pw,"json-pointer":Ow,"json-pointer-uri-fragment":Cw,"relative-json-pointer":Iw};function q8(t){return t%4===0&&(t%100!==0||t%400===0)}function Aw(t){var e=t.match(A8);if(!e)return!1;var r=+e[1],n=+e[2],a=+e[3];return n>=1&&n<=12&&a>=1&&a<=(n==2&&q8(r)?29:N8[n])}function Nw(t,e){var r=t.match(j8);if(!r)return!1;var n=r[1],a=r[2],s=r[3],i=r[5];return(n<=23&&a<=59&&s<=59||n==23&&a==59&&s==60)&&(!e||i)}var L8=/t|\s/i;function F8(t){var e=t.split(L8);return e.length==2&&Aw(e[0])&&Nw(e[1],!0)}var U8=/\/|:/;function z8(t){return U8.test(t)&&M8.test(t)}var H8=/[^\\]\\Z/;function jw(t){if(H8.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var Lw=V((TW,qw)=>{"use strict";qw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,l="data"+(i||""),d="valid"+s,p,m;if(o=="#"||o=="#/")e.isRoot?(p=e.async,m="validate"):(p=e.root.schema.$async===!0,m="root.refVal[0]");else{var g=e.resolveRef(e.baseId,o,e.isRoot);if(g===void 0){var b=e.MissingRefError.message(e.baseId,o);if(e.opts.missingRefs=="fail"){e.logger.error(b);var f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { ref: '"+e.util.escapeQuotes(o)+"' } ",e.opts.messages!==!1&&(a+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(o)+"' "),e.opts.verbose&&(a+=" , schema: "+e.util.toQuotedString(o)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),a+=" } "):a+=" {} ";var h=a;a=f.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(a+=" if (false) { ")}else if(e.opts.missingRefs=="ignore")e.logger.warn(b),u&&(a+=" if (true) { ");else throw new e.MissingRefError(e.baseId,o,b)}else if(g.inline){var y=e.util.copy(e);y.level++;var v="valid"+y.level;y.schema=g.schema,y.schemaPath="",y.errSchemaPath=o;var _=e.validate(y).replace(/validate\.schema/g,g.code);a+=" "+_+" ",u&&(a+=" if ("+v+") { ")}else p=g.$async===!0||e.async&&g.$async!==!1,m=g.code}if(m){var f=f||[];f.push(a),a="",e.opts.passContext?a+=" "+m+".call(this, ":a+=" "+m+"( ",a+=" "+l+", (dataPath || '')",e.errorPath!='""'&&(a+=" + "+e.errorPath);var S=i?"data"+(i-1||""):"parentData",x=i?e.dataPathArr[i]:"parentDataProperty";a+=" , "+S+" , "+x+", rootData) ";var E=a;if(a=f.pop(),p){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(a+=" var "+d+"; "),a+=" try { await "+E+"; ",u&&(a+=" "+d+" = true; "),a+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(a+=" "+d+" = false; "),a+=" } ",u&&(a+=" if ("+d+") { ")}else a+=" if (!"+E+") { if (vErrors === null) vErrors = "+m+".errors; else vErrors = vErrors.concat("+m+".errors); errors = vErrors.length; } ",u&&(a+=" else { ")}return a}});var Uw=V((kW,Fw)=>{"use strict";Fw.exports=function(e,r,n){var a=" ",s=e.schema[r],i=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u=e.util.copy(e),l="";u.level++;var d="valid"+u.level,p=u.baseId,m=!0,g=s;if(g)for(var b,f=-1,h=g.length-1;f0||b===!1:e.util.schemaHasRules(b,e.RULES.all))&&(m=!1,u.schema=b,u.schemaPath=i+"["+f+"]",u.errSchemaPath=o+"/"+f,a+=" "+e.validate(u)+" ",u.baseId=p,c&&(a+=" if ("+d+") { ",l+="}"));return c&&(m?a+=" if (true) { ":a+=" "+l.slice(0,-1)+" "),a}});var Hw=V(($W,zw)=>{"use strict";zw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),b="";g.level++;var f="valid"+g.level,h=o.every(function(T){return e.opts.strictKeywords?typeof T=="object"&&Object.keys(T).length>0||T===!1:e.util.schemaHasRules(T,e.RULES.all)});if(h){var y=g.baseId;a+=" var "+m+" = errors; var "+p+" = false; ";var v=e.compositeRule;e.compositeRule=g.compositeRule=!0;var _=o;if(_)for(var S,x=-1,E=_.length-1;x{"use strict";Bw.exports=function(e,r,n){var a=" ",s=e.schema[r],i=e.errSchemaPath+"/"+r,o=!e.opts.allErrors,c=e.util.toQuotedString(s);return e.opts.$comment===!0?a+=" console.log("+c+");":typeof e.opts.$comment=="function"&&(a+=" self._opts.$comment("+c+", "+e.util.toQuotedString(i)+", validate.root.schema);"),a}});var Zw=V((PW,Gw)=>{"use strict";Gw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o,m||(a+=" var schema"+s+" = validate.schema"+c+";"),a+="var "+p+" = equal("+d+", schema"+s+"); if (!"+p+") { ";var b=b||[];b.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValue: schema"+s+" } ",e.opts.messages!==!1&&(a+=" , message: 'should be equal to constant' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var f=a;return a=b.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+f+"]); ":a+=" validate.errors = ["+f+"]; return false; ":a+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",l&&(a+=" else { "),a}});var Kw=V((OW,Ww)=>{"use strict";Ww.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),b="";g.level++;var f="valid"+g.level,h="i"+s,y=g.dataLevel=e.dataLevel+1,v="data"+y,_=e.baseId,S=e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all);if(a+="var "+m+" = errors;var "+p+";",S){var x=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,a+=" var "+f+" = false; for (var "+h+" = 0; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var E=d+"["+h+"]";g.dataPathArr[y]=h;var T=e.validate(g);g.baseId=_,e.util.varOccurences(T,v)<2?a+=" "+e.util.varReplace(T,v,E)+" ":a+=" var "+v+" = "+E+"; "+T+" ",a+=" if ("+f+") break; } ",e.compositeRule=g.compositeRule=x,a+=" "+b+" if (!"+f+") {"}else a+=" if ("+d+".length == 0) {";var $=$||[];$.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: 'should contain a valid item' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var N=a;return a=$.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+N+"]); ":a+=" validate.errors = ["+N+"]; return false; ":a+=" var err = "+N+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ",S&&(a+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } "),e.opts.allErrors&&(a+=" } "),a}});var Jw=V((CW,Xw)=>{"use strict";Xw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var b="valid"+m.level,f={},h={},y=e.opts.ownProperties;for(x in o)if(x!="__proto__"){var v=o[x],_=Array.isArray(v)?h:f;_[x]=v}a+="var "+p+" = errors;";var S=e.errorPath;a+="var missing"+s+";";for(var x in h)if(_=h[x],_.length){if(a+=" if ( "+d+e.util.getProperty(x)+" !== undefined ",y&&(a+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(x)+"') "),l){a+=" && ( ";var E=_;if(E)for(var T,$=-1,N=E.length-1;$0||v===!1:e.util.schemaHasRules(v,e.RULES.all))&&(a+=" "+b+" = true; if ( "+d+e.util.getProperty(x)+" !== undefined ",y&&(a+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(x)+"') "),a+=") { ",m.schema=v,m.schemaPath=c+e.util.getProperty(x),m.errSchemaPath=u+"/"+e.util.escapeFragment(x),a+=" "+e.validate(m)+" ",m.baseId=U,a+=" } ",l&&(a+=" if ("+b+") { ",g+="}"))}return l&&(a+=" "+g+" if ("+p+" == errors) {"),a}});var Qw=V((IW,Yw)=>{"use strict";Yw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o;var b="i"+s,f="schema"+s;m||(a+=" var "+f+" = validate.schema"+c+";"),a+="var "+p+";",m&&(a+=" if (schema"+s+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+s+")) "+p+" = false; else {"),a+=""+p+" = false;for (var "+b+"=0; "+b+"<"+f+".length; "+b+"++) if (equal("+d+", "+f+"["+b+"])) { "+p+" = true; break; }",m&&(a+=" } "),a+=" if (!"+p+") { ";var h=h||[];h.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValues: schema"+s+" } ",e.opts.messages!==!1&&(a+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var y=a;return a=h.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",l&&(a+=" else { "),a}});var tS=V((AW,eS)=>{"use strict";eS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||"");if(e.opts.format===!1)return l&&(a+=" if (true) { "),a;var p=e.opts.$data&&o&&o.$data,m;p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=e.opts.unknownFormats,b=Array.isArray(g);if(p){var f="format"+s,h="isObject"+s,y="formatType"+s;a+=" var "+f+" = formats["+m+"]; var "+h+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+y+" = "+h+" && "+f+".type || 'string'; if ("+h+") { ",e.async&&(a+=" var async"+s+" = "+f+".async; "),a+=" "+f+" = "+f+".validate; } if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),a+=" (",g!="ignore"&&(a+=" ("+m+" && !"+f+" ",b&&(a+=" && self._opts.unknownFormats.indexOf("+m+") == -1 "),a+=") || "),a+=" ("+f+" && "+y+" == '"+n+"' && !(typeof "+f+" == 'function' ? ",e.async?a+=" (async"+s+" ? await "+f+"("+d+") : "+f+"("+d+")) ":a+=" "+f+"("+d+") ",a+=" : "+f+".test("+d+"))))) {"}else{var f=e.formats[o];if(!f){if(g=="ignore")return e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"'),l&&(a+=" if (true) { "),a;if(b&&g.indexOf(o)>=0)return l&&(a+=" if (true) { "),a;throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}var h=typeof f=="object"&&!(f instanceof RegExp)&&f.validate,y=h&&f.type||"string";if(h){var v=f.async===!0;f=f.validate}if(y!=n)return l&&(a+=" if (true) { "),a;if(v){if(!e.async)throw new Error("async format in sync schema");var _="formats"+e.util.getProperty(o)+".validate";a+=" if (!(await "+_+"("+d+"))) { "}else{a+=" if (! ";var _="formats"+e.util.getProperty(o);h&&(_+=".validate"),typeof f=="function"?a+=" "+_+"("+d+") ":a+=" "+_+".test("+d+") ",a+=") { "}}var S=S||[];S.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { format: ",p?a+=""+m:a+=""+e.util.toQuotedString(o),a+=" } ",e.opts.messages!==!1&&(a+=` , message: 'should match format "`,p?a+="' + "+m+" + '":a+=""+e.util.escapeQuotes(o),a+=`"' `),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+e.util.toQuotedString(o),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var x=a;return a=S.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+x+"]); ":a+=" validate.errors = ["+x+"]; return false; ":a+=" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l&&(a+=" else { "),a}});var aS=V((NW,rS)=>{"use strict";rS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e);g.level++;var b="valid"+g.level,f=e.schema.then,h=e.schema.else,y=f!==void 0&&(e.opts.strictKeywords?typeof f=="object"&&Object.keys(f).length>0||f===!1:e.util.schemaHasRules(f,e.RULES.all)),v=h!==void 0&&(e.opts.strictKeywords?typeof h=="object"&&Object.keys(h).length>0||h===!1:e.util.schemaHasRules(h,e.RULES.all)),_=g.baseId;if(y||v){var S;g.createErrors=!1,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,a+=" var "+m+" = errors; var "+p+" = true; ";var x=e.compositeRule;e.compositeRule=g.compositeRule=!0,a+=" "+e.validate(g)+" ",g.baseId=_,g.createErrors=!0,a+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } ",e.compositeRule=g.compositeRule=x,y?(a+=" if ("+b+") { ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",a+=" "+e.validate(g)+" ",g.baseId=_,a+=" "+p+" = "+b+"; ",y&&v?(S="ifClause"+s,a+=" var "+S+" = 'then'; "):S="'then'",a+=" } ",v&&(a+=" else { ")):a+=" if (!"+b+") { ",v&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",a+=" "+e.validate(g)+" ",g.baseId=_,a+=" "+p+" = "+b+"; ",y&&v?(S="ifClause"+s,a+=" var "+S+" = 'else'; "):S="'else'",a+=" } "),a+=" if (!"+p+") { var err = ",e.createErrors!==!1?(a+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { failingKeyword: "+S+" } ",e.opts.messages!==!1&&(a+=` , message: 'should match "' + `+S+` + '" schema' `),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+=" } ",l&&(a+=" else { ")}else l&&(a+=" if (true) { ");return a}});var sS=V((jW,nS)=>{"use strict";nS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),b="";g.level++;var f="valid"+g.level,h="i"+s,y=g.dataLevel=e.dataLevel+1,v="data"+y,_=e.baseId;if(a+="var "+m+" = errors;var "+p+";",Array.isArray(o)){var S=e.schema.additionalItems;if(S===!1){a+=" "+p+" = "+d+".length <= "+o.length+"; ";var x=u;u=e.errSchemaPath+"/additionalItems",a+=" if (!"+p+") { ";var E=E||[];E.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+o.length+" } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT have more than "+o.length+" items' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var T=a;a=E.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+T+"]); ":a+=" validate.errors = ["+T+"]; return false; ":a+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",u=x,l&&(b+="}",a+=" else { ")}var $=o;if($){for(var N,j=-1,L=$.length-1;j0||N===!1:e.util.schemaHasRules(N,e.RULES.all)){a+=" "+f+" = true; if ("+d+".length > "+j+") { ";var H=d+"["+j+"]";g.schema=N,g.schemaPath=c+"["+j+"]",g.errSchemaPath=u+"/"+j,g.errorPath=e.util.getPathExpr(e.errorPath,j,e.opts.jsonPointers,!0),g.dataPathArr[y]=j;var A=e.validate(g);g.baseId=_,e.util.varOccurences(A,v)<2?a+=" "+e.util.varReplace(A,v,H)+" ":a+=" var "+v+" = "+H+"; "+A+" ",a+=" } ",l&&(a+=" if ("+f+") { ",b+="}")}}if(typeof S=="object"&&(e.opts.strictKeywords?typeof S=="object"&&Object.keys(S).length>0||S===!1:e.util.schemaHasRules(S,e.RULES.all))){g.schema=S,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",a+=" "+f+" = true; if ("+d+".length > "+o.length+") { for (var "+h+" = "+o.length+"; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var H=d+"["+h+"]";g.dataPathArr[y]=h;var A=e.validate(g);g.baseId=_,e.util.varOccurences(A,v)<2?a+=" "+e.util.varReplace(A,v,H)+" ":a+=" var "+v+" = "+H+"; "+A+" ",l&&(a+=" if (!"+f+") break; "),a+=" } } ",l&&(a+=" if ("+f+") { ",b+="}")}}else if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){g.schema=o,g.schemaPath=c,g.errSchemaPath=u,a+=" for (var "+h+" = 0; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var H=d+"["+h+"]";g.dataPathArr[y]=h;var A=e.validate(g);g.baseId=_,e.util.varOccurences(A,v)<2?a+=" "+e.util.varReplace(A,v,H)+" ":a+=" var "+v+" = "+H+"; "+A+" ",l&&(a+=" if (!"+f+") break; "),a+=" }"}return l&&(a+=" "+b+" if ("+m+" == errors) {"),a}});var qf=V((MW,iS)=>{"use strict";iS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,_,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=r=="maximum",b=g?"exclusiveMaximum":"exclusiveMinimum",f=e.schema[b],h=e.opts.$data&&f&&f.$data,y=g?"<":">",v=g?">":"<",_=void 0;if(!(p||typeof o=="number"||o===void 0))throw new Error(r+" must be number");if(!(h||f===void 0||typeof f=="number"||typeof f=="boolean"))throw new Error(b+" must be number or boolean");if(h){var S=e.util.getData(f.$data,i,e.dataPathArr),x="exclusive"+s,E="exclType"+s,T="exclIsNumber"+s,$="op"+s,N="' + "+$+" + '";a+=" var schemaExcl"+s+" = "+S+"; ",S="schemaExcl"+s,a+=" var "+x+"; var "+E+" = typeof "+S+"; if ("+E+" != 'boolean' && "+E+" != 'undefined' && "+E+" != 'number') { ";var _=b,j=j||[];j.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(_||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: '"+b+" should be boolean' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var L=a;a=j.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+L+"]); ":a+=" validate.errors = ["+L+"]; return false; ":a+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" "+E+" == 'number' ? ( ("+x+" = "+m+" === undefined || "+S+" "+y+"= "+m+") ? "+d+" "+v+"= "+S+" : "+d+" "+v+" "+m+" ) : ( ("+x+" = "+S+" === true) ? "+d+" "+v+"= "+m+" : "+d+" "+v+" "+m+" ) || "+d+" !== "+d+") { var op"+s+" = "+x+" ? '"+y+"' : '"+y+"='; ",o===void 0&&(_=b,u=e.errSchemaPath+"/"+b,m=S,p=h)}else{var T=typeof f=="number",N=y;if(T&&p){var $="'"+N+"'";a+=" if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" ( "+m+" === undefined || "+f+" "+y+"= "+m+" ? "+d+" "+v+"= "+f+" : "+d+" "+v+" "+m+" ) || "+d+" !== "+d+") { "}else{T&&o===void 0?(x=!0,_=b,u=e.errSchemaPath+"/"+b,m=f,v+="="):(T&&(m=Math[g?"min":"max"](f,o)),f===(T?m:!0)?(x=!0,_=b,u=e.errSchemaPath+"/"+b,v+="="):(x=!1,N+="="));var $="'"+N+"'";a+=" if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" "+d+" "+v+" "+m+" || "+d+" !== "+d+") { "}}_=_||r;var j=j||[];j.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(_||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+$+", limit: "+m+", exclusive: "+x+" } ",e.opts.messages!==!1&&(a+=" , message: 'should be "+N+" ",p?a+="' + "+m:a+=""+m+"'"),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var L=a;return a=j.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+L+"]); ":a+=" validate.errors = ["+L+"]; return false; ":a+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l&&(a+=" else { "),a}});var Lf=V((DW,oS)=>{"use strict";oS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,b,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxItems"?">":"<";a+="if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" "+d+".length "+g+" "+m+") { ";var b=r,f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(b||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT have ",r=="maxItems"?a+="more":a+="fewer",a+=" than ",p?a+="' + "+m+" + '":a+=""+o,a+=" items' "),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var h=a;return a=f.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var Ff=V((qW,cS)=>{"use strict";cS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,b,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxLength"?">":"<";a+="if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),e.opts.unicode===!1?a+=" "+d+".length ":a+=" ucs2length("+d+") ",a+=" "+g+" "+m+") { ";var b=r,f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(b||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT be ",r=="maxLength"?a+="longer":a+="shorter",a+=" than ",p?a+="' + "+m+" + '":a+=""+o,a+=" characters' "),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var h=a;return a=f.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var Uf=V((LW,uS)=>{"use strict";uS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,b,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxProperties"?">":"<";a+="if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" Object.keys("+d+").length "+g+" "+m+") { ";var b=r,f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(b||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT have ",r=="maxProperties"?a+="more":a+="fewer",a+=" than ",p?a+="' + "+m+" + '":a+=""+o,a+=" properties' "),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var h=a;return a=f.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var dS=V((FW,lS)=>{"use strict";lS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");a+="var division"+s+";if (",p&&(a+=" "+m+" !== undefined && ( typeof "+m+" != 'number' || "),a+=" (division"+s+" = "+d+" / "+m+", ",e.opts.multipleOfPrecision?a+=" Math.abs(Math.round(division"+s+") - division"+s+") > 1e-"+e.opts.multipleOfPrecision+" ":a+=" division"+s+" !== parseInt(division"+s+") ",a+=" ) ",p&&(a+=" ) "),a+=" ) { ";var g=g||[];g.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+m+" } ",e.opts.messages!==!1&&(a+=" , message: 'should be multiple of ",p?a+="' + "+m:a+=""+m+"'"),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var b=a;return a=g.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+b+"]); ":a+=" validate.errors = ["+b+"]; return false; ":a+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var fS=V((UW,pS)=>{"use strict";pS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e);m.level++;var g="valid"+m.level;if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){m.schema=o,m.schemaPath=c,m.errSchemaPath=u,a+=" var "+p+" = errors; ";var b=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.createErrors=!1;var f;m.opts.allErrors&&(f=m.opts.allErrors,m.opts.allErrors=!1),a+=" "+e.validate(m)+" ",m.createErrors=!0,f&&(m.opts.allErrors=f),e.compositeRule=m.compositeRule=b,a+=" if ("+g+") { ";var h=h||[];h.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var y=a;a=h.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } ")}else a+=" var err = ",e.createErrors!==!1?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(a+=" if (false) { ");return a}});var hS=V((zW,mS)=>{"use strict";mS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),b="";g.level++;var f="valid"+g.level,h=g.baseId,y="prevValid"+s,v="passingSchemas"+s;a+="var "+m+" = errors , "+y+" = false , "+p+" = false , "+v+" = null; ";var _=e.compositeRule;e.compositeRule=g.compositeRule=!0;var S=o;if(S)for(var x,E=-1,T=S.length-1;E0||x===!1:e.util.schemaHasRules(x,e.RULES.all))?(g.schema=x,g.schemaPath=c+"["+E+"]",g.errSchemaPath=u+"/"+E,a+=" "+e.validate(g)+" ",g.baseId=h):a+=" var "+f+" = true; ",E&&(a+=" if ("+f+" && "+y+") { "+p+" = false; "+v+" = ["+v+", "+E+"]; } else { ",b+="}"),a+=" if ("+f+") { "+p+" = "+y+" = true; "+v+" = "+E+"; }";return e.compositeRule=g.compositeRule=_,a+=""+b+"if (!"+p+") { var err = ",e.createErrors!==!1?(a+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { passingSchemas: "+v+" } ",e.opts.messages!==!1&&(a+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+="} else { errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; }",e.opts.allErrors&&(a+=" } "),a}});var gS=V((HW,vS)=>{"use strict";vS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=p?"(new RegExp("+m+"))":e.usePattern(o);a+="if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),a+=" !"+g+".test("+d+") ) { ";var b=b||[];b.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",p?a+=""+m:a+=""+e.util.toQuotedString(o),a+=" } ",e.opts.messages!==!1&&(a+=` , message: 'should match pattern "`,p?a+="' + "+m+" + '":a+=""+e.util.escapeQuotes(o),a+=`"' `),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+e.util.toQuotedString(o),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var f=a;return a=b.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+f+"]); ":a+=" validate.errors = ["+f+"]; return false; ":a+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var _S=V((BW,yS)=>{"use strict";yS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var b="valid"+m.level,f="key"+s,h="idx"+s,y=m.dataLevel=e.dataLevel+1,v="data"+y,_="dataProperties"+s,S=Object.keys(o||{}).filter(ne),x=e.schema.patternProperties||{},E=Object.keys(x).filter(ne),T=e.schema.additionalProperties,$=S.length||E.length,N=T===!1,j=typeof T=="object"&&Object.keys(T).length,L=e.opts.removeAdditional,H=N||j||L,A=e.opts.ownProperties,W=e.baseId,oe=e.schema.required;if(oe&&!(e.opts.$data&&oe.$data)&&oe.length8)a+=" || validate.schema"+c+".hasOwnProperty("+f+") ";else{var re=S;if(re)for(var U,R=-1,z=re.length-1;R0||Ie===!1:e.util.schemaHasRules(Ie,e.RULES.all)){var Ae=e.util.getProperty(U),C=d+Ae,Ne=Z&&Ie.default!==void 0;m.schema=Ie,m.schemaPath=c+Ae,m.errSchemaPath=u+"/"+e.util.escapeFragment(U),m.errorPath=e.util.getPath(e.errorPath,U,e.opts.jsonPointers),m.dataPathArr[y]=e.util.toQuotedString(U);var F=e.validate(m);if(m.baseId=W,e.util.varOccurences(F,v)<2){F=e.util.varReplace(F,v,C);var ke=C}else{var ke=v;a+=" var "+v+" = "+C+"; "}if(Ne)a+=" "+F+" ";else{if(he&&he[U]){a+=" if ( "+ke+" === undefined ",A&&(a+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),a+=") { "+b+" = false; ";var K=e.errorPath,de=u,pt=e.util.escapeQuotes(U);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(K,U,e.opts.jsonPointers)),u=e.errSchemaPath+"/required";var se=se||[];se.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+pt+"' } ",e.opts.messages!==!1&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+pt+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var me=a;a=se.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+me+"]); ":a+=" validate.errors = ["+me+"]; return false; ":a+=" var err = "+me+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=de,e.errorPath=K,a+=" } else { "}else l?(a+=" if ( "+ke+" === undefined ",A&&(a+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),a+=") { "+b+" = true; } else { "):(a+=" if ("+ke+" !== undefined ",A&&(a+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),a+=" ) { ");a+=" "+F+" } "}}l&&(a+=" if ("+b+") { ",g+="}")}}if(E.length){var Le=E;if(Le)for(var w,pr=-1,Vt=Le.length-1;pr0||Ie===!1:e.util.schemaHasRules(Ie,e.RULES.all)){m.schema=Ie,m.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(w),m.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(w),A?a+=" "+_+" = "+_+" || Object.keys("+d+"); for (var "+h+"=0; "+h+"<"+_+".length; "+h+"++) { var "+f+" = "+_+"["+h+"]; ":a+=" for (var "+f+" in "+d+") { ",a+=" if ("+e.usePattern(w)+".test("+f+")) { ",m.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);var C=d+"["+f+"]";m.dataPathArr[y]=f;var F=e.validate(m);m.baseId=W,e.util.varOccurences(F,v)<2?a+=" "+e.util.varReplace(F,v,C)+" ":a+=" var "+v+" = "+C+"; "+F+" ",l&&(a+=" if (!"+b+") break; "),a+=" } ",l&&(a+=" else "+b+" = true; "),a+=" } ",l&&(a+=" if ("+b+") { ",g+="}")}}}return l&&(a+=" "+g+" if ("+p+" == errors) {"),a}});var xS=V((VW,bS)=>{"use strict";bS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var b="valid"+m.level;if(a+="var "+p+" = errors;",e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){m.schema=o,m.schemaPath=c,m.errSchemaPath=u;var f="key"+s,h="idx"+s,y="i"+s,v="' + "+f+" + '",_=m.dataLevel=e.dataLevel+1,S="data"+_,x="dataProperties"+s,E=e.opts.ownProperties,T=e.baseId;E&&(a+=" var "+x+" = undefined; "),E?a+=" "+x+" = "+x+" || Object.keys("+d+"); for (var "+h+"=0; "+h+"<"+x+".length; "+h+"++) { var "+f+" = "+x+"["+h+"]; ":a+=" for (var "+f+" in "+d+") { ",a+=" var startErrs"+s+" = errors; ";var $=f,N=e.compositeRule;e.compositeRule=m.compositeRule=!0;var j=e.validate(m);m.baseId=T,e.util.varOccurences(j,S)<2?a+=" "+e.util.varReplace(j,S,$)+" ":a+=" var "+S+" = "+$+"; "+j+" ",e.compositeRule=m.compositeRule=N,a+=" if (!"+b+") { for (var "+y+"=startErrs"+s+"; "+y+"{"use strict";wS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o;var b="schema"+s;if(!m)if(o.length0||S===!1:e.util.schemaHasRules(S,e.RULES.all))||(f[f.length]=y)}}else var f=o;if(m||f.length){var x=e.errorPath,E=m||f.length>=e.opts.loopRequired,T=e.opts.ownProperties;if(l)if(a+=" var missing"+s+"; ",E){m||(a+=" var "+b+" = validate.schema"+c+"; ");var $="i"+s,N="schema"+s+"["+$+"]",j="' + "+N+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(x,N,e.opts.jsonPointers)),a+=" var "+p+" = true; ",m&&(a+=" if (schema"+s+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+s+")) "+p+" = false; else {"),a+=" for (var "+$+" = 0; "+$+" < "+b+".length; "+$+"++) { "+p+" = "+d+"["+b+"["+$+"]] !== undefined ",T&&(a+=" && Object.prototype.hasOwnProperty.call("+d+", "+b+"["+$+"]) "),a+="; if (!"+p+") break; } ",m&&(a+=" } "),a+=" if (!"+p+") { ";var L=L||[];L.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+j+"' } ",e.opts.messages!==!1&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+j+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var H=a;a=L.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+H+"]); ":a+=" validate.errors = ["+H+"]; return false; ":a+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var A=f;if(A)for(var W,$=-1,oe=A.length-1;${"use strict";ES.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;if(m?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o,(o||m)&&e.opts.uniqueItems!==!1){m&&(a+=" var "+p+"; if ("+g+" === false || "+g+" === undefined) "+p+" = true; else if (typeof "+g+" != 'boolean') "+p+" = false; else { "),a+=" var i = "+d+".length , "+p+" = true , j; if (i > 1) { ";var b=e.schema.items&&e.schema.items.type,f=Array.isArray(b);if(!b||b=="object"||b=="array"||f&&(b.indexOf("object")>=0||b.indexOf("array")>=0))a+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+p+" = false; break outer; } } } ";else{a+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var h="checkDataType"+(f?"s":"");a+=" if ("+e.util[h](b,"item",e.opts.strictNumbers,!0)+") continue; ",f&&(a+=` if (typeof item == 'string') item = '"' + item; `),a+=" if (typeof itemIndices[item] == 'number') { "+p+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}a+=" } ",m&&(a+=" } "),a+=" if (!"+p+") { ";var y=y||[];y.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(a+=" , schema: ",m?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var v=a;a=y.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+v+"]); ":a+=" validate.errors = ["+v+"]; return false; ":a+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l&&(a+=" else { ")}else l&&(a+=" if (true) { ");return a}});var $S=V((WW,kS)=>{"use strict";kS.exports={$ref:Lw(),allOf:Uw(),anyOf:Hw(),$comment:Vw(),const:Zw(),contains:Kw(),dependencies:Jw(),enum:Qw(),format:tS(),if:aS(),items:sS(),maximum:qf(),minimum:qf(),maxItems:Lf(),minItems:Lf(),maxLength:Ff(),minLength:Ff(),maxProperties:Uf(),minProperties:Uf(),multipleOf:dS(),not:fS(),oneOf:hS(),pattern:gS(),properties:_S(),propertyNames:xS(),required:SS(),uniqueItems:TS(),validate:Mf()}});var OS=V((KW,PS)=>{"use strict";var RS=$S(),zf=Cn().toHash;PS.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],r=["type","$comment"],n=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"],a=["number","integer","string","array","object","boolean","null"];return e.all=zf(r),e.types=zf(a),e.forEach(function(s){s.rules=s.rules.map(function(i){var o;if(typeof i=="object"){var c=Object.keys(i)[0];o=i[c],i=c,o.forEach(function(l){r.push(l),e.all[l]=!0})}r.push(i);var u=e.all[i]={keyword:i,code:RS[i],implements:o};return u}),e.all.$comment={keyword:"$comment",code:RS.$comment},s.type&&(e.types[s.type]=s)}),e.keywords=zf(r.concat(n)),e.custom={},e}});var AS=V((XW,IS)=>{"use strict";var CS=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];IS.exports=function(t,e){for(var r=0;r{"use strict";var B8=xu().MissingRef;jS.exports=NS;function NS(t,e,r){var n=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");typeof e=="function"&&(r=e,e=void 0);var a=s(t).then(function(){var o=n._addSchema(t,void 0,e);return o.validate||i(o)});return r&&a.then(function(o){r(null,o)},r),a;function s(o){var c=o.$schema;return c&&!n.getSchema(c)?NS.call(n,{$ref:c},!0):Promise.resolve()}function i(o){try{return n._compile(o)}catch(u){if(u instanceof B8)return c(u);throw u}function c(u){var l=u.missingSchema;if(m(l))throw new Error("Schema "+l+" is loaded but "+u.missingRef+" cannot be resolved");var d=n._loadingSchemas[l];return d||(d=n._loadingSchemas[l]=n._opts.loadSchema(l),d.then(p,p)),d.then(function(g){if(!m(l))return s(g).then(function(){m(l)||n.addSchema(g,l,void 0,e)})}).then(function(){return i(o)});function p(){delete n._loadingSchemas[l]}function m(g){return n._refs[g]||n._schemas[g]}}}}});var qS=V((YW,DS)=>{"use strict";DS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d,p="data"+(i||""),m="valid"+s,g="errs__"+s,b=e.opts.$data&&o&&o.$data,f;b?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",f="schema"+s):f=o;var h=this,y="definition"+s,v=h.definition,_="",S,x,E,T,$;if(b&&v.$data){$="keywordValidate"+s;var N=v.validateSchema;a+=" var "+y+" = RULES.custom['"+r+"'].definition; var "+$+" = "+y+".validate;"}else{if(T=e.useCustomRule(h,o,e.schema,e),!T)return;f="validate.schema"+c,$=T.code,S=v.compile,x=v.inline,E=v.macro}var j=$+".errors",L="i"+s,H="ruleErr"+s,A=v.async;if(A&&!e.async)throw new Error("async keyword in sync schema");if(x||E||(a+=""+j+" = null;"),a+="var "+g+" = errors;var "+m+";",b&&v.$data&&(_+="}",a+=" if ("+f+" === undefined) { "+m+" = true; } else { ",N&&(_+="}",a+=" "+m+" = "+y+".validateSchema("+f+"); if ("+m+") { ")),x)v.statements?a+=" "+T.validate+" ":a+=" "+m+" = "+T.validate+"; ";else if(E){var W=e.util.copy(e),_="";W.level++;var oe="valid"+W.level;W.schema=T.validate,W.schemaPath="";var he=e.compositeRule;e.compositeRule=W.compositeRule=!0;var ne=e.validate(W).replace(/validate\.schema/g,$);e.compositeRule=W.compositeRule=he,a+=" "+ne}else{var re=re||[];re.push(a),a="",a+=" "+$+".call( ",e.opts.passContext?a+="this":a+="self",S||v.schema===!1?a+=" , "+p+" ":a+=" , "+f+" , "+p+" , validate.schema"+e.schemaPath+" ",a+=" , (dataPath || '')",e.errorPath!='""'&&(a+=" + "+e.errorPath);var U=i?"data"+(i-1||""):"parentData",R=i?e.dataPathArr[i]:"parentDataProperty";a+=" , "+U+" , "+R+" , rootData ) ";var z=a;a=re.pop(),v.errors===!1?(a+=" "+m+" = ",A&&(a+="await "),a+=""+z+"; "):A?(j="customErrors"+s,a+=" var "+j+" = null; try { "+m+" = await "+z+"; } catch (e) { "+m+" = false; if (e instanceof ValidationError) "+j+" = e.errors; else throw e; } "):a+=" "+j+" = null; "+m+" = "+z+"; "}if(v.modifying&&(a+=" if ("+U+") "+p+" = "+U+"["+R+"];"),a+=""+_,v.valid)l&&(a+=" if (true) { ");else{a+=" if ( ",v.valid===void 0?(a+=" !",E?a+=""+oe:a+=""+m):a+=" "+!v.valid+" ",a+=") { ",d=h.keyword;var re=re||[];re.push(a),a="";var re=re||[];re.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(d||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+h.keyword+"' } ",e.opts.messages!==!1&&(a+=` , message: 'should pass "`+h.keyword+`" keyword validation' `),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var I=a;a=re.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var w=a;a=re.pop(),x?v.errors?v.errors!="full"&&(a+=" for (var "+L+"="+g+"; "+L+"{V8.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var US=V((eK,FS)=>{"use strict";var LS=Hf();FS.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:LS.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:LS.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}});var HS=V((tK,zS)=>{"use strict";var G8=/^[a-z_$][a-z0-9_$-]*$/i,Z8=qS(),W8=US();zS.exports={add:K8,get:X8,remove:J8,validate:Bf};function K8(t,e){var r=this.RULES;if(r.keywords[t])throw new Error("Keyword "+t+" is already defined");if(!G8.test(t))throw new Error("Keyword "+t+" is not a valid identifier");if(e){this.validateKeyword(e,!0);var n=e.type;if(Array.isArray(n))for(var a=0;a{Y8.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var eE=V((aK,QS)=>{"use strict";var GS=Sw(),In=bu(),Q8=Tw(),ZS=Pf(),e9=jf(),t9=Dw(),r9=OS(),WS=AS(),KS=Cn();QS.exports=kt;kt.prototype.validate=n9;kt.prototype.compile=s9;kt.prototype.addSchema=i9;kt.prototype.addMetaSchema=o9;kt.prototype.validateSchema=c9;kt.prototype.getSchema=l9;kt.prototype.removeSchema=p9;kt.prototype.addFormat=b9;kt.prototype.errorsText=_9;kt.prototype._addSchema=f9;kt.prototype._compile=m9;kt.prototype.compileAsync=MS();var Pu=HS();kt.prototype.addKeyword=Pu.add;kt.prototype.getKeyword=Pu.get;kt.prototype.removeKeyword=Pu.remove;kt.prototype.validateKeyword=Pu.validate;var XS=xu();kt.ValidationError=XS.Validation;kt.MissingRefError=XS.MissingRef;kt.$dataMetaSchema=WS;var Ru="http://json-schema.org/draft-07/schema",VS=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],a9=["/properties"];function kt(t){if(!(this instanceof kt))return new kt(t);t=this._opts=KS.copy(t)||{},k9(this),this._schemas={},this._refs={},this._fragments={},this._formats=t9(t.format),this._cache=t.cache||new Q8,this._loadingSchemas={},this._compilations=[],this.RULES=r9(),this._getId=h9(t),t.loopRequired=t.loopRequired||1/0,t.errorDataPath=="property"&&(t._errorDataPathProperty=!0),t.serialize===void 0&&(t.serialize=e9),this._metaOpts=T9(this),t.formats&&S9(this),t.keywords&&E9(this),x9(this),typeof t.meta=="object"&&this.addMetaSchema(t.meta),t.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),w9(this)}function n9(t,e){var r;if(typeof t=="string"){if(r=this.getSchema(t),!r)throw new Error('no schema with key or ref "'+t+'"')}else{var n=this._addSchema(t);r=n.validate||this._compile(n)}var a=r(e);return r.$async!==!0&&(this.errors=r.errors),a}function s9(t,e){var r=this._addSchema(t,void 0,e);return r.validate||this._compile(r)}function i9(t,e,r,n){if(Array.isArray(t)){for(var a=0;a{sE.exports=nE;nE.sync=R9;var rE=require("fs");function $9(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n{lE.exports=cE;cE.sync=P9;var oE=require("fs");function cE(t,e,r){oE.stat(t,function(n,a){r(n,n?!1:uE(a,e))})}function P9(t,e){return uE(oE.statSync(t),e)}function uE(t,e){return t.isFile()&&O9(t,e)}function O9(t,e){var r=t.mode,n=t.uid,a=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),i=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),o=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=o|c,d=r&u||r&c&&a===i||r&o&&n===s||r&l&&s===0;return d}});var fE=V((lK,pE)=>{var uK=require("fs"),Ou;process.platform==="win32"||global.TESTING_WINDOWS?Ou=iE():Ou=dE();pE.exports=Gf;Gf.sync=C9;function Gf(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,a){Gf(t,e||{},function(s,i){s?a(s):n(i)})})}Ou(t,e||{},function(n,a){n&&(n.code==="EACCES"||e&&e.ignoreErrors)&&(n=null,a=!1),r(n,a)})}function C9(t,e){try{return Ou.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var bE=V((dK,_E)=>{var Ns=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",mE=require("path"),I9=Ns?";":":",hE=fE(),vE=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),gE=(t,e)=>{let r=e.colon||I9,n=t.match(/\//)||Ns&&t.match(/\\/)?[""]:[...Ns?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=Ns?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Ns?a.split(r):[""];return Ns&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:n,pathExt:s,pathExtExe:a}},yE=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:n,pathExt:a,pathExtExe:s}=gE(t,e),i=[],o=u=>new Promise((l,d)=>{if(u===n.length)return e.all&&i.length?l(i):d(vE(t));let p=n[u],m=/^".*"$/.test(p)?p.slice(1,-1):p,g=mE.join(m,t),b=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+g:g;l(c(b,u,0))}),c=(u,l,d)=>new Promise((p,m)=>{if(d===a.length)return p(o(l+1));let g=a[d];hE(u+g,{pathExt:s},(b,f)=>{if(!b&&f)if(e.all)i.push(u+g);else return p(u+g);return p(c(u,l,d+1))})});return r?o(0).then(u=>r(null,u),r):o(0)},A9=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:n,pathExtExe:a}=gE(t,e),s=[];for(let i=0;i{"use strict";var xE=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};Zf.exports=xE;Zf.exports.default=xE});var kE=V((fK,TE)=>{"use strict";var SE=require("path"),N9=bE(),j9=wE();function EE(t,e){let r=t.options.env||process.env,n=process.cwd(),a=t.options.cwd!=null,s=a&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch{}let i;try{i=N9.sync(t.command,{path:r[j9({env:r})],pathExt:e?SE.delimiter:void 0})}catch{}finally{s&&process.chdir(n)}return i&&(i=SE.resolve(a?t.options.cwd:"",i)),i}function M9(t){return EE(t)||EE(t,!0)}TE.exports=M9});var $E=V((mK,Kf)=>{"use strict";var Wf=/([()\][%!^"`<>&|;, *?])/g;function D9(t){return t=t.replace(Wf,"^$1"),t}function q9(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(Wf,"^$1"),e&&(t=t.replace(Wf,"^$1")),t}Kf.exports.command=D9;Kf.exports.argument=q9});var PE=V((hK,RE)=>{"use strict";RE.exports=/^#!(.*)/});var CE=V((vK,OE)=>{"use strict";var L9=PE();OE.exports=(t="")=>{let e=t.match(L9);if(!e)return null;let[r,n]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?n:n?`${a} ${n}`:a}});var AE=V((gK,IE)=>{"use strict";var Xf=require("fs"),F9=CE();function U9(t){let r=Buffer.alloc(150),n;try{n=Xf.openSync(t,"r"),Xf.readSync(n,r,0,150,0),Xf.closeSync(n)}catch{}return F9(r.toString())}IE.exports=U9});var DE=V((yK,ME)=>{"use strict";var z9=require("path"),NE=kE(),jE=$E(),H9=AE(),B9=process.platform==="win32",V9=/\.(?:com|exe)$/i,G9=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Z9(t){t.file=NE(t);let e=t.file&&H9(t.file);return e?(t.args.unshift(t.file),t.command=e,NE(t)):t.file}function W9(t){if(!B9)return t;let e=Z9(t),r=!V9.test(e);if(t.options.forceShell||r){let n=G9.test(e);t.command=z9.normalize(t.command),t.command=jE.command(t.command),t.args=t.args.map(s=>jE.argument(s,n));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function K9(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let n={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?n:W9(n)}ME.exports=K9});var FE=V((_K,LE)=>{"use strict";var Jf=process.platform==="win32";function Yf(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function X9(t,e){if(!Jf)return;let r=t.emit;t.emit=function(n,a){if(n==="exit"){let s=qE(a,e);if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function qE(t,e){return Jf&&t===1&&!e.file?Yf(e.original,"spawn"):null}function J9(t,e){return Jf&&t===1&&!e.file?Yf(e.original,"spawnSync"):null}LE.exports={hookChildProcess:X9,verifyENOENT:qE,verifyENOENTSync:J9,notFoundError:Yf}});var HE=V((bK,js)=>{"use strict";var UE=require("child_process"),Qf=DE(),em=FE();function zE(t,e,r){let n=Qf(t,e,r),a=UE.spawn(n.command,n.args,n.options);return em.hookChildProcess(a,n),a}function Y9(t,e,r){let n=Qf(t,e,r),a=UE.spawnSync(n.command,n.args,n.options);return a.error=a.error||em.verifyENOENTSync(a.status,n),a}js.exports=zE;js.exports.spawn=zE;js.exports.sync=Y9;js.exports._parse=Qf;js.exports._enoent=em});var ZE,WE,KE=Vr(()=>{"use strict";ZE="bugfix,feature,refactor,discovery,decision,change",WE="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off"});var YE={};Ja(YE,{SettingsDefaultsManager:()=>nt});var Ds,XE,JE,nt,Dr=Vr(()=>{"use strict";Ds=require("fs"),XE=require("path"),JE=require("os");KE();mt();nt=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_DATA_DIR:(0,XE.join)((0,JE.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:ZE,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:WE,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,Ds.existsSync)(e))return this.getAllDefaults();let r=(0,Ds.readFileSync)(e,"utf-8"),n=JSON.parse(r),a=n;if(n.env&&typeof n.env=="object"){a=n.env;try{(0,Ds.writeFileSync)(e,JSON.stringify(a,null,2),"utf-8"),q.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(i){q.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},i)}}let s={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))a[i]!==void 0&&(s[i]=a[i]);return s}catch(r){return q.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},r),this.getAllDefaults()}}}});var tm,rm,q,mt=Vr(()=>{"use strict";Dr();tm=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(tm||{}),rm=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let e=nt.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=tm[e]??1}return this.level}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} +`}function M4(){return function(){this.error(404)}}function D4(){return function(e){if(this.hasTrailingSlash()){this.error(404);return}var r=rf.original(this.req);r.path=null,r.pathname=N4(r.pathname+"/");var n=P4(I4.format(r)),a=j4("Redirecting","Redirecting to "+O4(n));e.statusCode=301,e.setHeader("Content-Type","text/html; charset=UTF-8"),e.setHeader("Content-Length",Buffer.byteLength(a)),e.setHeader("Content-Security-Policy","default-src 'none'"),e.setHeader("X-Content-Type-Options","nosniff"),e.setHeader("Location",n),e.end(a)}}});var wx=V((Qt,xx)=>{"use strict";var Xc=B_(),q4=require("events").EventEmitter,gx=G_(),yx=k0(),L4=kp(),F4=Rp(),_x=Y0(),bx=mx();Qt=xx.exports=U4;function U4(){var t=function(e,r,n){t.handle(e,r,n)};return gx(t,q4.prototype,!1),gx(t,yx,!1),t.request=Object.create(_x,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.response=Object.create(bx,{app:{configurable:!0,enumerable:!0,writable:!0,value:t}}),t.init(),t}Qt.application=yx;Qt.request=_x;Qt.response=bx;Qt.Route=L4;Qt.Router=F4;Qt.json=Xc.json;Qt.query=Pp();Qt.raw=Xc.raw;Qt.static=vx();Qt.text=Xc.text;Qt.urlencoded=Xc.urlencoded;var z4=["bodyParser","compress","cookieSession","session","logger","cookieParser","favicon","responseTime","errorHandler","timeout","methodOverride","vhost","csrf","directory","limit","multipart","staticCache"];z4.forEach(function(t){Object.defineProperty(Qt,t,{get:function(){throw new Error("Most middleware (like "+t+") is no longer bundled with Express and must be installed separately. Please see https://github.com/senchalabs/connect#middleware.")},configurable:!0})})});var Jc=V((PZ,Sx)=>{"use strict";Sx.exports=wx()});var tw=V((pu,ew)=>{(function(t,e){typeof pu=="object"&&typeof ew<"u"?e(pu):typeof define=="function"&&define.amd?define(["exports"],e):e(t.URI=t.URI||{})})(pu,(function(t){"use strict";function e(){for(var B=arguments.length,D=Array(B),G=0;G1){D[0]=D[0].slice(0,-1);for(var X=D.length-1,Y=1;Y= 0x80 (not a basic code point)","invalid-input":"Invalid input"},$=m-g,N=Math.floor,j=String.fromCharCode;function L(B){throw new RangeError(T[B])}function H(B,D){for(var G=[],X=B.length;X--;)G[X]=D(B[X]);return G}function A(B,D){var G=B.split("@"),X="";G.length>1&&(X=G[0]+"@",B=G[1]),B=B.replace(E,".");var Y=B.split("."),ye=H(Y,D).join(".");return X+ye}function W(B){for(var D=[],G=0,X=B.length;G=55296&&Y<=56319&&G>1,D+=N(D/G);D>$*b>>1;Y+=m)D=N(D/$);return N(Y+($+1)*D/(D+f))},U=function(D){var G=[],X=D.length,Y=0,ye=v,De=y,Ze=D.lastIndexOf(_);Ze<0&&(Ze=0);for(var Qe=0;Qe=128&&L("not-basic"),G.push(D.charCodeAt(Qe));for(var Pt=Ze>0?Ze+1:0;Pt=X&&L("invalid-input");var ft=he(D.charCodeAt(Pt++));(ft>=m||ft>N((p-Y)/yt))&&L("overflow"),Y+=ft*yt;var Ke=Ot<=De?g:Ot>=De+b?b:Ot-De;if(ftN(p/_t)&&L("overflow"),yt*=_t}var rt=G.length+1;De=re(Y-Ve,rt,Ve==0),N(Y/rt)>p-ye&&L("overflow"),ye+=N(Y/rt),Y%=rt,G.splice(Y++,0,ye)}return String.fromCodePoint.apply(String,G)},R=function(D){var G=[];D=W(D);var X=D.length,Y=v,ye=0,De=y,Ze=!0,Qe=!1,Pt=void 0;try{for(var Ve=D[Symbol.iterator](),yt;!(Ze=(yt=Ve.next()).done);Ze=!0){var Ot=yt.value;Ot<128&&G.push(j(Ot))}}catch(Xa){Qe=!0,Pt=Xa}finally{try{!Ze&&Ve.return&&Ve.return()}finally{if(Qe)throw Pt}}var ft=G.length,Ke=ft;for(ft&&G.push(_);Ke=Y&&ur<_t&&(_t=ur)}}catch(Xa){Wa=!0,cr=Xa}finally{try{!rt&&fr.return&&fr.return()}finally{if(Wa)throw cr}}var mr=Ke+1;_t-Y>N((p-ye)/mr)&&L("overflow"),ye+=(_t-Y)*mr,Y=_t;var Br=!0,Ka=!1,ia=void 0;try{for(var mi=D[Symbol.iterator](),zo;!(Br=(zo=mi.next()).done);Br=!0){var Ho=zo.value;if(Hop&&L("overflow"),Ho==Y){for(var Gn=ye,Zn=m;;Zn+=m){var oa=Zn<=De?g:Zn>=De+b?b:Zn-De;if(Gn>6|192).toString(16).toUpperCase()+"%"+(D&63|128).toString(16).toUpperCase():G="%"+(D>>12|224).toString(16).toUpperCase()+"%"+(D>>6&63|128).toString(16).toUpperCase()+"%"+(D&63|128).toString(16).toUpperCase(),G}function K(B){for(var D="",G=0,X=B.length;G=194&&Y<224){if(X-G>=6){var ye=parseInt(B.substr(G+4,2),16);D+=String.fromCharCode((Y&31)<<6|ye&63)}else D+=B.substr(G,6);G+=6}else if(Y>=224){if(X-G>=9){var De=parseInt(B.substr(G+4,2),16),Ze=parseInt(B.substr(G+7,2),16);D+=String.fromCharCode((Y&15)<<12|(De&63)<<6|Ze&63)}else D+=B.substr(G,9);G+=9}else D+=B.substr(G,3),G+=3}return D}function J(B,D){function G(X){var Y=K(X);return Y.match(D.UNRESERVED)?Y:X}return B.scheme&&(B.scheme=String(B.scheme).replace(D.PCT_ENCODED,G).toLowerCase().replace(D.NOT_SCHEME,"")),B.userinfo!==void 0&&(B.userinfo=String(B.userinfo).replace(D.PCT_ENCODED,G).replace(D.NOT_USERINFO,M).replace(D.PCT_ENCODED,a)),B.host!==void 0&&(B.host=String(B.host).replace(D.PCT_ENCODED,G).toLowerCase().replace(D.NOT_HOST,M).replace(D.PCT_ENCODED,a)),B.path!==void 0&&(B.path=String(B.path).replace(D.PCT_ENCODED,G).replace(B.scheme?D.NOT_PATH:D.NOT_PATH_NOSCHEME,M).replace(D.PCT_ENCODED,a)),B.query!==void 0&&(B.query=String(B.query).replace(D.PCT_ENCODED,G).replace(D.NOT_QUERY,M).replace(D.PCT_ENCODED,a)),B.fragment!==void 0&&(B.fragment=String(B.fragment).replace(D.PCT_ENCODED,G).replace(D.NOT_FRAGMENT,M).replace(D.PCT_ENCODED,a)),B}function de(B){return B.replace(/^0*(.*)/,"$1")||"0"}function se(B,D){var G=B.match(D.IPV4ADDRESS)||[],X=l(G,2),Y=X[1];return Y?Y.split(".").map(de).join("."):B}function me(B,D){var G=B.match(D.IPV6ADDRESS)||[],X=l(G,3),Y=X[1],ye=X[2];if(Y){for(var De=Y.toLowerCase().split("::").reverse(),Ze=l(De,2),Qe=Ze[0],Pt=Ze[1],Ve=Pt?Pt.split(":").map(de):[],yt=Qe.split(":").map(de),Ot=D.IPV4ADDRESS.test(yt[yt.length-1]),ft=Ot?7:8,Ke=yt.length-ft,_t=Array(ft),rt=0;rt1){var st=_t.slice(0,cr.index),ur=_t.slice(cr.index+cr.length);fr=st.join(":")+"::"+ur.join(":")}else fr=_t.join(":");return ye&&(fr+="%"+ye),fr}else return B}var O=/^(?:([^:\/?#]+):)?(?:\/\/((?:([^\/?#@]*)@)?(\[[^\/?#\]]+\]|[^\/?#:]*)(?:\:(\d*))?))?([^?#]*)(?:\?([^#]*))?(?:#((?:.|\n|\r)*))?/i,C="".match(/(){0}/)[1]===void 0;function F(B){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G={},X=D.iri!==!1?u:c;D.reference==="suffix"&&(B=(D.scheme?D.scheme+":":"")+"//"+B);var Y=B.match(O);if(Y){C?(G.scheme=Y[1],G.userinfo=Y[3],G.host=Y[4],G.port=parseInt(Y[5],10),G.path=Y[6]||"",G.query=Y[7],G.fragment=Y[8],isNaN(G.port)&&(G.port=Y[5])):(G.scheme=Y[1]||void 0,G.userinfo=B.indexOf("@")!==-1?Y[3]:void 0,G.host=B.indexOf("//")!==-1?Y[4]:void 0,G.port=parseInt(Y[5],10),G.path=Y[6]||"",G.query=B.indexOf("?")!==-1?Y[7]:void 0,G.fragment=B.indexOf("#")!==-1?Y[8]:void 0,isNaN(G.port)&&(G.port=B.match(/\/\/(?:.|\n)*\:(?:\/|\?|\#|$)/)?Y[4]:void 0)),G.host&&(G.host=me(se(G.host,X),X)),G.scheme===void 0&&G.userinfo===void 0&&G.host===void 0&&G.port===void 0&&!G.path&&G.query===void 0?G.reference="same-document":G.scheme===void 0?G.reference="relative":G.fragment===void 0?G.reference="absolute":G.reference="uri",D.reference&&D.reference!=="suffix"&&D.reference!==G.reference&&(G.error=G.error||"URI is not a "+D.reference+" reference.");var ye=k[(D.scheme||G.scheme||"").toLowerCase()];if(!D.unicodeSupport&&(!ye||!ye.unicodeSupport)){if(G.host&&(D.domainHost||ye&&ye.domainHost))try{G.host=w.toASCII(G.host.replace(X.PCT_ENCODED,K).toLowerCase())}catch(De){G.error=G.error||"Host's domain name can not be converted to ASCII via punycode: "+De}J(G,c)}else J(G,X);ye&&ye.parse&&ye.parse(G,D)}else G.error=G.error||"URI can not be parsed.";return G}function Z(B,D){var G=D.iri!==!1?u:c,X=[];return B.userinfo!==void 0&&(X.push(B.userinfo),X.push("@")),B.host!==void 0&&X.push(me(se(String(B.host),G),G).replace(G.IPV6ADDRESS,function(Y,ye,De){return"["+ye+(De?"%25"+De:"")+"]"})),(typeof B.port=="number"||typeof B.port=="string")&&(X.push(":"),X.push(String(B.port))),X.length?X.join(""):void 0}var ee=/^\.\.?\//,ce=/^\/\.(\/|$)/,Te=/^\/\.\.(\/|$)/,Ie=/^\/?(?:.|\n)*?(?=\/|$)/;function Ae(B){for(var D=[];B.length;)if(B.match(ee))B=B.replace(ee,"");else if(B.match(ce))B=B.replace(ce,"/");else if(B.match(Te))B=B.replace(Te,"/"),D.pop();else if(B==="."||B==="..")B="";else{var G=B.match(Ie);if(G){var X=G[0];B=B.slice(X.length),D.push(X)}else throw new Error("Unexpected dot segment condition")}return D.join("")}function Ne(B){var D=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},G=D.iri?u:c,X=[],Y=k[(D.scheme||B.scheme||"").toLowerCase()];if(Y&&Y.serialize&&Y.serialize(B,D),B.host&&!G.IPV6ADDRESS.test(B.host)){if(D.domainHost||Y&&Y.domainHost)try{B.host=D.iri?w.toUnicode(B.host):w.toASCII(B.host.replace(G.PCT_ENCODED,K).toLowerCase())}catch(Ze){B.error=B.error||"Host's domain name can not be converted to "+(D.iri?"Unicode":"ASCII")+" via punycode: "+Ze}}J(B,G),D.reference!=="suffix"&&B.scheme&&(X.push(B.scheme),X.push(":"));var ye=Z(B,D);if(ye!==void 0&&(D.reference!=="suffix"&&X.push("//"),X.push(ye),B.path&&B.path.charAt(0)!=="/"&&X.push("/")),B.path!==void 0){var De=B.path;!D.absolutePath&&(!Y||!Y.absolutePath)&&(De=Ae(De)),ye===void 0&&(De=De.replace(/^\/\//,"/%2F")),X.push(De)}return B.query!==void 0&&(X.push("?"),X.push(B.query)),B.fragment!==void 0&&(X.push("#"),X.push(B.fragment)),X.join("")}function ke(B,D){var G=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},X=arguments[3],Y={};return X||(B=F(Ne(B,G),G),D=F(Ne(D,G),G)),G=G||{},!G.tolerant&&D.scheme?(Y.scheme=D.scheme,Y.userinfo=D.userinfo,Y.host=D.host,Y.port=D.port,Y.path=Ae(D.path||""),Y.query=D.query):(D.userinfo!==void 0||D.host!==void 0||D.port!==void 0?(Y.userinfo=D.userinfo,Y.host=D.host,Y.port=D.port,Y.path=Ae(D.path||""),Y.query=D.query):(D.path?(D.path.charAt(0)==="/"?Y.path=Ae(D.path):((B.userinfo!==void 0||B.host!==void 0||B.port!==void 0)&&!B.path?Y.path="/"+D.path:B.path?Y.path=B.path.slice(0,B.path.lastIndexOf("/")+1)+D.path:Y.path=D.path,Y.path=Ae(Y.path)),Y.query=D.query):(Y.path=B.path,D.query!==void 0?Y.query=D.query:Y.query=B.query),Y.userinfo=B.userinfo,Y.host=B.host,Y.port=B.port),Y.scheme=B.scheme),Y.fragment=D.fragment,Y}function pt(B,D,G){var X=i({scheme:"null"},G);return Ne(ke(F(B,X),F(D,X),X,!0),X)}function Le(B,D){return typeof B=="string"?B=Ne(F(B,D),D):n(B)==="object"&&(B=F(Ne(B,D),D)),B}function pr(B,D,G){return typeof B=="string"?B=Ne(F(B,G),G):n(B)==="object"&&(B=Ne(B,G)),typeof D=="string"?D=Ne(F(D,G),G):n(D)==="object"&&(D=Ne(D,G)),B===D}function Vt(B,D){return B&&B.toString().replace(!D||!D.iri?c.ESCAPE:u.ESCAPE,M)}function It(B,D){return B&&B.toString().replace(!D||!D.iri?c.PCT_ENCODED:u.PCT_ENCODED,K)}var Ir={scheme:"http",domainHost:!0,parse:function(D,G){return D.host||(D.error=D.error||"HTTP URIs must have a host."),D},serialize:function(D,G){var X=String(D.scheme).toLowerCase()==="https";return(D.port===(X?443:80)||D.port==="")&&(D.port=void 0),D.path||(D.path="/"),D}},Sa={scheme:"https",domainHost:Ir.domainHost,parse:Ir.parse,serialize:Ir.serialize};function Bn(B){return typeof B.secure=="boolean"?B.secure:String(B.scheme).toLowerCase()==="wss"}var fi={scheme:"ws",domainHost:!0,parse:function(D,G){var X=D;return X.secure=Bn(X),X.resourceName=(X.path||"/")+(X.query?"?"+X.query:""),X.path=void 0,X.query=void 0,X},serialize:function(D,G){if((D.port===(Bn(D)?443:80)||D.port==="")&&(D.port=void 0),typeof D.secure=="boolean"&&(D.scheme=D.secure?"wss":"ws",D.secure=void 0),D.resourceName){var X=D.resourceName.split("?"),Y=l(X,2),ye=Y[0],De=Y[1];D.path=ye&&ye!=="/"?ye:void 0,D.query=De,D.resourceName=void 0}return D.fragment=void 0,D}},ph={scheme:"wss",domainHost:fi.domainHost,parse:fi.parse,serialize:fi.serialize},w$={},S$=!0,fh="[A-Za-z0-9\\-\\.\\_\\~"+(S$?"\\xA0-\\u200D\\u2010-\\u2029\\u202F-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF":"")+"]",Hr="[0-9A-Fa-f]",E$=r(r("%[EFef]"+Hr+"%"+Hr+Hr+"%"+Hr+Hr)+"|"+r("%[89A-Fa-f]"+Hr+"%"+Hr+Hr)+"|"+r("%"+Hr+Hr)),T$="[A-Za-z0-9\\!\\$\\%\\'\\*\\+\\-\\^\\_\\`\\{\\|\\}\\~]",k$="[\\!\\$\\%\\'\\(\\)\\*\\+\\,\\-\\.0-9\\<\\>A-Z\\x5E-\\x7E]",$$=e(k$,'[\\"\\\\]'),R$="[\\!\\$\\'\\(\\)\\*\\+\\,\\;\\:\\@]",P$=new RegExp(fh,"g"),Vn=new RegExp(E$,"g"),O$=new RegExp(e("[^]",T$,"[\\.]",'[\\"]',$$),"g"),mh=new RegExp(e("[^]",fh,R$),"g"),C$=mh;function td(B){var D=K(B);return D.match(P$)?D:B}var hh={scheme:"mailto",parse:function(D,G){var X=D,Y=X.to=X.path?X.path.split(","):[];if(X.path=void 0,X.query){for(var ye=!1,De={},Ze=X.query.split("&"),Qe=0,Pt=Ze.length;Qe{"use strict";rw.exports=function t(e,r){if(e===r)return!0;if(e&&r&&typeof e=="object"&&typeof r=="object"){if(e.constructor!==r.constructor)return!1;var n,a,s;if(Array.isArray(e)){if(n=e.length,n!=r.length)return!1;for(a=n;a--!==0;)if(!t(e[a],r[a]))return!1;return!0}if(e.constructor===RegExp)return e.source===r.source&&e.flags===r.flags;if(e.valueOf!==Object.prototype.valueOf)return e.valueOf()===r.valueOf();if(e.toString!==Object.prototype.toString)return e.toString()===r.toString();if(s=Object.keys(e),n=s.length,n!==Object.keys(r).length)return!1;for(a=n;a--!==0;)if(!Object.prototype.hasOwnProperty.call(r,s[a]))return!1;for(a=n;a--!==0;){var i=s[a];if(!t(e[i],r[i]))return!1}return!0}return e!==e&&r!==r}});var nw=V((mW,aw)=>{"use strict";aw.exports=function(e){for(var r=0,n=e.length,a=0,s;a=55296&&s<=56319&&a{"use strict";ow.exports={copy:KD,checkDataType:wf,checkDataTypes:XD,coerceToTypes:JD,toHash:Ef,getProperty:Tf,escapeQuotes:kf,equal:fu(),ucs2length:nw(),varOccurences:e8,varReplace:t8,schemaHasRules:r8,schemaHasRulesExcept:a8,schemaUnknownRules:n8,toQuotedString:Sf,getPathExpr:s8,getPath:i8,getData:u8,unescapeFragment:l8,unescapeJsonPointer:Rf,escapeFragment:d8,escapeJsonPointer:$f};function KD(t,e){e=e||{};for(var r in t)e[r]=t[r];return e}function wf(t,e,r,n){var a=n?" !== ":" === ",s=n?" || ":" && ",i=n?"!":"",o=n?"":"!";switch(t){case"null":return e+a+"null";case"array":return i+"Array.isArray("+e+")";case"object":return"("+i+e+s+"typeof "+e+a+'"object"'+s+o+"Array.isArray("+e+"))";case"integer":return"(typeof "+e+a+'"number"'+s+o+"("+e+" % 1)"+s+e+a+e+(r?s+i+"isFinite("+e+")":"")+")";case"number":return"(typeof "+e+a+'"'+t+'"'+(r?s+i+"isFinite("+e+")":"")+")";default:return"typeof "+e+a+'"'+t+'"'}}function XD(t,e,r){switch(t.length){case 1:return wf(t[0],e,r,!0);default:var n="",a=Ef(t);a.array&&a.object&&(n=a.null?"(":"(!"+e+" || ",n+="typeof "+e+' !== "object")',delete a.null,delete a.array,delete a.object),a.number&&delete a.integer;for(var s in a)n+=(n?" && ":"")+wf(s,e,r,!0);return n}}var sw=Ef(["string","number","integer","boolean","null"]);function JD(t,e){if(Array.isArray(e)){for(var r=[],n=0;n=e)throw new Error("Cannot access property/index "+n+" levels up, current level is "+e);return r[e-n]}if(n>e)throw new Error("Cannot access data "+n+" levels up, current level is "+e);if(s="data"+(e-n||""),!a)return s}for(var o=s,c=a.split("/"),u=0;u{"use strict";var p8=Cn();cw.exports=f8;function f8(t){p8.copy(t,this)}});var lw=V((gW,uw)=>{"use strict";var Ma=uw.exports=function(t,e,r){typeof e=="function"&&(r=e,e={}),r=e.cb||r;var n=typeof r=="function"?r:r.pre||function(){},a=r.post||function(){};mu(e,n,a,t,"",t)};Ma.keywords={additionalItems:!0,items:!0,contains:!0,additionalProperties:!0,propertyNames:!0,not:!0};Ma.arrayKeywords={items:!0,allOf:!0,anyOf:!0,oneOf:!0};Ma.propsKeywords={definitions:!0,properties:!0,patternProperties:!0,dependencies:!0};Ma.skipKeywords={default:!0,enum:!0,const:!0,required:!0,maximum:!0,minimum:!0,exclusiveMaximum:!0,exclusiveMinimum:!0,multipleOf:!0,maxLength:!0,minLength:!0,pattern:!0,format:!0,maxItems:!0,minItems:!0,uniqueItems:!0,maxProperties:!0,minProperties:!0};function mu(t,e,r,n,a,s,i,o,c,u){if(n&&typeof n=="object"&&!Array.isArray(n)){e(n,a,s,i,o,c,u);for(var l in n){var d=n[l];if(Array.isArray(d)){if(l in Ma.arrayKeywords)for(var p=0;p{"use strict";var so=tw(),dw=fu(),yu=Cn(),hu=Pf(),h8=lw();mw.exports=qa;qa.normalizeId=Da;qa.fullPath=vu;qa.url=gu;qa.ids=b8;qa.inlineRef=Of;qa.schema=_u;function qa(t,e,r){var n=this._refs[r];if(typeof n=="string")if(this._refs[n])n=this._refs[n];else return qa.call(this,t,e,n);if(n=n||this._schemas[r],n instanceof hu)return Of(n.schema,this._opts.inlineRefs)?n.schema:n.validate||this._compile(n);var a=_u.call(this,e,r),s,i,o;return a&&(s=a.schema,e=a.root,o=a.baseId),s instanceof hu?i=s.validate||t.call(this,s.schema,e,void 0,o):s!==void 0&&(i=Of(s,this._opts.inlineRefs)?s:t.call(this,s,e,void 0,o)),i}function _u(t,e){var r=so.parse(e),n=fw(r),a=vu(this._getId(t.schema));if(Object.keys(t.schema).length===0||n!==a){var s=Da(n),i=this._refs[s];if(typeof i=="string")return v8.call(this,t,i,r);if(i instanceof hu)i.validate||this._compile(i),t=i;else if(i=this._schemas[s],i instanceof hu){if(i.validate||this._compile(i),s==Da(e))return{schema:i,root:t,baseId:a};t=i}else return;if(!t.schema)return;a=vu(this._getId(t.schema))}return pw.call(this,r,a,t.schema,t)}function v8(t,e,r){var n=_u.call(this,t,e);if(n){var a=n.schema,s=n.baseId;t=n.root;var i=this._getId(a);return i&&(s=gu(s,i)),pw.call(this,r,s,a,t)}}var g8=yu.toHash(["properties","patternProperties","enum","dependencies","definitions"]);function pw(t,e,r,n){if(t.fragment=t.fragment||"",t.fragment.slice(0,1)=="/"){for(var a=t.fragment.split("/"),s=1;s{"use strict";var Af=bu();vw.exports={Validation:hw(x8),MissingRef:hw(Nf)};function x8(t){this.message="validation failed",this.errors=t,this.ajv=this.validation=!0}Nf.message=function(t,e){return"can't resolve reference "+e+" from id "+t};function Nf(t,e,r){this.message=r||Nf.message(t,e),this.missingRef=Af.url(t,e),this.missingSchema=Af.normalizeId(Af.fullPath(this.missingRef))}function hw(t){return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}});var jf=V((bW,gw)=>{"use strict";gw.exports=function(t,e){e||(e={}),typeof e=="function"&&(e={cmp:e});var r=typeof e.cycles=="boolean"?e.cycles:!1,n=e.cmp&&(function(s){return function(i){return function(o,c){var u={key:o,value:i[o]},l={key:c,value:i[c]};return s(u,l)}}})(e.cmp),a=[];return(function s(i){if(i&&i.toJSON&&typeof i.toJSON=="function"&&(i=i.toJSON()),i!==void 0){if(typeof i=="number")return isFinite(i)?""+i:"null";if(typeof i!="object")return JSON.stringify(i);var o,c;if(Array.isArray(i)){for(c="[",o=0;o{"use strict";yw.exports=function(e,r,n){var a="",s=e.schema.$async===!0,i=e.util.schemaHasRulesExcept(e.schema,e.RULES.all,"$ref"),o=e.self._getId(e.schema);if(e.opts.strictKeywords){var c=e.util.schemaUnknownRules(e.schema,e.RULES.keywords);if(c){var u="unknown keyword: "+c;if(e.opts.strictKeywords==="log")e.logger.warn(u);else throw new Error(u)}}if(e.isTop&&(a+=" var validate = ",s&&(e.async=!0,a+="async "),a+="function(data, dataPath, parentData, parentDataProperty, rootData) { 'use strict'; ",o&&(e.opts.sourceCode||e.opts.processCode)&&(a+=" "+("/*# sourceURL="+o+" */")+" ")),typeof e.schema=="boolean"||!(i||e.schema.$ref)){var r="false schema",l=e.level,d=e.dataLevel,p=e.schema[r],m=e.schemaPath+e.util.getProperty(r),g=e.errSchemaPath+"/"+r,S=!e.opts.allErrors,T,b="data"+(d||""),_="valid"+l;if(e.schema===!1){e.isTop?S=!0:a+=" var "+_+" = false; ";var f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(T||"false schema")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(g)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: 'boolean schema is false' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+b+" "),a+=" } "):a+=" {} ";var h=a;a=f.pop(),!e.compositeRule&&S?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; "}else e.isTop?s?a+=" return data; ":a+=" validate.errors = null; return true; ":a+=" var "+_+" = true; ";return e.isTop&&(a+=" }; return validate; "),a}if(e.isTop){var y=e.isTop,l=e.level=0,d=e.dataLevel=0,b="data";if(e.rootId=e.resolve.fullPath(e.self._getId(e.root.schema)),e.baseId=e.baseId||e.rootId,delete e.isTop,e.dataPathArr=[""],e.schema.default!==void 0&&e.opts.useDefaults&&e.opts.strictDefaults){var v="default is ignored in the schema root";if(e.opts.strictDefaults==="log")e.logger.warn(v);else throw new Error(v)}a+=" var vErrors = null; ",a+=" var errors = 0; ",a+=" if (rootData === undefined) rootData = data; "}else{var l=e.level,d=e.dataLevel,b="data"+(d||"");if(o&&(e.baseId=e.resolve.url(e.baseId,o)),s&&!e.async)throw new Error("async schema in sync schema");a+=" var errs_"+l+" = errors;"}var _="valid"+l,S=!e.opts.allErrors,x="",E="",T,$=e.schema.type,N=Array.isArray($);if($&&e.opts.nullable&&e.schema.nullable===!0&&(N?$.indexOf("null")==-1&&($=$.concat("null")):$!="null"&&($=[$,"null"],N=!0)),N&&$.length==1&&($=$[0],N=!1),e.schema.$ref&&i){if(e.opts.extendRefs=="fail")throw new Error('$ref: validation keywords used in schema at path "'+e.errSchemaPath+'" (see option extendRefs)');e.opts.extendRefs!==!0&&(i=!1,e.logger.warn('$ref: keywords ignored in schema at path "'+e.errSchemaPath+'"'))}if(e.schema.$comment&&e.opts.$comment&&(a+=" "+e.RULES.all.$comment.code(e,"$comment")),$){if(e.opts.coerceTypes)var j=e.util.coerceToTypes(e.opts.coerceTypes,$);var L=e.RULES.types[$];if(j||N||L===!0||L&&!Ie(L)){var m=e.schemaPath+".type",g=e.errSchemaPath+"/type",m=e.schemaPath+".type",g=e.errSchemaPath+"/type",H=N?"checkDataTypes":"checkDataType";if(a+=" if ("+e.util[H]($,b,e.opts.strictNumbers,!0)+") { ",j){var A="dataType"+l,W="coerced"+l;a+=" var "+A+" = typeof "+b+"; var "+W+" = undefined; ",e.opts.coerceTypes=="array"&&(a+=" if ("+A+" == 'object' && Array.isArray("+b+") && "+b+".length == 1) { "+b+" = "+b+"[0]; "+A+" = typeof "+b+"; if ("+e.util.checkDataType(e.schema.type,b,e.opts.strictNumbers)+") "+W+" = "+b+"; } "),a+=" if ("+W+" !== undefined) ; ";var oe=j;if(oe)for(var he,ne=-1,re=oe.length-1;ne{"use strict";var wu=bu(),Eu=Cn(),bw=xu(),w8=jf(),_w=Mf(),S8=Eu.ucs2length,E8=fu(),T8=bw.Validation;ww.exports=Df;function Df(t,e,r,n){var a=this,s=this._opts,i=[void 0],o={},c=[],u={},l=[],d={},p=[];e=e||{schema:t,refVal:i,refs:o};var m=k8.call(this,t,e,n),g=this._compilations[m.index];if(m.compiling)return g.callValidate=v;var b=this._formats,f=this.RULES;try{var h=_(t,e,r,n);g.validate=h;var y=g.callValidate;return y&&(y.schema=h.schema,y.errors=null,y.refs=h.refs,y.refVal=h.refVal,y.root=h.root,y.$async=h.$async,s.sourceCode&&(y.source=h.source)),h}finally{$8.call(this,t,e,n)}function v(){var H=g.validate,A=H.apply(this,arguments);return v.errors=H.errors,A}function _(H,A,W,oe){var he=!A||A&&A.schema==H;if(A.schema!=e.schema)return Df.call(a,H,A,W,oe);var ne=H.$async===!0,re=_w({isTop:!0,schema:H,isRoot:he,baseId:oe,root:A,schemaPath:"",errSchemaPath:"#",errorPath:'""',MissingRefError:bw.MissingRef,RULES:f,validate:_w,util:Eu,resolve:wu,resolveRef:S,usePattern:N,useDefault:j,useCustomRule:L,opts:s,formats:b,logger:a.logger,self:a});re=Su(i,O8)+Su(c,R8)+Su(l,P8)+Su(p,C8)+re,s.processCode&&(re=s.processCode(re,H));var U;try{var R=new Function("self","RULES","formats","root","refVal","defaults","customRules","equal","ucs2length","ValidationError",re);U=R(a,f,b,e,i,l,p,E8,S8,T8),i[0]=U}catch(z){throw a.logger.error("Error compiling schema, function code:",re),z}return U.schema=H,U.errors=null,U.refs=o,U.refVal=i,U.root=he?U:A,ne&&(U.$async=!0),s.sourceCode===!0&&(U.source={code:re,patterns:c,defaults:l}),U}function S(H,A,W){A=wu.url(H,A);var oe=o[A],he,ne;if(oe!==void 0)return he=i[oe],ne="refVal["+oe+"]",$(he,ne);if(!W&&e.refs){var re=e.refs[A];if(re!==void 0)return he=e.refVal[re],ne=x(A,he),$(he,ne)}ne=x(A);var U=wu.call(a,_,e,A);if(U===void 0){var R=r&&r[A];R&&(U=wu.inlineRef(R,s.inlineRefs)?R:Df.call(a,R,e,r,H))}if(U===void 0)E(A);else return T(A,U),$(U,ne)}function x(H,A){var W=i.length;return i[W]=A,o[H]=W,"refVal"+W}function E(H){delete o[H]}function T(H,A){var W=o[H];i[W]=A}function $(H,A){return typeof H=="object"||typeof H=="boolean"?{code:A,schema:H,inline:!0}:{code:A,$async:H&&!!H.$async}}function N(H){var A=u[H];return A===void 0&&(A=u[H]=c.length,c[A]=H),"pattern"+A}function j(H){switch(typeof H){case"boolean":case"number":return""+H;case"string":return Eu.toQuotedString(H);case"object":if(H===null)return"null";var A=w8(H),W=d[A];return W===void 0&&(W=d[A]=l.length,l[W]=H),"default"+W}}function L(H,A,W,oe){if(a._opts.validateSchema!==!1){var he=H.definition.dependencies;if(he&&!he.every(function(M){return Object.prototype.hasOwnProperty.call(W,M)}))throw new Error("parent schema must have all required keywords: "+he.join(","));var ne=H.definition.validateSchema;if(ne){var re=ne(A);if(!re){var U="keyword schema is invalid: "+a.errorsText(ne.errors);if(a._opts.validateSchema=="log")a.logger.error(U);else throw new Error(U)}}}var R=H.definition.compile,z=H.definition.inline,I=H.definition.macro,w;if(R)w=R.call(a,A,W,oe);else if(I)w=I.call(a,A,W,oe),s.validateSchema!==!1&&a.validateSchema(w,!0);else if(z)w=z.call(a,oe,H.keyword,A,W);else if(w=H.definition.validate,!w)return;if(w===void 0)throw new Error('custom keyword "'+H.keyword+'"failed to compile');var k=p.length;return p[k]=w,{code:"customRule"+k,validate:w}}}function k8(t,e,r){var n=xw.call(this,t,e,r);return n>=0?{index:n,compiling:!0}:(n=this._compilations.length,this._compilations[n]={schema:t,root:e,baseId:r},{index:n,compiling:!1})}function $8(t,e,r){var n=xw.call(this,t,e,r);n>=0&&this._compilations.splice(n,1)}function xw(t,e,r){for(var n=0;n{"use strict";var Tu=Ew.exports=function(){this._cache={}};Tu.prototype.put=function(e,r){this._cache[e]=r};Tu.prototype.get=function(e){return this._cache[e]};Tu.prototype.del=function(e){delete this._cache[e]};Tu.prototype.clear=function(){this._cache={}}});var Dw=V((EW,Mw)=>{"use strict";var I8=Cn(),A8=/^(\d\d\d\d)-(\d\d)-(\d\d)$/,N8=[0,31,28,31,30,31,30,31,31,30,31,30,31],j8=/^(\d\d):(\d\d):(\d\d)(\.\d+)?(z|[+-]\d\d(?::?\d\d)?)?$/i,kw=/^(?=.{1,253}\.?$)[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[-0-9a-z]{0,61}[0-9a-z])?)*\.?$/i,M8=/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'()*+,;=:@]|%[0-9a-f]{2})*)*)(?:\?(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,D8=/^(?:[a-z][a-z0-9+\-.]*:)?(?:\/?\/(?:(?:[a-z0-9\-._~!$&'()*+,;=:]|%[0-9a-f]{2})*@)?(?:\[(?:(?:(?:(?:[0-9a-f]{1,4}:){6}|::(?:[0-9a-f]{1,4}:){5}|(?:[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){4}|(?:(?:[0-9a-f]{1,4}:){0,1}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){3}|(?:(?:[0-9a-f]{1,4}:){0,2}[0-9a-f]{1,4})?::(?:[0-9a-f]{1,4}:){2}|(?:(?:[0-9a-f]{1,4}:){0,3}[0-9a-f]{1,4})?::[0-9a-f]{1,4}:|(?:(?:[0-9a-f]{1,4}:){0,4}[0-9a-f]{1,4})?::)(?:[0-9a-f]{1,4}:[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?))|(?:(?:[0-9a-f]{1,4}:){0,5}[0-9a-f]{1,4})?::[0-9a-f]{1,4}|(?:(?:[0-9a-f]{1,4}:){0,6}[0-9a-f]{1,4})?::)|[Vv][0-9a-f]+\.[a-z0-9\-._~!$&'()*+,;=:]+)\]|(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)|(?:[a-z0-9\-._~!$&'"()*+,;=]|%[0-9a-f]{2})*)(?::\d*)?(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*|\/(?:(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?|(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})+(?:\/(?:[a-z0-9\-._~!$&'"()*+,;=:@]|%[0-9a-f]{2})*)*)?(?:\?(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?(?:#(?:[a-z0-9\-._~!$&'"()*+,;=:@/?]|%[0-9a-f]{2})*)?$/i,$w=/^(?:(?:[^\x00-\x20"'<>%\\^`{|}]|%[0-9a-f]{2})|\{[+#./;?&=,!@|]?(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?(?:,(?:[a-z0-9_]|%[0-9a-f]{2})+(?::[1-9][0-9]{0,3}|\*)?)*\})*$/i,Rw=/^(?:(?:http[s\u017F]?|ftp):\/\/)(?:(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+(?::(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?@)?(?:(?!10(?:\.[0-9]{1,3}){3})(?!127(?:\.[0-9]{1,3}){3})(?!169\.254(?:\.[0-9]{1,3}){2})(?!192\.168(?:\.[0-9]{1,3}){2})(?!172\.(?:1[6-9]|2[0-9]|3[01])(?:\.[0-9]{1,3}){2})(?:[1-9][0-9]?|1[0-9][0-9]|2[01][0-9]|22[0-3])(?:\.(?:1?[0-9]{1,2}|2[0-4][0-9]|25[0-5])){2}(?:\.(?:[1-9][0-9]?|1[0-9][0-9]|2[0-4][0-9]|25[0-4]))|(?:(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)(?:\.(?:(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+-)*(?:[0-9a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])+)*(?:\.(?:(?:[a-z\xA1-\uD7FF\uE000-\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]){2,})))(?::[0-9]{2,5})?(?:\/(?:[\0-\x08\x0E-\x1F!-\x9F\xA1-\u167F\u1681-\u1FFF\u200B-\u2027\u202A-\u202E\u2030-\u205E\u2060-\u2FFF\u3001-\uD7FF\uE000-\uFEFE\uFF00-\uFFFF]|[\uD800-\uDBFF][\uDC00-\uDFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])*)?$/i,Pw=/^(?:urn:uuid:)?[0-9a-f]{8}-(?:[0-9a-f]{4}-){3}[0-9a-f]{12}$/i,Ow=/^(?:\/(?:[^~/]|~0|~1)*)*$/,Cw=/^#(?:\/(?:[a-z0-9_\-.!$&'()*+,;:=@]|%[0-9a-f]{2}|~0|~1)*)*$/i,Iw=/^(?:0|[1-9][0-9]*)(?:#|(?:\/(?:[^~/]|~0|~1)*)*)$/;Mw.exports=ku;function ku(t){return t=t=="full"?"full":"fast",I8.copy(ku[t])}ku.fast={date:/^\d\d\d\d-[0-1]\d-[0-3]\d$/,time:/^(?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)?$/i,"date-time":/^\d\d\d\d-[0-1]\d-[0-3]\d[t\s](?:[0-2]\d:[0-5]\d:[0-5]\d|23:59:60)(?:\.\d+)?(?:z|[+-]\d\d(?::?\d\d)?)$/i,uri:/^(?:[a-z][a-z0-9+\-.]*:)(?:\/?\/)?[^\s]*$/i,"uri-reference":/^(?:(?:[a-z][a-z0-9+\-.]*:)?\/?\/)?(?:[^\\\s#][^\s#]*)?(?:#[^\\\s]*)?$/i,"uri-template":$w,url:Rw,email:/^[a-z0-9.!#$%&'*+/=?^_`{|}~-]+@[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?(?:\.[a-z0-9](?:[a-z0-9-]{0,61}[a-z0-9])?)*$/i,hostname:kw,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:jw,uuid:Pw,"json-pointer":Ow,"json-pointer-uri-fragment":Cw,"relative-json-pointer":Iw};ku.full={date:Aw,time:Nw,"date-time":F8,uri:z8,"uri-reference":D8,"uri-template":$w,url:Rw,email:/^[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?$/i,hostname:kw,ipv4:/^(?:(?:25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(?:25[0-5]|2[0-4]\d|[01]?\d\d?)$/,ipv6:/^\s*(?:(?:(?:[0-9a-f]{1,4}:){7}(?:[0-9a-f]{1,4}|:))|(?:(?:[0-9a-f]{1,4}:){6}(?::[0-9a-f]{1,4}|(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){5}(?:(?:(?::[0-9a-f]{1,4}){1,2})|:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3})|:))|(?:(?:[0-9a-f]{1,4}:){4}(?:(?:(?::[0-9a-f]{1,4}){1,3})|(?:(?::[0-9a-f]{1,4})?:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){3}(?:(?:(?::[0-9a-f]{1,4}){1,4})|(?:(?::[0-9a-f]{1,4}){0,2}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){2}(?:(?:(?::[0-9a-f]{1,4}){1,5})|(?:(?::[0-9a-f]{1,4}){0,3}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?:(?:[0-9a-f]{1,4}:){1}(?:(?:(?::[0-9a-f]{1,4}){1,6})|(?:(?::[0-9a-f]{1,4}){0,4}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:))|(?::(?:(?:(?::[0-9a-f]{1,4}){1,7})|(?:(?::[0-9a-f]{1,4}){0,5}:(?:(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(?:\.(?:25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}))|:)))(?:%.+)?\s*$/i,regex:jw,uuid:Pw,"json-pointer":Ow,"json-pointer-uri-fragment":Cw,"relative-json-pointer":Iw};function q8(t){return t%4===0&&(t%100!==0||t%400===0)}function Aw(t){var e=t.match(A8);if(!e)return!1;var r=+e[1],n=+e[2],a=+e[3];return n>=1&&n<=12&&a>=1&&a<=(n==2&&q8(r)?29:N8[n])}function Nw(t,e){var r=t.match(j8);if(!r)return!1;var n=r[1],a=r[2],s=r[3],i=r[5];return(n<=23&&a<=59&&s<=59||n==23&&a==59&&s==60)&&(!e||i)}var L8=/t|\s/i;function F8(t){var e=t.split(L8);return e.length==2&&Aw(e[0])&&Nw(e[1],!0)}var U8=/\/|:/;function z8(t){return U8.test(t)&&M8.test(t)}var H8=/[^\\]\\Z/;function jw(t){if(H8.test(t))return!1;try{return new RegExp(t),!0}catch{return!1}}});var Lw=V((TW,qw)=>{"use strict";qw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.errSchemaPath+"/"+r,u=!e.opts.allErrors,l="data"+(i||""),d="valid"+s,p,m;if(o=="#"||o=="#/")e.isRoot?(p=e.async,m="validate"):(p=e.root.schema.$async===!0,m="root.refVal[0]");else{var g=e.resolveRef(e.baseId,o,e.isRoot);if(g===void 0){var b=e.MissingRefError.message(e.baseId,o);if(e.opts.missingRefs=="fail"){e.logger.error(b);var f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '$ref' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(c)+" , params: { ref: '"+e.util.escapeQuotes(o)+"' } ",e.opts.messages!==!1&&(a+=" , message: 'can\\'t resolve reference "+e.util.escapeQuotes(o)+"' "),e.opts.verbose&&(a+=" , schema: "+e.util.toQuotedString(o)+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+l+" "),a+=" } "):a+=" {} ";var h=a;a=f.pop(),!e.compositeRule&&u?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u&&(a+=" if (false) { ")}else if(e.opts.missingRefs=="ignore")e.logger.warn(b),u&&(a+=" if (true) { ");else throw new e.MissingRefError(e.baseId,o,b)}else if(g.inline){var y=e.util.copy(e);y.level++;var v="valid"+y.level;y.schema=g.schema,y.schemaPath="",y.errSchemaPath=o;var _=e.validate(y).replace(/validate\.schema/g,g.code);a+=" "+_+" ",u&&(a+=" if ("+v+") { ")}else p=g.$async===!0||e.async&&g.$async!==!1,m=g.code}if(m){var f=f||[];f.push(a),a="",e.opts.passContext?a+=" "+m+".call(this, ":a+=" "+m+"( ",a+=" "+l+", (dataPath || '')",e.errorPath!='""'&&(a+=" + "+e.errorPath);var S=i?"data"+(i-1||""):"parentData",x=i?e.dataPathArr[i]:"parentDataProperty";a+=" , "+S+" , "+x+", rootData) ";var E=a;if(a=f.pop(),p){if(!e.async)throw new Error("async schema referenced by sync schema");u&&(a+=" var "+d+"; "),a+=" try { await "+E+"; ",u&&(a+=" "+d+" = true; "),a+=" } catch (e) { if (!(e instanceof ValidationError)) throw e; if (vErrors === null) vErrors = e.errors; else vErrors = vErrors.concat(e.errors); errors = vErrors.length; ",u&&(a+=" "+d+" = false; "),a+=" } ",u&&(a+=" if ("+d+") { ")}else a+=" if (!"+E+") { if (vErrors === null) vErrors = "+m+".errors; else vErrors = vErrors.concat("+m+".errors); errors = vErrors.length; } ",u&&(a+=" else { ")}return a}});var Uw=V((kW,Fw)=>{"use strict";Fw.exports=function(e,r,n){var a=" ",s=e.schema[r],i=e.schemaPath+e.util.getProperty(r),o=e.errSchemaPath+"/"+r,c=!e.opts.allErrors,u=e.util.copy(e),l="";u.level++;var d="valid"+u.level,p=u.baseId,m=!0,g=s;if(g)for(var b,f=-1,h=g.length-1;f0||b===!1:e.util.schemaHasRules(b,e.RULES.all))&&(m=!1,u.schema=b,u.schemaPath=i+"["+f+"]",u.errSchemaPath=o+"/"+f,a+=" "+e.validate(u)+" ",u.baseId=p,c&&(a+=" if ("+d+") { ",l+="}"));return c&&(m?a+=" if (true) { ":a+=" "+l.slice(0,-1)+" "),a}});var Hw=V(($W,zw)=>{"use strict";zw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),b="";g.level++;var f="valid"+g.level,h=o.every(function(T){return e.opts.strictKeywords?typeof T=="object"&&Object.keys(T).length>0||T===!1:e.util.schemaHasRules(T,e.RULES.all)});if(h){var y=g.baseId;a+=" var "+m+" = errors; var "+p+" = false; ";var v=e.compositeRule;e.compositeRule=g.compositeRule=!0;var _=o;if(_)for(var S,x=-1,E=_.length-1;x{"use strict";Bw.exports=function(e,r,n){var a=" ",s=e.schema[r],i=e.errSchemaPath+"/"+r,o=!e.opts.allErrors,c=e.util.toQuotedString(s);return e.opts.$comment===!0?a+=" console.log("+c+");":typeof e.opts.$comment=="function"&&(a+=" self._opts.$comment("+c+", "+e.util.toQuotedString(i)+", validate.root.schema);"),a}});var Zw=V((PW,Gw)=>{"use strict";Gw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o,m||(a+=" var schema"+s+" = validate.schema"+c+";"),a+="var "+p+" = equal("+d+", schema"+s+"); if (!"+p+") { ";var b=b||[];b.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'const' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValue: schema"+s+" } ",e.opts.messages!==!1&&(a+=" , message: 'should be equal to constant' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var f=a;return a=b.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+f+"]); ":a+=" validate.errors = ["+f+"]; return false; ":a+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",l&&(a+=" else { "),a}});var Kw=V((OW,Ww)=>{"use strict";Ww.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),b="";g.level++;var f="valid"+g.level,h="i"+s,y=g.dataLevel=e.dataLevel+1,v="data"+y,_=e.baseId,S=e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all);if(a+="var "+m+" = errors;var "+p+";",S){var x=e.compositeRule;e.compositeRule=g.compositeRule=!0,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,a+=" var "+f+" = false; for (var "+h+" = 0; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var E=d+"["+h+"]";g.dataPathArr[y]=h;var T=e.validate(g);g.baseId=_,e.util.varOccurences(T,v)<2?a+=" "+e.util.varReplace(T,v,E)+" ":a+=" var "+v+" = "+E+"; "+T+" ",a+=" if ("+f+") break; } ",e.compositeRule=g.compositeRule=x,a+=" "+b+" if (!"+f+") {"}else a+=" if ("+d+".length == 0) {";var $=$||[];$.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'contains' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: 'should contain a valid item' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var N=a;return a=$.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+N+"]); ":a+=" validate.errors = ["+N+"]; return false; ":a+=" var err = "+N+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { ",S&&(a+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } "),e.opts.allErrors&&(a+=" } "),a}});var Jw=V((CW,Xw)=>{"use strict";Xw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var b="valid"+m.level,f={},h={},y=e.opts.ownProperties;for(x in o)if(x!="__proto__"){var v=o[x],_=Array.isArray(v)?h:f;_[x]=v}a+="var "+p+" = errors;";var S=e.errorPath;a+="var missing"+s+";";for(var x in h)if(_=h[x],_.length){if(a+=" if ( "+d+e.util.getProperty(x)+" !== undefined ",y&&(a+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(x)+"') "),l){a+=" && ( ";var E=_;if(E)for(var T,$=-1,N=E.length-1;$0||v===!1:e.util.schemaHasRules(v,e.RULES.all))&&(a+=" "+b+" = true; if ( "+d+e.util.getProperty(x)+" !== undefined ",y&&(a+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(x)+"') "),a+=") { ",m.schema=v,m.schemaPath=c+e.util.getProperty(x),m.errSchemaPath=u+"/"+e.util.escapeFragment(x),a+=" "+e.validate(m)+" ",m.baseId=U,a+=" } ",l&&(a+=" if ("+b+") { ",g+="}"))}return l&&(a+=" "+g+" if ("+p+" == errors) {"),a}});var Qw=V((IW,Yw)=>{"use strict";Yw.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o;var b="i"+s,f="schema"+s;m||(a+=" var "+f+" = validate.schema"+c+";"),a+="var "+p+";",m&&(a+=" if (schema"+s+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+s+")) "+p+" = false; else {"),a+=""+p+" = false;for (var "+b+"=0; "+b+"<"+f+".length; "+b+"++) if (equal("+d+", "+f+"["+b+"])) { "+p+" = true; break; }",m&&(a+=" } "),a+=" if (!"+p+") { ";var h=h||[];h.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'enum' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { allowedValues: schema"+s+" } ",e.opts.messages!==!1&&(a+=" , message: 'should be equal to one of the allowed values' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var y=a;return a=h.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" }",l&&(a+=" else { "),a}});var tS=V((AW,eS)=>{"use strict";eS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||"");if(e.opts.format===!1)return l&&(a+=" if (true) { "),a;var p=e.opts.$data&&o&&o.$data,m;p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=e.opts.unknownFormats,b=Array.isArray(g);if(p){var f="format"+s,h="isObject"+s,y="formatType"+s;a+=" var "+f+" = formats["+m+"]; var "+h+" = typeof "+f+" == 'object' && !("+f+" instanceof RegExp) && "+f+".validate; var "+y+" = "+h+" && "+f+".type || 'string'; if ("+h+") { ",e.async&&(a+=" var async"+s+" = "+f+".async; "),a+=" "+f+" = "+f+".validate; } if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),a+=" (",g!="ignore"&&(a+=" ("+m+" && !"+f+" ",b&&(a+=" && self._opts.unknownFormats.indexOf("+m+") == -1 "),a+=") || "),a+=" ("+f+" && "+y+" == '"+n+"' && !(typeof "+f+" == 'function' ? ",e.async?a+=" (async"+s+" ? await "+f+"("+d+") : "+f+"("+d+")) ":a+=" "+f+"("+d+") ",a+=" : "+f+".test("+d+"))))) {"}else{var f=e.formats[o];if(!f){if(g=="ignore")return e.logger.warn('unknown format "'+o+'" ignored in schema at path "'+e.errSchemaPath+'"'),l&&(a+=" if (true) { "),a;if(b&&g.indexOf(o)>=0)return l&&(a+=" if (true) { "),a;throw new Error('unknown format "'+o+'" is used in schema at path "'+e.errSchemaPath+'"')}var h=typeof f=="object"&&!(f instanceof RegExp)&&f.validate,y=h&&f.type||"string";if(h){var v=f.async===!0;f=f.validate}if(y!=n)return l&&(a+=" if (true) { "),a;if(v){if(!e.async)throw new Error("async format in sync schema");var _="formats"+e.util.getProperty(o)+".validate";a+=" if (!(await "+_+"("+d+"))) { "}else{a+=" if (! ";var _="formats"+e.util.getProperty(o);h&&(_+=".validate"),typeof f=="function"?a+=" "+_+"("+d+") ":a+=" "+_+".test("+d+") ",a+=") { "}}var S=S||[];S.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'format' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { format: ",p?a+=""+m:a+=""+e.util.toQuotedString(o),a+=" } ",e.opts.messages!==!1&&(a+=` , message: 'should match format "`,p?a+="' + "+m+" + '":a+=""+e.util.escapeQuotes(o),a+=`"' `),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+e.util.toQuotedString(o),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var x=a;return a=S.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+x+"]); ":a+=" validate.errors = ["+x+"]; return false; ":a+=" var err = "+x+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l&&(a+=" else { "),a}});var aS=V((NW,rS)=>{"use strict";rS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e);g.level++;var b="valid"+g.level,f=e.schema.then,h=e.schema.else,y=f!==void 0&&(e.opts.strictKeywords?typeof f=="object"&&Object.keys(f).length>0||f===!1:e.util.schemaHasRules(f,e.RULES.all)),v=h!==void 0&&(e.opts.strictKeywords?typeof h=="object"&&Object.keys(h).length>0||h===!1:e.util.schemaHasRules(h,e.RULES.all)),_=g.baseId;if(y||v){var S;g.createErrors=!1,g.schema=o,g.schemaPath=c,g.errSchemaPath=u,a+=" var "+m+" = errors; var "+p+" = true; ";var x=e.compositeRule;e.compositeRule=g.compositeRule=!0,a+=" "+e.validate(g)+" ",g.baseId=_,g.createErrors=!0,a+=" errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; } ",e.compositeRule=g.compositeRule=x,y?(a+=" if ("+b+") { ",g.schema=e.schema.then,g.schemaPath=e.schemaPath+".then",g.errSchemaPath=e.errSchemaPath+"/then",a+=" "+e.validate(g)+" ",g.baseId=_,a+=" "+p+" = "+b+"; ",y&&v?(S="ifClause"+s,a+=" var "+S+" = 'then'; "):S="'then'",a+=" } ",v&&(a+=" else { ")):a+=" if (!"+b+") { ",v&&(g.schema=e.schema.else,g.schemaPath=e.schemaPath+".else",g.errSchemaPath=e.errSchemaPath+"/else",a+=" "+e.validate(g)+" ",g.baseId=_,a+=" "+p+" = "+b+"; ",y&&v?(S="ifClause"+s,a+=" var "+S+" = 'else'; "):S="'else'",a+=" } "),a+=" if (!"+p+") { var err = ",e.createErrors!==!1?(a+=" { keyword: 'if' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { failingKeyword: "+S+" } ",e.opts.messages!==!1&&(a+=` , message: 'should match "' + `+S+` + '" schema' `),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+=" } ",l&&(a+=" else { ")}else l&&(a+=" if (true) { ");return a}});var sS=V((jW,nS)=>{"use strict";nS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),b="";g.level++;var f="valid"+g.level,h="i"+s,y=g.dataLevel=e.dataLevel+1,v="data"+y,_=e.baseId;if(a+="var "+m+" = errors;var "+p+";",Array.isArray(o)){var S=e.schema.additionalItems;if(S===!1){a+=" "+p+" = "+d+".length <= "+o.length+"; ";var x=u;u=e.errSchemaPath+"/additionalItems",a+=" if (!"+p+") { ";var E=E||[];E.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'additionalItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+o.length+" } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT have more than "+o.length+" items' "),e.opts.verbose&&(a+=" , schema: false , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var T=a;a=E.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+T+"]); ":a+=" validate.errors = ["+T+"]; return false; ":a+=" var err = "+T+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",u=x,l&&(b+="}",a+=" else { ")}var $=o;if($){for(var N,j=-1,L=$.length-1;j0||N===!1:e.util.schemaHasRules(N,e.RULES.all)){a+=" "+f+" = true; if ("+d+".length > "+j+") { ";var H=d+"["+j+"]";g.schema=N,g.schemaPath=c+"["+j+"]",g.errSchemaPath=u+"/"+j,g.errorPath=e.util.getPathExpr(e.errorPath,j,e.opts.jsonPointers,!0),g.dataPathArr[y]=j;var A=e.validate(g);g.baseId=_,e.util.varOccurences(A,v)<2?a+=" "+e.util.varReplace(A,v,H)+" ":a+=" var "+v+" = "+H+"; "+A+" ",a+=" } ",l&&(a+=" if ("+f+") { ",b+="}")}}if(typeof S=="object"&&(e.opts.strictKeywords?typeof S=="object"&&Object.keys(S).length>0||S===!1:e.util.schemaHasRules(S,e.RULES.all))){g.schema=S,g.schemaPath=e.schemaPath+".additionalItems",g.errSchemaPath=e.errSchemaPath+"/additionalItems",a+=" "+f+" = true; if ("+d+".length > "+o.length+") { for (var "+h+" = "+o.length+"; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var H=d+"["+h+"]";g.dataPathArr[y]=h;var A=e.validate(g);g.baseId=_,e.util.varOccurences(A,v)<2?a+=" "+e.util.varReplace(A,v,H)+" ":a+=" var "+v+" = "+H+"; "+A+" ",l&&(a+=" if (!"+f+") break; "),a+=" } } ",l&&(a+=" if ("+f+") { ",b+="}")}}else if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){g.schema=o,g.schemaPath=c,g.errSchemaPath=u,a+=" for (var "+h+" = 0; "+h+" < "+d+".length; "+h+"++) { ",g.errorPath=e.util.getPathExpr(e.errorPath,h,e.opts.jsonPointers,!0);var H=d+"["+h+"]";g.dataPathArr[y]=h;var A=e.validate(g);g.baseId=_,e.util.varOccurences(A,v)<2?a+=" "+e.util.varReplace(A,v,H)+" ":a+=" var "+v+" = "+H+"; "+A+" ",l&&(a+=" if (!"+f+") break; "),a+=" }"}return l&&(a+=" "+b+" if ("+m+" == errors) {"),a}});var qf=V((MW,iS)=>{"use strict";iS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,_,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=r=="maximum",b=g?"exclusiveMaximum":"exclusiveMinimum",f=e.schema[b],h=e.opts.$data&&f&&f.$data,y=g?"<":">",v=g?">":"<",_=void 0;if(!(p||typeof o=="number"||o===void 0))throw new Error(r+" must be number");if(!(h||f===void 0||typeof f=="number"||typeof f=="boolean"))throw new Error(b+" must be number or boolean");if(h){var S=e.util.getData(f.$data,i,e.dataPathArr),x="exclusive"+s,E="exclType"+s,T="exclIsNumber"+s,$="op"+s,N="' + "+$+" + '";a+=" var schemaExcl"+s+" = "+S+"; ",S="schemaExcl"+s,a+=" var "+x+"; var "+E+" = typeof "+S+"; if ("+E+" != 'boolean' && "+E+" != 'undefined' && "+E+" != 'number') { ";var _=b,j=j||[];j.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(_||"_exclusiveLimit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: '"+b+" should be boolean' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var L=a;a=j.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+L+"]); ":a+=" validate.errors = ["+L+"]; return false; ":a+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" "+E+" == 'number' ? ( ("+x+" = "+m+" === undefined || "+S+" "+y+"= "+m+") ? "+d+" "+v+"= "+S+" : "+d+" "+v+" "+m+" ) : ( ("+x+" = "+S+" === true) ? "+d+" "+v+"= "+m+" : "+d+" "+v+" "+m+" ) || "+d+" !== "+d+") { var op"+s+" = "+x+" ? '"+y+"' : '"+y+"='; ",o===void 0&&(_=b,u=e.errSchemaPath+"/"+b,m=S,p=h)}else{var T=typeof f=="number",N=y;if(T&&p){var $="'"+N+"'";a+=" if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" ( "+m+" === undefined || "+f+" "+y+"= "+m+" ? "+d+" "+v+"= "+f+" : "+d+" "+v+" "+m+" ) || "+d+" !== "+d+") { "}else{T&&o===void 0?(x=!0,_=b,u=e.errSchemaPath+"/"+b,m=f,v+="="):(T&&(m=Math[g?"min":"max"](f,o)),f===(T?m:!0)?(x=!0,_=b,u=e.errSchemaPath+"/"+b,v+="="):(x=!1,N+="="));var $="'"+N+"'";a+=" if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" "+d+" "+v+" "+m+" || "+d+" !== "+d+") { "}}_=_||r;var j=j||[];j.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(_||"_limit")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { comparison: "+$+", limit: "+m+", exclusive: "+x+" } ",e.opts.messages!==!1&&(a+=" , message: 'should be "+N+" ",p?a+="' + "+m:a+=""+m+"'"),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var L=a;return a=j.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+L+"]); ":a+=" validate.errors = ["+L+"]; return false; ":a+=" var err = "+L+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l&&(a+=" else { "),a}});var Lf=V((DW,oS)=>{"use strict";oS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,b,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxItems"?">":"<";a+="if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" "+d+".length "+g+" "+m+") { ";var b=r,f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(b||"_limitItems")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT have ",r=="maxItems"?a+="more":a+="fewer",a+=" than ",p?a+="' + "+m+" + '":a+=""+o,a+=" items' "),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var h=a;return a=f.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var Ff=V((qW,cS)=>{"use strict";cS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,b,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxLength"?">":"<";a+="if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),e.opts.unicode===!1?a+=" "+d+".length ":a+=" ucs2length("+d+") ",a+=" "+g+" "+m+") { ";var b=r,f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(b||"_limitLength")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT be ",r=="maxLength"?a+="longer":a+="shorter",a+=" than ",p?a+="' + "+m+" + '":a+=""+o,a+=" characters' "),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var h=a;return a=f.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var Uf=V((LW,uS)=>{"use strict";uS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,b,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");var g=r=="maxProperties"?">":"<";a+="if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'number') || "),a+=" Object.keys("+d+").length "+g+" "+m+") { ";var b=r,f=f||[];f.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(b||"_limitProperties")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { limit: "+m+" } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT have ",r=="maxProperties"?a+="more":a+="fewer",a+=" than ",p?a+="' + "+m+" + '":a+=""+o,a+=" properties' "),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var h=a;return a=f.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+h+"]); ":a+=" validate.errors = ["+h+"]; return false; ":a+=" var err = "+h+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var dS=V((FW,lS)=>{"use strict";lS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;if(p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o,!(p||typeof o=="number"))throw new Error(r+" must be number");a+="var division"+s+";if (",p&&(a+=" "+m+" !== undefined && ( typeof "+m+" != 'number' || "),a+=" (division"+s+" = "+d+" / "+m+", ",e.opts.multipleOfPrecision?a+=" Math.abs(Math.round(division"+s+") - division"+s+") > 1e-"+e.opts.multipleOfPrecision+" ":a+=" division"+s+" !== parseInt(division"+s+") ",a+=" ) ",p&&(a+=" ) "),a+=" ) { ";var g=g||[];g.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'multipleOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { multipleOf: "+m+" } ",e.opts.messages!==!1&&(a+=" , message: 'should be multiple of ",p?a+="' + "+m:a+=""+m+"'"),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var b=a;return a=g.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+b+"]); ":a+=" validate.errors = ["+b+"]; return false; ":a+=" var err = "+b+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var fS=V((UW,pS)=>{"use strict";pS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e);m.level++;var g="valid"+m.level;if(e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){m.schema=o,m.schemaPath=c,m.errSchemaPath=u,a+=" var "+p+" = errors; ";var b=e.compositeRule;e.compositeRule=m.compositeRule=!0,m.createErrors=!1;var f;m.opts.allErrors&&(f=m.opts.allErrors,m.opts.allErrors=!1),a+=" "+e.validate(m)+" ",m.createErrors=!0,f&&(m.opts.allErrors=f),e.compositeRule=m.compositeRule=b,a+=" if ("+g+") { ";var h=h||[];h.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var y=a;a=h.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+y+"]); ":a+=" validate.errors = ["+y+"]; return false; ":a+=" var err = "+y+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { errors = "+p+"; if (vErrors !== null) { if ("+p+") vErrors.length = "+p+"; else vErrors = null; } ",e.opts.allErrors&&(a+=" } ")}else a+=" var err = ",e.createErrors!==!1?(a+=" { keyword: 'not' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: {} ",e.opts.messages!==!1&&(a+=" , message: 'should NOT be valid' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",l&&(a+=" if (false) { ");return a}});var hS=V((zW,mS)=>{"use strict";mS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m="errs__"+s,g=e.util.copy(e),b="";g.level++;var f="valid"+g.level,h=g.baseId,y="prevValid"+s,v="passingSchemas"+s;a+="var "+m+" = errors , "+y+" = false , "+p+" = false , "+v+" = null; ";var _=e.compositeRule;e.compositeRule=g.compositeRule=!0;var S=o;if(S)for(var x,E=-1,T=S.length-1;E0||x===!1:e.util.schemaHasRules(x,e.RULES.all))?(g.schema=x,g.schemaPath=c+"["+E+"]",g.errSchemaPath=u+"/"+E,a+=" "+e.validate(g)+" ",g.baseId=h):a+=" var "+f+" = true; ",E&&(a+=" if ("+f+" && "+y+") { "+p+" = false; "+v+" = ["+v+", "+E+"]; } else { ",b+="}"),a+=" if ("+f+") { "+p+" = "+y+" = true; "+v+" = "+E+"; }";return e.compositeRule=g.compositeRule=_,a+=""+b+"if (!"+p+") { var err = ",e.createErrors!==!1?(a+=" { keyword: 'oneOf' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { passingSchemas: "+v+" } ",e.opts.messages!==!1&&(a+=" , message: 'should match exactly one schema in oneOf' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ",a+="; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",!e.compositeRule&&l&&(e.async?a+=" throw new ValidationError(vErrors); ":a+=" validate.errors = vErrors; return false; "),a+="} else { errors = "+m+"; if (vErrors !== null) { if ("+m+") vErrors.length = "+m+"; else vErrors = null; }",e.opts.allErrors&&(a+=" } "),a}});var gS=V((HW,vS)=>{"use strict";vS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p=e.opts.$data&&o&&o.$data,m;p?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",m="schema"+s):m=o;var g=p?"(new RegExp("+m+"))":e.usePattern(o);a+="if ( ",p&&(a+=" ("+m+" !== undefined && typeof "+m+" != 'string') || "),a+=" !"+g+".test("+d+") ) { ";var b=b||[];b.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'pattern' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { pattern: ",p?a+=""+m:a+=""+e.util.toQuotedString(o),a+=" } ",e.opts.messages!==!1&&(a+=` , message: 'should match pattern "`,p?a+="' + "+m+" + '":a+=""+e.util.escapeQuotes(o),a+=`"' `),e.opts.verbose&&(a+=" , schema: ",p?a+="validate.schema"+c:a+=""+e.util.toQuotedString(o),a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var f=a;return a=b.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+f+"]); ":a+=" validate.errors = ["+f+"]; return false; ":a+=" var err = "+f+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+="} ",l&&(a+=" else { "),a}});var _S=V((BW,yS)=>{"use strict";yS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var b="valid"+m.level,f="key"+s,h="idx"+s,y=m.dataLevel=e.dataLevel+1,v="data"+y,_="dataProperties"+s,S=Object.keys(o||{}).filter(ne),x=e.schema.patternProperties||{},E=Object.keys(x).filter(ne),T=e.schema.additionalProperties,$=S.length||E.length,N=T===!1,j=typeof T=="object"&&Object.keys(T).length,L=e.opts.removeAdditional,H=N||j||L,A=e.opts.ownProperties,W=e.baseId,oe=e.schema.required;if(oe&&!(e.opts.$data&&oe.$data)&&oe.length8)a+=" || validate.schema"+c+".hasOwnProperty("+f+") ";else{var re=S;if(re)for(var U,R=-1,z=re.length-1;R0||Ie===!1:e.util.schemaHasRules(Ie,e.RULES.all)){var Ae=e.util.getProperty(U),C=d+Ae,Ne=Z&&Ie.default!==void 0;m.schema=Ie,m.schemaPath=c+Ae,m.errSchemaPath=u+"/"+e.util.escapeFragment(U),m.errorPath=e.util.getPath(e.errorPath,U,e.opts.jsonPointers),m.dataPathArr[y]=e.util.toQuotedString(U);var F=e.validate(m);if(m.baseId=W,e.util.varOccurences(F,v)<2){F=e.util.varReplace(F,v,C);var ke=C}else{var ke=v;a+=" var "+v+" = "+C+"; "}if(Ne)a+=" "+F+" ";else{if(he&&he[U]){a+=" if ( "+ke+" === undefined ",A&&(a+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),a+=") { "+b+" = false; ";var K=e.errorPath,de=u,pt=e.util.escapeQuotes(U);e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPath(K,U,e.opts.jsonPointers)),u=e.errSchemaPath+"/required";var se=se||[];se.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+pt+"' } ",e.opts.messages!==!1&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+pt+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var me=a;a=se.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+me+"]); ":a+=" validate.errors = ["+me+"]; return false; ":a+=" var err = "+me+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",u=de,e.errorPath=K,a+=" } else { "}else l?(a+=" if ( "+ke+" === undefined ",A&&(a+=" || ! Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),a+=") { "+b+" = true; } else { "):(a+=" if ("+ke+" !== undefined ",A&&(a+=" && Object.prototype.hasOwnProperty.call("+d+", '"+e.util.escapeQuotes(U)+"') "),a+=" ) { ");a+=" "+F+" } "}}l&&(a+=" if ("+b+") { ",g+="}")}}if(E.length){var Le=E;if(Le)for(var w,pr=-1,Vt=Le.length-1;pr0||Ie===!1:e.util.schemaHasRules(Ie,e.RULES.all)){m.schema=Ie,m.schemaPath=e.schemaPath+".patternProperties"+e.util.getProperty(w),m.errSchemaPath=e.errSchemaPath+"/patternProperties/"+e.util.escapeFragment(w),A?a+=" "+_+" = "+_+" || Object.keys("+d+"); for (var "+h+"=0; "+h+"<"+_+".length; "+h+"++) { var "+f+" = "+_+"["+h+"]; ":a+=" for (var "+f+" in "+d+") { ",a+=" if ("+e.usePattern(w)+".test("+f+")) { ",m.errorPath=e.util.getPathExpr(e.errorPath,f,e.opts.jsonPointers);var C=d+"["+f+"]";m.dataPathArr[y]=f;var F=e.validate(m);m.baseId=W,e.util.varOccurences(F,v)<2?a+=" "+e.util.varReplace(F,v,C)+" ":a+=" var "+v+" = "+C+"; "+F+" ",l&&(a+=" if (!"+b+") break; "),a+=" } ",l&&(a+=" else "+b+" = true; "),a+=" } ",l&&(a+=" if ("+b+") { ",g+="}")}}}return l&&(a+=" "+g+" if ("+p+" == errors) {"),a}});var xS=V((VW,bS)=>{"use strict";bS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="errs__"+s,m=e.util.copy(e),g="";m.level++;var b="valid"+m.level;if(a+="var "+p+" = errors;",e.opts.strictKeywords?typeof o=="object"&&Object.keys(o).length>0||o===!1:e.util.schemaHasRules(o,e.RULES.all)){m.schema=o,m.schemaPath=c,m.errSchemaPath=u;var f="key"+s,h="idx"+s,y="i"+s,v="' + "+f+" + '",_=m.dataLevel=e.dataLevel+1,S="data"+_,x="dataProperties"+s,E=e.opts.ownProperties,T=e.baseId;E&&(a+=" var "+x+" = undefined; "),E?a+=" "+x+" = "+x+" || Object.keys("+d+"); for (var "+h+"=0; "+h+"<"+x+".length; "+h+"++) { var "+f+" = "+x+"["+h+"]; ":a+=" for (var "+f+" in "+d+") { ",a+=" var startErrs"+s+" = errors; ";var $=f,N=e.compositeRule;e.compositeRule=m.compositeRule=!0;var j=e.validate(m);m.baseId=T,e.util.varOccurences(j,S)<2?a+=" "+e.util.varReplace(j,S,$)+" ":a+=" var "+S+" = "+$+"; "+j+" ",e.compositeRule=m.compositeRule=N,a+=" if (!"+b+") { for (var "+y+"=startErrs"+s+"; "+y+"{"use strict";wS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;m?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o;var b="schema"+s;if(!m)if(o.length0||S===!1:e.util.schemaHasRules(S,e.RULES.all))||(f[f.length]=y)}}else var f=o;if(m||f.length){var x=e.errorPath,E=m||f.length>=e.opts.loopRequired,T=e.opts.ownProperties;if(l)if(a+=" var missing"+s+"; ",E){m||(a+=" var "+b+" = validate.schema"+c+"; ");var $="i"+s,N="schema"+s+"["+$+"]",j="' + "+N+" + '";e.opts._errorDataPathProperty&&(e.errorPath=e.util.getPathExpr(x,N,e.opts.jsonPointers)),a+=" var "+p+" = true; ",m&&(a+=" if (schema"+s+" === undefined) "+p+" = true; else if (!Array.isArray(schema"+s+")) "+p+" = false; else {"),a+=" for (var "+$+" = 0; "+$+" < "+b+".length; "+$+"++) { "+p+" = "+d+"["+b+"["+$+"]] !== undefined ",T&&(a+=" && Object.prototype.hasOwnProperty.call("+d+", "+b+"["+$+"]) "),a+="; if (!"+p+") break; } ",m&&(a+=" } "),a+=" if (!"+p+") { ";var L=L||[];L.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'required' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { missingProperty: '"+j+"' } ",e.opts.messages!==!1&&(a+=" , message: '",e.opts._errorDataPathProperty?a+="is a required property":a+="should have required property \\'"+j+"\\'",a+="' "),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var H=a;a=L.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+H+"]); ":a+=" validate.errors = ["+H+"]; return false; ":a+=" var err = "+H+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } else { "}else{a+=" if ( ";var A=f;if(A)for(var W,$=-1,oe=A.length-1;${"use strict";ES.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d="data"+(i||""),p="valid"+s,m=e.opts.$data&&o&&o.$data,g;if(m?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",g="schema"+s):g=o,(o||m)&&e.opts.uniqueItems!==!1){m&&(a+=" var "+p+"; if ("+g+" === false || "+g+" === undefined) "+p+" = true; else if (typeof "+g+" != 'boolean') "+p+" = false; else { "),a+=" var i = "+d+".length , "+p+" = true , j; if (i > 1) { ";var b=e.schema.items&&e.schema.items.type,f=Array.isArray(b);if(!b||b=="object"||b=="array"||f&&(b.indexOf("object")>=0||b.indexOf("array")>=0))a+=" outer: for (;i--;) { for (j = i; j--;) { if (equal("+d+"[i], "+d+"[j])) { "+p+" = false; break outer; } } } ";else{a+=" var itemIndices = {}, item; for (;i--;) { var item = "+d+"[i]; ";var h="checkDataType"+(f?"s":"");a+=" if ("+e.util[h](b,"item",e.opts.strictNumbers,!0)+") continue; ",f&&(a+=` if (typeof item == 'string') item = '"' + item; `),a+=" if (typeof itemIndices[item] == 'number') { "+p+" = false; j = itemIndices[item]; break; } itemIndices[item] = i; } "}a+=" } ",m&&(a+=" } "),a+=" if (!"+p+") { ";var y=y||[];y.push(a),a="",e.createErrors!==!1?(a+=" { keyword: 'uniqueItems' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { i: i, j: j } ",e.opts.messages!==!1&&(a+=" , message: 'should NOT have duplicate items (items ## ' + j + ' and ' + i + ' are identical)' "),e.opts.verbose&&(a+=" , schema: ",m?a+="validate.schema"+c:a+=""+o,a+=" , parentSchema: validate.schema"+e.schemaPath+" , data: "+d+" "),a+=" } "):a+=" {} ";var v=a;a=y.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+v+"]); ":a+=" validate.errors = ["+v+"]; return false; ":a+=" var err = "+v+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ",a+=" } ",l&&(a+=" else { ")}else l&&(a+=" if (true) { ");return a}});var $S=V((WW,kS)=>{"use strict";kS.exports={$ref:Lw(),allOf:Uw(),anyOf:Hw(),$comment:Vw(),const:Zw(),contains:Kw(),dependencies:Jw(),enum:Qw(),format:tS(),if:aS(),items:sS(),maximum:qf(),minimum:qf(),maxItems:Lf(),minItems:Lf(),maxLength:Ff(),minLength:Ff(),maxProperties:Uf(),minProperties:Uf(),multipleOf:dS(),not:fS(),oneOf:hS(),pattern:gS(),properties:_S(),propertyNames:xS(),required:SS(),uniqueItems:TS(),validate:Mf()}});var OS=V((KW,PS)=>{"use strict";var RS=$S(),zf=Cn().toHash;PS.exports=function(){var e=[{type:"number",rules:[{maximum:["exclusiveMaximum"]},{minimum:["exclusiveMinimum"]},"multipleOf","format"]},{type:"string",rules:["maxLength","minLength","pattern","format"]},{type:"array",rules:["maxItems","minItems","items","contains","uniqueItems"]},{type:"object",rules:["maxProperties","minProperties","required","dependencies","propertyNames",{properties:["additionalProperties","patternProperties"]}]},{rules:["$ref","const","enum","not","anyOf","oneOf","allOf","if"]}],r=["type","$comment"],n=["$schema","$id","id","$data","$async","title","description","default","definitions","examples","readOnly","writeOnly","contentMediaType","contentEncoding","additionalItems","then","else"],a=["number","integer","string","array","object","boolean","null"];return e.all=zf(r),e.types=zf(a),e.forEach(function(s){s.rules=s.rules.map(function(i){var o;if(typeof i=="object"){var c=Object.keys(i)[0];o=i[c],i=c,o.forEach(function(l){r.push(l),e.all[l]=!0})}r.push(i);var u=e.all[i]={keyword:i,code:RS[i],implements:o};return u}),e.all.$comment={keyword:"$comment",code:RS.$comment},s.type&&(e.types[s.type]=s)}),e.keywords=zf(r.concat(n)),e.custom={},e}});var AS=V((XW,IS)=>{"use strict";var CS=["multipleOf","maximum","exclusiveMaximum","minimum","exclusiveMinimum","maxLength","minLength","pattern","additionalItems","maxItems","minItems","uniqueItems","maxProperties","minProperties","required","additionalProperties","enum","format","const"];IS.exports=function(t,e){for(var r=0;r{"use strict";var B8=xu().MissingRef;jS.exports=NS;function NS(t,e,r){var n=this;if(typeof this._opts.loadSchema!="function")throw new Error("options.loadSchema should be a function");typeof e=="function"&&(r=e,e=void 0);var a=s(t).then(function(){var o=n._addSchema(t,void 0,e);return o.validate||i(o)});return r&&a.then(function(o){r(null,o)},r),a;function s(o){var c=o.$schema;return c&&!n.getSchema(c)?NS.call(n,{$ref:c},!0):Promise.resolve()}function i(o){try{return n._compile(o)}catch(u){if(u instanceof B8)return c(u);throw u}function c(u){var l=u.missingSchema;if(m(l))throw new Error("Schema "+l+" is loaded but "+u.missingRef+" cannot be resolved");var d=n._loadingSchemas[l];return d||(d=n._loadingSchemas[l]=n._opts.loadSchema(l),d.then(p,p)),d.then(function(g){if(!m(l))return s(g).then(function(){m(l)||n.addSchema(g,l,void 0,e)})}).then(function(){return i(o)});function p(){delete n._loadingSchemas[l]}function m(g){return n._refs[g]||n._schemas[g]}}}}});var qS=V((YW,DS)=>{"use strict";DS.exports=function(e,r,n){var a=" ",s=e.level,i=e.dataLevel,o=e.schema[r],c=e.schemaPath+e.util.getProperty(r),u=e.errSchemaPath+"/"+r,l=!e.opts.allErrors,d,p="data"+(i||""),m="valid"+s,g="errs__"+s,b=e.opts.$data&&o&&o.$data,f;b?(a+=" var schema"+s+" = "+e.util.getData(o.$data,i,e.dataPathArr)+"; ",f="schema"+s):f=o;var h=this,y="definition"+s,v=h.definition,_="",S,x,E,T,$;if(b&&v.$data){$="keywordValidate"+s;var N=v.validateSchema;a+=" var "+y+" = RULES.custom['"+r+"'].definition; var "+$+" = "+y+".validate;"}else{if(T=e.useCustomRule(h,o,e.schema,e),!T)return;f="validate.schema"+c,$=T.code,S=v.compile,x=v.inline,E=v.macro}var j=$+".errors",L="i"+s,H="ruleErr"+s,A=v.async;if(A&&!e.async)throw new Error("async keyword in sync schema");if(x||E||(a+=""+j+" = null;"),a+="var "+g+" = errors;var "+m+";",b&&v.$data&&(_+="}",a+=" if ("+f+" === undefined) { "+m+" = true; } else { ",N&&(_+="}",a+=" "+m+" = "+y+".validateSchema("+f+"); if ("+m+") { ")),x)v.statements?a+=" "+T.validate+" ":a+=" "+m+" = "+T.validate+"; ";else if(E){var W=e.util.copy(e),_="";W.level++;var oe="valid"+W.level;W.schema=T.validate,W.schemaPath="";var he=e.compositeRule;e.compositeRule=W.compositeRule=!0;var ne=e.validate(W).replace(/validate\.schema/g,$);e.compositeRule=W.compositeRule=he,a+=" "+ne}else{var re=re||[];re.push(a),a="",a+=" "+$+".call( ",e.opts.passContext?a+="this":a+="self",S||v.schema===!1?a+=" , "+p+" ":a+=" , "+f+" , "+p+" , validate.schema"+e.schemaPath+" ",a+=" , (dataPath || '')",e.errorPath!='""'&&(a+=" + "+e.errorPath);var U=i?"data"+(i-1||""):"parentData",R=i?e.dataPathArr[i]:"parentDataProperty";a+=" , "+U+" , "+R+" , rootData ) ";var z=a;a=re.pop(),v.errors===!1?(a+=" "+m+" = ",A&&(a+="await "),a+=""+z+"; "):A?(j="customErrors"+s,a+=" var "+j+" = null; try { "+m+" = await "+z+"; } catch (e) { "+m+" = false; if (e instanceof ValidationError) "+j+" = e.errors; else throw e; } "):a+=" "+j+" = null; "+m+" = "+z+"; "}if(v.modifying&&(a+=" if ("+U+") "+p+" = "+U+"["+R+"];"),a+=""+_,v.valid)l&&(a+=" if (true) { ");else{a+=" if ( ",v.valid===void 0?(a+=" !",E?a+=""+oe:a+=""+m):a+=" "+!v.valid+" ",a+=") { ",d=h.keyword;var re=re||[];re.push(a),a="";var re=re||[];re.push(a),a="",e.createErrors!==!1?(a+=" { keyword: '"+(d||"custom")+"' , dataPath: (dataPath || '') + "+e.errorPath+" , schemaPath: "+e.util.toQuotedString(u)+" , params: { keyword: '"+h.keyword+"' } ",e.opts.messages!==!1&&(a+=` , message: 'should pass "`+h.keyword+`" keyword validation' `),e.opts.verbose&&(a+=" , schema: validate.schema"+c+" , parentSchema: validate.schema"+e.schemaPath+" , data: "+p+" "),a+=" } "):a+=" {} ";var I=a;a=re.pop(),!e.compositeRule&&l?e.async?a+=" throw new ValidationError(["+I+"]); ":a+=" validate.errors = ["+I+"]; return false; ":a+=" var err = "+I+"; if (vErrors === null) vErrors = [err]; else vErrors.push(err); errors++; ";var w=a;a=re.pop(),x?v.errors?v.errors!="full"&&(a+=" for (var "+L+"="+g+"; "+L+"{V8.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"http://json-schema.org/draft-07/schema#",title:"Core schema meta-schema",definitions:{schemaArray:{type:"array",minItems:1,items:{$ref:"#"}},nonNegativeInteger:{type:"integer",minimum:0},nonNegativeIntegerDefault0:{allOf:[{$ref:"#/definitions/nonNegativeInteger"},{default:0}]},simpleTypes:{enum:["array","boolean","integer","null","number","object","string"]},stringArray:{type:"array",items:{type:"string"},uniqueItems:!0,default:[]}},type:["object","boolean"],properties:{$id:{type:"string",format:"uri-reference"},$schema:{type:"string",format:"uri"},$ref:{type:"string",format:"uri-reference"},$comment:{type:"string"},title:{type:"string"},description:{type:"string"},default:!0,readOnly:{type:"boolean",default:!1},examples:{type:"array",items:!0},multipleOf:{type:"number",exclusiveMinimum:0},maximum:{type:"number"},exclusiveMaximum:{type:"number"},minimum:{type:"number"},exclusiveMinimum:{type:"number"},maxLength:{$ref:"#/definitions/nonNegativeInteger"},minLength:{$ref:"#/definitions/nonNegativeIntegerDefault0"},pattern:{type:"string",format:"regex"},additionalItems:{$ref:"#"},items:{anyOf:[{$ref:"#"},{$ref:"#/definitions/schemaArray"}],default:!0},maxItems:{$ref:"#/definitions/nonNegativeInteger"},minItems:{$ref:"#/definitions/nonNegativeIntegerDefault0"},uniqueItems:{type:"boolean",default:!1},contains:{$ref:"#"},maxProperties:{$ref:"#/definitions/nonNegativeInteger"},minProperties:{$ref:"#/definitions/nonNegativeIntegerDefault0"},required:{$ref:"#/definitions/stringArray"},additionalProperties:{$ref:"#"},definitions:{type:"object",additionalProperties:{$ref:"#"},default:{}},properties:{type:"object",additionalProperties:{$ref:"#"},default:{}},patternProperties:{type:"object",additionalProperties:{$ref:"#"},propertyNames:{format:"regex"},default:{}},dependencies:{type:"object",additionalProperties:{anyOf:[{$ref:"#"},{$ref:"#/definitions/stringArray"}]}},propertyNames:{$ref:"#"},const:!0,enum:{type:"array",items:!0,minItems:1,uniqueItems:!0},type:{anyOf:[{$ref:"#/definitions/simpleTypes"},{type:"array",items:{$ref:"#/definitions/simpleTypes"},minItems:1,uniqueItems:!0}]},format:{type:"string"},contentMediaType:{type:"string"},contentEncoding:{type:"string"},if:{$ref:"#"},then:{$ref:"#"},else:{$ref:"#"},allOf:{$ref:"#/definitions/schemaArray"},anyOf:{$ref:"#/definitions/schemaArray"},oneOf:{$ref:"#/definitions/schemaArray"},not:{$ref:"#"}},default:!0}});var US=V((eK,FS)=>{"use strict";var LS=Hf();FS.exports={$id:"https://github.com/ajv-validator/ajv/blob/master/lib/definition_schema.js",definitions:{simpleTypes:LS.definitions.simpleTypes},type:"object",dependencies:{schema:["validate"],$data:["validate"],statements:["inline"],valid:{not:{required:["macro"]}}},properties:{type:LS.properties.type,schema:{type:"boolean"},statements:{type:"boolean"},dependencies:{type:"array",items:{type:"string"}},metaSchema:{type:"object"},modifying:{type:"boolean"},valid:{type:"boolean"},$data:{type:"boolean"},async:{type:"boolean"},errors:{anyOf:[{type:"boolean"},{const:"full"}]}}}});var HS=V((tK,zS)=>{"use strict";var G8=/^[a-z_$][a-z0-9_$-]*$/i,Z8=qS(),W8=US();zS.exports={add:K8,get:X8,remove:J8,validate:Bf};function K8(t,e){var r=this.RULES;if(r.keywords[t])throw new Error("Keyword "+t+" is already defined");if(!G8.test(t))throw new Error("Keyword "+t+" is not a valid identifier");if(e){this.validateKeyword(e,!0);var n=e.type;if(Array.isArray(n))for(var a=0;a{Y8.exports={$schema:"http://json-schema.org/draft-07/schema#",$id:"https://raw.githubusercontent.com/ajv-validator/ajv/master/lib/refs/data.json#",description:"Meta-schema for $data reference (JSON Schema extension proposal)",type:"object",required:["$data"],properties:{$data:{type:"string",anyOf:[{format:"relative-json-pointer"},{format:"json-pointer"}]}},additionalProperties:!1}});var eE=V((aK,QS)=>{"use strict";var GS=Sw(),In=bu(),Q8=Tw(),ZS=Pf(),e9=jf(),t9=Dw(),r9=OS(),WS=AS(),KS=Cn();QS.exports=kt;kt.prototype.validate=n9;kt.prototype.compile=s9;kt.prototype.addSchema=i9;kt.prototype.addMetaSchema=o9;kt.prototype.validateSchema=c9;kt.prototype.getSchema=l9;kt.prototype.removeSchema=p9;kt.prototype.addFormat=b9;kt.prototype.errorsText=_9;kt.prototype._addSchema=f9;kt.prototype._compile=m9;kt.prototype.compileAsync=MS();var Pu=HS();kt.prototype.addKeyword=Pu.add;kt.prototype.getKeyword=Pu.get;kt.prototype.removeKeyword=Pu.remove;kt.prototype.validateKeyword=Pu.validate;var XS=xu();kt.ValidationError=XS.Validation;kt.MissingRefError=XS.MissingRef;kt.$dataMetaSchema=WS;var Ru="http://json-schema.org/draft-07/schema",VS=["removeAdditional","useDefaults","coerceTypes","strictDefaults"],a9=["/properties"];function kt(t){if(!(this instanceof kt))return new kt(t);t=this._opts=KS.copy(t)||{},k9(this),this._schemas={},this._refs={},this._fragments={},this._formats=t9(t.format),this._cache=t.cache||new Q8,this._loadingSchemas={},this._compilations=[],this.RULES=r9(),this._getId=h9(t),t.loopRequired=t.loopRequired||1/0,t.errorDataPath=="property"&&(t._errorDataPathProperty=!0),t.serialize===void 0&&(t.serialize=e9),this._metaOpts=T9(this),t.formats&&S9(this),t.keywords&&E9(this),x9(this),typeof t.meta=="object"&&this.addMetaSchema(t.meta),t.nullable&&this.addKeyword("nullable",{metaSchema:{type:"boolean"}}),w9(this)}function n9(t,e){var r;if(typeof t=="string"){if(r=this.getSchema(t),!r)throw new Error('no schema with key or ref "'+t+'"')}else{var n=this._addSchema(t);r=n.validate||this._compile(n)}var a=r(e);return r.$async!==!0&&(this.errors=r.errors),a}function s9(t,e){var r=this._addSchema(t,void 0,e);return r.validate||this._compile(r)}function i9(t,e,r,n){if(Array.isArray(t)){for(var a=0;a{sE.exports=nE;nE.sync=R9;var rE=require("fs");function $9(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var n=0;n{lE.exports=cE;cE.sync=P9;var oE=require("fs");function cE(t,e,r){oE.stat(t,function(n,a){r(n,n?!1:uE(a,e))})}function P9(t,e){return uE(oE.statSync(t),e)}function uE(t,e){return t.isFile()&&O9(t,e)}function O9(t,e){var r=t.mode,n=t.uid,a=t.gid,s=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),i=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),o=parseInt("100",8),c=parseInt("010",8),u=parseInt("001",8),l=o|c,d=r&u||r&c&&a===i||r&o&&n===s||r&l&&s===0;return d}});var fE=V((lK,pE)=>{var uK=require("fs"),Ou;process.platform==="win32"||global.TESTING_WINDOWS?Ou=iE():Ou=dE();pE.exports=Gf;Gf.sync=C9;function Gf(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(n,a){Gf(t,e||{},function(s,i){s?a(s):n(i)})})}Ou(t,e||{},function(n,a){n&&(n.code==="EACCES"||e&&e.ignoreErrors)&&(n=null,a=!1),r(n,a)})}function C9(t,e){try{return Ou.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var bE=V((dK,_E)=>{var Ns=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",mE=require("path"),I9=Ns?";":":",hE=fE(),vE=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),gE=(t,e)=>{let r=e.colon||I9,n=t.match(/\//)||Ns&&t.match(/\\/)?[""]:[...Ns?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=Ns?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",s=Ns?a.split(r):[""];return Ns&&t.indexOf(".")!==-1&&s[0]!==""&&s.unshift(""),{pathEnv:n,pathExt:s,pathExtExe:a}},yE=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:n,pathExt:a,pathExtExe:s}=gE(t,e),i=[],o=u=>new Promise((l,d)=>{if(u===n.length)return e.all&&i.length?l(i):d(vE(t));let p=n[u],m=/^".*"$/.test(p)?p.slice(1,-1):p,g=mE.join(m,t),b=!m&&/^\.[\\\/]/.test(t)?t.slice(0,2)+g:g;l(c(b,u,0))}),c=(u,l,d)=>new Promise((p,m)=>{if(d===a.length)return p(o(l+1));let g=a[d];hE(u+g,{pathExt:s},(b,f)=>{if(!b&&f)if(e.all)i.push(u+g);else return p(u+g);return p(c(u,l,d+1))})});return r?o(0).then(u=>r(null,u),r):o(0)},A9=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:n,pathExtExe:a}=gE(t,e),s=[];for(let i=0;i{"use strict";var xE=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(n=>n.toUpperCase()==="PATH")||"Path"};Zf.exports=xE;Zf.exports.default=xE});var kE=V((fK,TE)=>{"use strict";var SE=require("path"),N9=bE(),j9=wE();function EE(t,e){let r=t.options.env||process.env,n=process.cwd(),a=t.options.cwd!=null,s=a&&process.chdir!==void 0&&!process.chdir.disabled;if(s)try{process.chdir(t.options.cwd)}catch{}let i;try{i=N9.sync(t.command,{path:r[j9({env:r})],pathExt:e?SE.delimiter:void 0})}catch{}finally{s&&process.chdir(n)}return i&&(i=SE.resolve(a?t.options.cwd:"",i)),i}function M9(t){return EE(t)||EE(t,!0)}TE.exports=M9});var $E=V((mK,Kf)=>{"use strict";var Wf=/([()\][%!^"`<>&|;, *?])/g;function D9(t){return t=t.replace(Wf,"^$1"),t}function q9(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(Wf,"^$1"),e&&(t=t.replace(Wf,"^$1")),t}Kf.exports.command=D9;Kf.exports.argument=q9});var PE=V((hK,RE)=>{"use strict";RE.exports=/^#!(.*)/});var CE=V((vK,OE)=>{"use strict";var L9=PE();OE.exports=(t="")=>{let e=t.match(L9);if(!e)return null;let[r,n]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?n:n?`${a} ${n}`:a}});var AE=V((gK,IE)=>{"use strict";var Xf=require("fs"),F9=CE();function U9(t){let r=Buffer.alloc(150),n;try{n=Xf.openSync(t,"r"),Xf.readSync(n,r,0,150,0),Xf.closeSync(n)}catch{}return F9(r.toString())}IE.exports=U9});var DE=V((yK,ME)=>{"use strict";var z9=require("path"),NE=kE(),jE=$E(),H9=AE(),B9=process.platform==="win32",V9=/\.(?:com|exe)$/i,G9=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function Z9(t){t.file=NE(t);let e=t.file&&H9(t.file);return e?(t.args.unshift(t.file),t.command=e,NE(t)):t.file}function W9(t){if(!B9)return t;let e=Z9(t),r=!V9.test(e);if(t.options.forceShell||r){let n=G9.test(e);t.command=z9.normalize(t.command),t.command=jE.command(t.command),t.args=t.args.map(s=>jE.argument(s,n));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function K9(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let n={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?n:W9(n)}ME.exports=K9});var FE=V((_K,LE)=>{"use strict";var Jf=process.platform==="win32";function Yf(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function X9(t,e){if(!Jf)return;let r=t.emit;t.emit=function(n,a){if(n==="exit"){let s=qE(a,e);if(s)return r.call(t,"error",s)}return r.apply(t,arguments)}}function qE(t,e){return Jf&&t===1&&!e.file?Yf(e.original,"spawn"):null}function J9(t,e){return Jf&&t===1&&!e.file?Yf(e.original,"spawnSync"):null}LE.exports={hookChildProcess:X9,verifyENOENT:qE,verifyENOENTSync:J9,notFoundError:Yf}});var HE=V((bK,js)=>{"use strict";var UE=require("child_process"),Qf=DE(),em=FE();function zE(t,e,r){let n=Qf(t,e,r),a=UE.spawn(n.command,n.args,n.options);return em.hookChildProcess(a,n),a}function Y9(t,e,r){let n=Qf(t,e,r),a=UE.spawnSync(n.command,n.args,n.options);return a.error=a.error||em.verifyENOENTSync(a.status,n),a}js.exports=zE;js.exports.spawn=zE;js.exports.sync=Y9;js.exports._parse=Qf;js.exports._enoent=em});var ZE,WE,KE=Vr(()=>{"use strict";ZE="bugfix,feature,refactor,discovery,decision,change",WE="how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off"});var YE={};Ja(YE,{SettingsDefaultsManager:()=>nt});var Ds,XE,JE,nt,Dr=Vr(()=>{"use strict";Ds=require("fs"),XE=require("path"),JE=require("os");KE();mt();nt=class{static DEFAULTS={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_SKIP_TOOLS:"ListMcpResourcesTool,SlashCommand,Skill,TodoWrite,AskUserQuestion",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_DATA_DIR:(0,XE.join)((0,JE.homedir)(),".claude-mem"),CLAUDE_MEM_LOG_LEVEL:"INFO",CLAUDE_MEM_PYTHON_VERSION:"3.13",CLAUDE_CODE_PATH:"",CLAUDE_MEM_MODE:"code",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:ZE,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:WE,CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};static getAllDefaults(){return{...this.DEFAULTS}}static get(e){return this.DEFAULTS[e]}static getInt(e){let r=this.get(e);return parseInt(r,10)}static getBool(e){return this.get(e)==="true"}static loadFromFile(e){try{if(!(0,Ds.existsSync)(e))return this.getAllDefaults();let r=(0,Ds.readFileSync)(e,"utf-8"),n=JSON.parse(r),a=n;if(n.env&&typeof n.env=="object"){a=n.env;try{(0,Ds.writeFileSync)(e,JSON.stringify(a,null,2),"utf-8"),q.info("SETTINGS","Migrated settings file from nested to flat schema",{settingsPath:e})}catch(i){q.warn("SETTINGS","Failed to auto-migrate settings file",{settingsPath:e},i)}}let s={...this.DEFAULTS};for(let i of Object.keys(this.DEFAULTS))a[i]!==void 0&&(s[i]=a[i]);return s}catch(r){return q.warn("SETTINGS","Failed to load settings, using defaults",{settingsPath:e},r),this.getAllDefaults()}}}});var tm,rm,q,mt=Vr(()=>{"use strict";Dr();tm=(s=>(s[s.DEBUG=0]="DEBUG",s[s.INFO=1]="INFO",s[s.WARN=2]="WARN",s[s.ERROR=3]="ERROR",s[s.SILENT=4]="SILENT",s))(tm||{}),rm=class{level=null;useColor;constructor(){this.useColor=process.stdout.isTTY??!1}getLevel(){if(this.level===null){let e=nt.get("CLAUDE_MEM_LOG_LEVEL").toUpperCase();this.level=tm[e]??1}return this.level}correlationId(e,r){return`obs-${e}-${r}`}sessionId(e){return`session-${e}`}formatData(e){if(e==null)return"";if(typeof e=="string")return e;if(typeof e=="number"||typeof e=="boolean")return e.toString();if(typeof e=="object"){if(e instanceof Error)return this.getLevel()===0?`${e.message} ${e.stack}`:e.message;if(Array.isArray(e))return`[${e.length} items]`;let r=Object.keys(e);return r.length===0?"{}":r.length<=3?JSON.stringify(e):`{${r.length} keys: ${r.slice(0,3).join(", ")}...}`}return String(e)}formatTool(e,r){if(!r)return e;let n=typeof r=="string"?JSON.parse(r):r;if(e==="Bash"&&n.command)return`${e}(${n.command})`;if(n.file_path)return`${e}(${n.file_path})`;if(n.notebook_path)return`${e}(${n.notebook_path})`;if(e==="Glob"&&n.pattern)return`${e}(${n.pattern})`;if(e==="Grep"&&n.pattern)return`${e}(${n.pattern})`;if(n.url)return`${e}(${n.url})`;if(n.query)return`${e}(${n.query})`;if(e==="Task"){if(n.subagent_type)return`${e}(${n.subagent_type})`;if(n.description)return`${e}(${n.description})`}return e==="Skill"&&n.skill?`${e}(${n.skill})`:e==="LSP"&&n.operation?`${e}(${n.operation})`:e}formatTimestamp(e){let r=e.getFullYear(),n=String(e.getMonth()+1).padStart(2,"0"),a=String(e.getDate()).padStart(2,"0"),s=String(e.getHours()).padStart(2,"0"),i=String(e.getMinutes()).padStart(2,"0"),o=String(e.getSeconds()).padStart(2,"0"),c=String(e.getMilliseconds()).padStart(3,"0");return`${r}-${n}-${a} ${s}:${i}:${o}.${c}`}log(e,r,n,a,s){if(e0&&(d=` {${Object.entries(f).map(([y,v])=>`${y}=${v}`).join(", ")}}`)}let p=`[${i}] [${o}] [${c}] ${u}${n}${d}${l}`;e===3?console.error(p):console.log(p)}debug(e,r,n,a){this.log(0,e,r,n,a)}info(e,r,n,a){this.log(1,e,r,n,a)}warn(e,r,n,a){this.log(2,e,r,n,a)}error(e,r,n,a){this.log(3,e,r,n,a)}dataIn(e,r,n,a){this.info(e,`\u2192 ${r}`,n,a)}dataOut(e,r,n,a){this.info(e,`\u2190 ${r}`,n,a)}success(e,r,n,a){this.info(e,`\u2713 ${r}`,n,a)}failure(e,r,n,a){this.error(e,`\u2717 ${r}`,n,a)}timing(e,r,n,a){this.info(e,`\u23F1 ${r}`,a,{duration:`${n}ms`})}happyPathError(e,r,n,a,s=""){let u=((new Error().stack||"").split(` `)[2]||"").match(/at\s+(?:.*\s+)?\(?([^:]+):(\d+):(\d+)\)?/),l=u?`${u[1].split("/").pop()}:${u[2]}`:"unknown",d={...n,location:l};return this.warn(e,`[HAPPY-PATH] ${r}`,d,a),s}},q=new rm});var d1={};Ja(d1,{ARCHIVES_DIR:()=>nm,BACKUPS_DIR:()=>u1,CLAUDE_COMMANDS_DIR:()=>l1,CLAUDE_CONFIG_DIR:()=>uo,CLAUDE_MD_PATH:()=>oq,CLAUDE_SETTINGS_PATH:()=>iq,DATA_DIR:()=>Wt,DB_PATH:()=>lo,LOGS_DIR:()=>o1,MODES_DIR:()=>sm,TRASH_DIR:()=>c1,USER_SETTINGS_PATH:()=>An,VECTOR_DB_DIR:()=>sq,createBackupFilename:()=>hq,ensureAllClaudeDirs:()=>pq,ensureAllDataDirs:()=>lq,ensureDir:()=>ar,ensureModesDir:()=>dq,getCurrentProjectName:()=>fq,getPackageCommandsDir:()=>mq,getPackageRoot:()=>nr,getProjectArchiveDir:()=>cq,getWorkerSocketPath:()=>uq});function aq(){return typeof __dirname<"u"?__dirname:(0,$t.dirname)((0,i1.fileURLToPath)(vq.url))}function cq(t){return(0,$t.join)(nm,t)}function uq(t){return(0,$t.join)(Wt,`worker-${t}.sock`)}function ar(t){(0,n1.mkdirSync)(t,{recursive:!0})}function lq(){ar(Wt),ar(nm),ar(o1),ar(c1),ar(u1),ar(sm)}function dq(){ar(sm)}function pq(){ar(uo),ar(l1)}function fq(){try{let t=(0,s1.execSync)("git rev-parse --show-toplevel",{cwd:process.cwd(),encoding:"utf8",stdio:["pipe","pipe","ignore"],windowsHide:!0}).trim();return(0,$t.basename)(t)}catch{return(0,$t.basename)(process.cwd())}}function nr(){return(0,$t.join)(nq,"..")}function mq(){let t=nr();return(0,$t.join)(t,"commands")}function hq(t){let e=new Date().toISOString().replace(/[:.]/g,"-").replace("T","_").slice(0,19);return`${t}.backup.${e}`}var $t,a1,n1,s1,i1,vq,nq,Wt,uo,nm,o1,c1,u1,sm,An,lo,sq,iq,l1,oq,kr=Vr(()=>{"use strict";$t=require("path"),a1=require("os"),n1=require("fs"),s1=require("child_process"),i1=require("url");Dr();vq={};nq=aq(),Wt=nt.get("CLAUDE_MEM_DATA_DIR"),uo=process.env.CLAUDE_CONFIG_DIR||(0,$t.join)((0,a1.homedir)(),".claude"),nm=(0,$t.join)(Wt,"archives"),o1=(0,$t.join)(Wt,"logs"),c1=(0,$t.join)(Wt,"trash"),u1=(0,$t.join)(Wt,"backups"),sm=(0,$t.join)(Wt,"modes"),An=(0,$t.join)(Wt,"settings.json"),lo=(0,$t.join)(Wt,"claude-mem.db"),sq=(0,$t.join)(Wt,"vector-db"),iq=(0,$t.join)(uo,"settings.json"),l1=(0,$t.join)(uo,"commands"),oq=(0,$t.join)(uo,"CLAUDE.md")});var p1,La,Au=Vr(()=>{"use strict";p1=require("bun:sqlite");kr();La=class{db;constructor(e=lo){e!==":memory:"&&ar(Wt),this.db=new p1.Database(e),this.db.run("PRAGMA journal_mode = WAL"),this.db.run("PRAGMA synchronous = NORMAL"),this.db.run("PRAGMA foreign_keys = ON"),this.initializeSchema(),this.ensureWorkerPortColumn(),this.ensurePromptTrackingColumns(),this.removeSessionSummariesUniqueConstraint(),this.addObservationHierarchicalFields(),this.makeObservationsTextNullable(),this.createUserPromptsTable(),this.ensureDiscoveryTokensColumn(),this.createPendingMessagesTable()}initializeSchema(){try{this.db.run(` @@ -974,7 +974,7 @@ ${n.prompts.header_memory_continued}`}Dr();kr();ha();var dm=require("path"),uT=r `):typeof l=="string"?l:"",p=d.length,m=e.cumulativeInputTokens+e.cumulativeOutputTokens,g=u.message.usage;g&&(e.cumulativeInputTokens+=g.input_tokens||0,e.cumulativeOutputTokens+=g.output_tokens||0,g.cache_creation_input_tokens&&(e.cumulativeInputTokens+=g.cache_creation_input_tokens),q.debug("SDK","Token usage captured",{sessionId:e.sessionDbId,inputTokens:g.input_tokens,outputTokens:g.output_tokens,cacheCreation:g.cache_creation_input_tokens||0,cacheRead:g.cache_read_input_tokens||0,cumulativeInput:e.cumulativeInputTokens,cumulativeOutput:e.cumulativeOutputTokens}));let b=e.cumulativeInputTokens+e.cumulativeOutputTokens-m,f=e.earliestPendingTimestamp;if(p>0){let h=p>100?d.substring(0,100)+"...":d;q.dataOut("SDK",`Response received (${p} chars)`,{sessionId:e.sessionDbId,promptNumber:e.lastPromptNumber},h),await this.processSDKResponse(e,d,r,b,f)}else await this.markMessagesProcessed(e,r)}u.type==="result"&&u.subtype}let c=Date.now()-e.startTime;q.success("SDK","Agent completed",{sessionId:e.sessionDbId,duration:`${(c/1e3).toFixed(1)}s`})}catch(n){throw n.name==="AbortError"?q.warn("SDK","Agent aborted",{sessionId:e.sessionDbId}):q.failure("SDK","Agent error",{sessionDbId:e.sessionDbId},n),n}finally{this.sessionManager.deleteSession(e.sessionDbId).catch(()=>{})}}async*createMessageGenerator(e){let r=ht.getInstance().getActiveMode(),n=e.lastPromptNumber===1?Bu(e.project,e.claudeSessionId,e.userPrompt,r):Zu(e.userPrompt,e.lastPromptNumber,e.claudeSessionId,r);e.conversationHistory.push({role:"user",content:n}),yield{type:"user",message:{role:"user",content:n},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0};for await(let a of this.sessionManager.getMessageIterator(e.sessionDbId))if(a.type==="observation"){a.prompt_number!==void 0&&(e.lastPromptNumber=a.prompt_number);let s=Vu({id:0,tool_name:a.tool_name,tool_input:JSON.stringify(a.tool_input),tool_output:JSON.stringify(a.tool_response),created_at_epoch:Date.now(),cwd:a.cwd});e.conversationHistory.push({role:"user",content:s}),yield{type:"user",message:{role:"user",content:s},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0}}else if(a.type==="summarize"){let s=Gu({id:e.sessionDbId,sdk_session_id:e.sdkSessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:a.last_user_message||"",last_assistant_message:a.last_assistant_message||""},r);e.conversationHistory.push({role:"user",content:s}),yield{type:"user",message:{role:"user",content:s},session_id:e.claudeSessionId,parent_tool_use_id:null,isSynthetic:!0}}}async processSDKResponse(e,r,n,a,s){r&&e.conversationHistory.push({role:"assistant",content:r});let i=zu(r,e.claudeSessionId);for(let c of i){let{id:u,createdAtEpoch:l}=this.dbManager.getSessionStore().storeObservation(e.claudeSessionId,e.project,c,e.lastPromptNumber,a,s??void 0);q.info("SDK","Observation saved",{sessionId:e.sessionDbId,obsId:u,type:c.type,title:c.title||"(untitled)",filesRead:c.files_read?.length??0,filesModified:c.files_modified?.length??0,concepts:c.concepts?.length??0});let d=Date.now(),p=c.type,m=c.title||"(untitled)";this.dbManager.getChromaSync().syncObservation(u,e.claudeSessionId,e.project,c,e.lastPromptNumber,l,a).then(()=>{let g=Date.now()-d;q.debug("CHROMA","Observation synced",{obsId:u,duration:`${g}ms`,type:p,title:m})}).catch(g=>{q.warn("CHROMA","Observation sync failed, continuing without vector search",{obsId:u,type:p,title:m},g)}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_observation",observation:{id:u,sdk_session_id:e.sdkSessionId,session_id:e.claudeSessionId,type:c.type,title:c.title,subtitle:c.subtitle,text:c.text||null,narrative:c.narrative||null,facts:JSON.stringify(c.facts||[]),concepts:JSON.stringify(c.concepts||[]),files_read:JSON.stringify(c.files||[]),files_modified:JSON.stringify([]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:l}})}let o=Hu(r,e.sessionDbId);if(o){let{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeSummary(e.claudeSessionId,e.project,o,e.lastPromptNumber,a,s??void 0);q.info("SDK","Summary saved",{sessionId:e.sessionDbId,summaryId:c,request:o.request||"(no request)",hasCompleted:!!o.completed,hasNextSteps:!!o.next_steps});let l=Date.now(),d=o.request||"(no request)";this.dbManager.getChromaSync().syncSummary(c,e.claudeSessionId,e.project,o,e.lastPromptNumber,u,a).then(()=>{let p=Date.now()-l;q.debug("CHROMA","Summary synced",{summaryId:c,duration:`${p}ms`,request:d})}).catch(p=>{q.warn("CHROMA","Summary sync failed, continuing without vector search",{summaryId:c,request:d},p)}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_summary",summary:{id:c,session_id:e.claudeSessionId,request:o.request,investigated:o.investigated,learned:o.learned,completed:o.completed,next_steps:o.next_steps,notes:o.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}})}await this.markMessagesProcessed(e,n)}async markMessagesProcessed(e,r){let n=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)n.markProcessed(s);q.debug("SDK","Messages marked as processed",{sessionId:e.sessionDbId,messageIds:Array.from(e.pendingProcessingIds),count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear(),e.earliestPendingTimestamp=null;let a=n.cleanupProcessed(100);a>0&&q.debug("SDK","Cleaned up old processed messages",{deletedCount:a})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}findClaudeExecutable(){let e=nt.loadFromFile(An);if(e.CLAUDE_CODE_PATH){let{existsSync:r}=require("fs");if(!r(e.CLAUDE_CODE_PATH))throw new Error(`CLAUDE_CODE_PATH is set to "${e.CLAUDE_CODE_PATH}" but the file does not exist.`);return e.CLAUDE_CODE_PATH}try{let r=(0,Gk.execSync)(process.platform==="win32"?"where claude":"which claude",{encoding:"utf8",windowsHide:!0,stdio:["ignore","pipe","ignore"]}).trim().split(` `)[0].trim();if(r)return r}catch(r){q.debug("SDK","Claude executable auto-detection failed",r)}throw new Error(`Claude executable not found. Please either: 1. Add "claude" to your system PATH, or -2. Set CLAUDE_CODE_PATH in ~/.claude-mem/settings.json`)}getModelId(){let e=Wk.default.join((0,Zk.homedir)(),".claude-mem","settings.json");return nt.loadFromFile(e).CLAUDE_MEM_MODEL}};var Ol=St(require("path"),1),Cl=require("os");mt();Dr();ha();var O7="https://generativelanguage.googleapis.com/v1beta/models",C7={"gemini-2.5-flash-lite":10,"gemini-2.5-flash":10,"gemini-2.5-pro":5,"gemini-2.0-flash":15,"gemini-2.0-flash-lite":30},Kk=0;async function I7(t,e){if(e)return;let r=C7[t]||5,n=Math.ceil(6e4/r)+100,s=Date.now()-Kk;if(ssetTimeout(o,i))}Kk=Date.now()}var Pl=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}shouldFallbackToClaude(e){let r=e?.message||"";return r.includes("429")||r.includes("500")||r.includes("502")||r.includes("503")||r.includes("ECONNREFUSED")||r.includes("ETIMEDOUT")||r.includes("fetch failed")}async startSession(e,r){try{let{apiKey:n,model:a,billingEnabled:s}=this.getGeminiConfig();if(!n)throw new Error("Gemini API key not configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.");let i=ht.getInstance().getActiveMode(),o=e.lastPromptNumber===1?Bu(e.project,e.claudeSessionId,e.userPrompt,i):Zu(e.userPrompt,e.lastPromptNumber,e.claudeSessionId,i);e.conversationHistory.push({role:"user",content:o});let c=await this.queryGeminiMultiTurn(e.conversationHistory,n,a,s);if(c.content){e.conversationHistory.push({role:"assistant",content:c.content});let l=c.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(l*.7),e.cumulativeOutputTokens+=Math.floor(l*.3),await this.processGeminiResponse(e,c.content,r,l)}for await(let l of this.sessionManager.getMessageIterator(e.sessionDbId))if(l.type==="observation"){l.prompt_number!==void 0&&(e.lastPromptNumber=l.prompt_number);let d=Vu({id:0,tool_name:l.tool_name,tool_input:JSON.stringify(l.tool_input),tool_output:JSON.stringify(l.tool_response),created_at_epoch:Date.now(),cwd:l.cwd});e.conversationHistory.push({role:"user",content:d});let p=await this.queryGeminiMultiTurn(e.conversationHistory,n,a,s);if(p.content){e.conversationHistory.push({role:"assistant",content:p.content});let m=p.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(m*.7),e.cumulativeOutputTokens+=Math.floor(m*.3),await this.processGeminiResponse(e,p.content,r,m)}else q.warn("SDK","Empty Gemini response for observation, marking as processed",{sessionId:e.sessionDbId,toolName:l.tool_name}),await this.markMessagesProcessed(e,r)}else if(l.type==="summarize"){let d=Gu({id:e.sessionDbId,sdk_session_id:e.sdkSessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:l.last_user_message||"",last_assistant_message:l.last_assistant_message||""},i);e.conversationHistory.push({role:"user",content:d});let p=await this.queryGeminiMultiTurn(e.conversationHistory,n,a,s);if(p.content){e.conversationHistory.push({role:"assistant",content:p.content});let m=p.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(m*.7),e.cumulativeOutputTokens+=Math.floor(m*.3),await this.processGeminiResponse(e,p.content,r,m)}else q.warn("SDK","Empty Gemini response for summary, marking as processed",{sessionId:e.sessionDbId}),await this.markMessagesProcessed(e,r)}let u=Date.now()-e.startTime;q.success("SDK","Gemini agent completed",{sessionId:e.sessionDbId,duration:`${(u/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length})}catch(n){if(n.name==="AbortError")throw q.warn("SDK","Gemini agent aborted",{sessionId:e.sessionDbId}),n;if(this.shouldFallbackToClaude(n)&&this.fallbackAgent){q.warn("SDK","Gemini API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:n.message,historyLength:e.conversationHistory.length});let s=this.sessionManager.getPendingMessageStore().resetStuckMessages(0);return s>0&&q.info("SDK","Reset processing messages for fallback",{sessionDbId:e.sessionDbId,resetCount:s}),this.fallbackAgent.startSession(e,r)}throw q.failure("SDK","Gemini agent error",{sessionDbId:e.sessionDbId},n),n}}conversationToGeminiContents(e){return e.map(r=>({role:r.role==="assistant"?"model":"user",parts:[{text:r.content}]}))}async queryGeminiMultiTurn(e,r,n,a){let s=this.conversationToGeminiContents(e),i=e.reduce((p,m)=>p+m.content.length,0);q.debug("SDK",`Querying Gemini multi-turn (${n})`,{turns:e.length,totalChars:i});let o=`${O7}/${n}:generateContent?key=${r}`;await I7(n,a);let c=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:s,generationConfig:{temperature:.3,maxOutputTokens:4096}})});if(!c.ok){let p=await c.text();throw new Error(`Gemini API error: ${c.status} - ${p}`)}let u=await c.json();if(!u.candidates?.[0]?.content?.parts?.[0]?.text)return q.warn("SDK","Empty response from Gemini"),{content:""};let l=u.candidates[0].content.parts[0].text,d=u.usageMetadata?.totalTokenCount;return{content:l,tokensUsed:d}}async processGeminiResponse(e,r,n,a){let s=zu(r,e.claudeSessionId);for(let o of s){let{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeObservation(e.claudeSessionId,e.project,o,e.lastPromptNumber,a);q.info("SDK","Gemini observation saved",{sessionId:e.sessionDbId,obsId:c,type:o.type,title:o.title||"(untitled)"}),this.dbManager.getChromaSync().syncObservation(c,e.claudeSessionId,e.project,o,e.lastPromptNumber,u,a).catch(l=>{q.warn("SDK","Gemini chroma sync failed",{obsId:c},l)}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_observation",observation:{id:c,sdk_session_id:e.sdkSessionId,session_id:e.claudeSessionId,type:o.type,title:o.title,subtitle:o.subtitle,text:null,narrative:o.narrative||null,facts:JSON.stringify(o.facts||[]),concepts:JSON.stringify(o.concepts||[]),files_read:JSON.stringify(o.files_read||[]),files_modified:JSON.stringify(o.files_modified||[]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}})}let i=Hu(r,e.sessionDbId);if(i){let o={request:i.request||"",investigated:i.investigated||"",learned:i.learned||"",completed:i.completed||"",next_steps:i.next_steps||"",notes:i.notes},{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeSummary(e.claudeSessionId,e.project,o,e.lastPromptNumber,a);q.info("SDK","Gemini summary saved",{sessionId:e.sessionDbId,summaryId:c,request:i.request||"(no request)"}),this.dbManager.getChromaSync().syncSummary(c,e.claudeSessionId,e.project,o,e.lastPromptNumber,u,a).catch(l=>{q.warn("SDK","Gemini chroma sync failed",{summaryId:c},l)}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_summary",summary:{id:c,session_id:e.claudeSessionId,request:i.request,investigated:i.investigated,learned:i.learned,completed:i.completed,next_steps:i.next_steps,notes:i.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}})}await this.markMessagesProcessed(e,n)}async markMessagesProcessed(e,r){let n=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)n.markProcessed(s);q.debug("SDK","Gemini messages marked as processed",{sessionId:e.sessionDbId,count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear();let a=n.cleanupProcessed(100);a>0&&q.debug("SDK","Gemini cleaned up old processed messages",{deletedCount:a})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}getGeminiConfig(){let e=Ol.default.join((0,Cl.homedir)(),".claude-mem","settings.json"),r=nt.loadFromFile(e),n=r.CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY||"",a="gemini-2.5-flash",s=r.CLAUDE_MEM_GEMINI_MODEL||a,i=["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-2.0-flash","gemini-2.0-flash-lite"],o;i.includes(s)?o=s:(q.warn("SDK",`Invalid Gemini model "${s}", falling back to ${a}`,{configured:s,validModels:i}),o=a);let c=r.CLAUDE_MEM_GEMINI_BILLING_ENABLED==="true";return{apiKey:n,model:o,billingEnabled:c}}};function Ym(){let t=Ol.default.join((0,Cl.homedir)(),".claude-mem","settings.json");return!!(nt.loadFromFile(t).CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY)}function Qm(){let t=Ol.default.join((0,Cl.homedir)(),".claude-mem","settings.json");return nt.loadFromFile(t).CLAUDE_MEM_PROVIDER==="gemini"}var Il=class{dbManager;constructor(e){this.dbManager=e}stripProjectPath(e,r){let n=`/${r}/`,a=e.indexOf(n);return a!==-1?e.substring(a+n.length):e}stripProjectPaths(e,r){if(!e)return e;try{let a=JSON.parse(e).map(s=>this.stripProjectPath(s,r));return JSON.stringify(a)}catch{return e}}sanitizeObservation(e){return{...e,files_read:this.stripProjectPaths(e.files_read,e.project),files_modified:this.stripProjectPaths(e.files_modified,e.project)}}getObservations(e,r,n){let a=this.paginate("observations","id, sdk_session_id, project, type, title, subtitle, narrative, text, facts, concepts, files_read, files_modified, prompt_number, created_at, created_at_epoch",e,r,n);return{...a,items:a.items.map(s=>this.sanitizeObservation(s))}}getSummaries(e,r,n){let a=this.dbManager.getSessionStore().db,s=` +2. Set CLAUDE_CODE_PATH in ~/.claude-mem/settings.json`)}getModelId(){let e=Wk.default.join((0,Zk.homedir)(),".claude-mem","settings.json");return nt.loadFromFile(e).CLAUDE_MEM_MODEL}};var Ol=St(require("path"),1),Cl=require("os");mt();Dr();ha();var O7="https://generativelanguage.googleapis.com/v1beta/models",C7={"gemini-2.5-flash-lite":10,"gemini-2.5-flash":10,"gemini-2.5-pro":5,"gemini-2.0-flash":15,"gemini-2.0-flash-lite":30},Kk=0;async function I7(t,e){if(!e)return;let r=C7[t]||5,n=Math.ceil(6e4/r)+100,s=Date.now()-Kk;if(ssetTimeout(o,i))}Kk=Date.now()}var Pl=class{dbManager;sessionManager;fallbackAgent=null;constructor(e,r){this.dbManager=e,this.sessionManager=r}setFallbackAgent(e){this.fallbackAgent=e}shouldFallbackToClaude(e){let r=e?.message||"";return r.includes("429")||r.includes("500")||r.includes("502")||r.includes("503")||r.includes("ECONNREFUSED")||r.includes("ETIMEDOUT")||r.includes("fetch failed")}async startSession(e,r){try{let{apiKey:n,model:a,rateLimitingEnabled:s}=this.getGeminiConfig();if(!n)throw new Error("Gemini API key not configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.");let i=ht.getInstance().getActiveMode(),o=e.lastPromptNumber===1?Bu(e.project,e.claudeSessionId,e.userPrompt,i):Zu(e.userPrompt,e.lastPromptNumber,e.claudeSessionId,i);e.conversationHistory.push({role:"user",content:o});let c=await this.queryGeminiMultiTurn(e.conversationHistory,n,a,s);if(c.content){e.conversationHistory.push({role:"assistant",content:c.content});let l=c.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(l*.7),e.cumulativeOutputTokens+=Math.floor(l*.3),await this.processGeminiResponse(e,c.content,r,l)}for await(let l of this.sessionManager.getMessageIterator(e.sessionDbId))if(l.type==="observation"){l.prompt_number!==void 0&&(e.lastPromptNumber=l.prompt_number);let d=Vu({id:0,tool_name:l.tool_name,tool_input:JSON.stringify(l.tool_input),tool_output:JSON.stringify(l.tool_response),created_at_epoch:Date.now(),cwd:l.cwd});e.conversationHistory.push({role:"user",content:d});let p=await this.queryGeminiMultiTurn(e.conversationHistory,n,a,s);if(p.content){e.conversationHistory.push({role:"assistant",content:p.content});let m=p.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(m*.7),e.cumulativeOutputTokens+=Math.floor(m*.3),await this.processGeminiResponse(e,p.content,r,m)}else q.warn("SDK","Empty Gemini response for observation, marking as processed",{sessionId:e.sessionDbId,toolName:l.tool_name}),await this.markMessagesProcessed(e,r)}else if(l.type==="summarize"){let d=Gu({id:e.sessionDbId,sdk_session_id:e.sdkSessionId,project:e.project,user_prompt:e.userPrompt,last_user_message:l.last_user_message||"",last_assistant_message:l.last_assistant_message||""},i);e.conversationHistory.push({role:"user",content:d});let p=await this.queryGeminiMultiTurn(e.conversationHistory,n,a,s);if(p.content){e.conversationHistory.push({role:"assistant",content:p.content});let m=p.tokensUsed||0;e.cumulativeInputTokens+=Math.floor(m*.7),e.cumulativeOutputTokens+=Math.floor(m*.3),await this.processGeminiResponse(e,p.content,r,m)}else q.warn("SDK","Empty Gemini response for summary, marking as processed",{sessionId:e.sessionDbId}),await this.markMessagesProcessed(e,r)}let u=Date.now()-e.startTime;q.success("SDK","Gemini agent completed",{sessionId:e.sessionDbId,duration:`${(u/1e3).toFixed(1)}s`,historyLength:e.conversationHistory.length})}catch(n){if(n.name==="AbortError")throw q.warn("SDK","Gemini agent aborted",{sessionId:e.sessionDbId}),n;if(this.shouldFallbackToClaude(n)&&this.fallbackAgent){q.warn("SDK","Gemini API failed, falling back to Claude SDK",{sessionDbId:e.sessionDbId,error:n.message,historyLength:e.conversationHistory.length});let s=this.sessionManager.getPendingMessageStore().resetStuckMessages(0);return s>0&&q.info("SDK","Reset processing messages for fallback",{sessionDbId:e.sessionDbId,resetCount:s}),this.fallbackAgent.startSession(e,r)}throw q.failure("SDK","Gemini agent error",{sessionDbId:e.sessionDbId},n),n}}conversationToGeminiContents(e){return e.map(r=>({role:r.role==="assistant"?"model":"user",parts:[{text:r.content}]}))}async queryGeminiMultiTurn(e,r,n,a){let s=this.conversationToGeminiContents(e),i=e.reduce((p,m)=>p+m.content.length,0);q.debug("SDK",`Querying Gemini multi-turn (${n})`,{turns:e.length,totalChars:i});let o=`${O7}/${n}:generateContent?key=${r}`;await I7(n,a);let c=await fetch(o,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({contents:s,generationConfig:{temperature:.3,maxOutputTokens:4096}})});if(!c.ok){let p=await c.text();throw new Error(`Gemini API error: ${c.status} - ${p}`)}let u=await c.json();if(!u.candidates?.[0]?.content?.parts?.[0]?.text)return q.warn("SDK","Empty response from Gemini"),{content:""};let l=u.candidates[0].content.parts[0].text,d=u.usageMetadata?.totalTokenCount;return{content:l,tokensUsed:d}}async processGeminiResponse(e,r,n,a){let s=zu(r,e.claudeSessionId);for(let o of s){let{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeObservation(e.claudeSessionId,e.project,o,e.lastPromptNumber,a);q.info("SDK","Gemini observation saved",{sessionId:e.sessionDbId,obsId:c,type:o.type,title:o.title||"(untitled)"}),this.dbManager.getChromaSync().syncObservation(c,e.claudeSessionId,e.project,o,e.lastPromptNumber,u,a).catch(l=>{q.warn("SDK","Gemini chroma sync failed",{obsId:c},l)}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_observation",observation:{id:c,sdk_session_id:e.sdkSessionId,session_id:e.claudeSessionId,type:o.type,title:o.title,subtitle:o.subtitle,text:null,narrative:o.narrative||null,facts:JSON.stringify(o.facts||[]),concepts:JSON.stringify(o.concepts||[]),files_read:JSON.stringify(o.files_read||[]),files_modified:JSON.stringify(o.files_modified||[]),project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}})}let i=Hu(r,e.sessionDbId);if(i){let o={request:i.request||"",investigated:i.investigated||"",learned:i.learned||"",completed:i.completed||"",next_steps:i.next_steps||"",notes:i.notes},{id:c,createdAtEpoch:u}=this.dbManager.getSessionStore().storeSummary(e.claudeSessionId,e.project,o,e.lastPromptNumber,a);q.info("SDK","Gemini summary saved",{sessionId:e.sessionDbId,summaryId:c,request:i.request||"(no request)"}),this.dbManager.getChromaSync().syncSummary(c,e.claudeSessionId,e.project,o,e.lastPromptNumber,u,a).catch(l=>{q.warn("SDK","Gemini chroma sync failed",{summaryId:c},l)}),n&&n.sseBroadcaster&&n.sseBroadcaster.broadcast({type:"new_summary",summary:{id:c,session_id:e.claudeSessionId,request:i.request,investigated:i.investigated,learned:i.learned,completed:i.completed,next_steps:i.next_steps,notes:i.notes,project:e.project,prompt_number:e.lastPromptNumber,created_at_epoch:u}})}await this.markMessagesProcessed(e,n)}async markMessagesProcessed(e,r){let n=this.sessionManager.getPendingMessageStore();if(e.pendingProcessingIds.size>0){for(let s of e.pendingProcessingIds)n.markProcessed(s);q.debug("SDK","Gemini messages marked as processed",{sessionId:e.sessionDbId,count:e.pendingProcessingIds.size}),e.pendingProcessingIds.clear();let a=n.cleanupProcessed(100);a>0&&q.debug("SDK","Gemini cleaned up old processed messages",{deletedCount:a})}r&&typeof r.broadcastProcessingStatus=="function"&&r.broadcastProcessingStatus()}getGeminiConfig(){let e=Ol.default.join((0,Cl.homedir)(),".claude-mem","settings.json"),r=nt.loadFromFile(e),n=r.CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY||"",a="gemini-2.5-flash",s=r.CLAUDE_MEM_GEMINI_MODEL||a,i=["gemini-2.5-flash-lite","gemini-2.5-flash","gemini-2.5-pro","gemini-2.0-flash","gemini-2.0-flash-lite"],o;i.includes(s)?o=s:(q.warn("SDK",`Invalid Gemini model "${s}", falling back to ${a}`,{configured:s,validModels:i}),o=a);let c=r.CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED!=="false";return{apiKey:n,model:o,rateLimitingEnabled:c}}};function Ym(){let t=Ol.default.join((0,Cl.homedir)(),".claude-mem","settings.json");return!!(nt.loadFromFile(t).CLAUDE_MEM_GEMINI_API_KEY||process.env.GEMINI_API_KEY)}function Qm(){let t=Ol.default.join((0,Cl.homedir)(),".claude-mem","settings.json");return nt.loadFromFile(t).CLAUDE_MEM_PROVIDER==="gemini"}var Il=class{dbManager;constructor(e){this.dbManager=e}stripProjectPath(e,r){let n=`/${r}/`,a=e.indexOf(n);return a!==-1?e.substring(a+n.length):e}stripProjectPaths(e,r){if(!e)return e;try{let a=JSON.parse(e).map(s=>this.stripProjectPath(s,r));return JSON.stringify(a)}catch{return e}}sanitizeObservation(e){return{...e,files_read:this.stripProjectPaths(e.files_read,e.project),files_modified:this.stripProjectPaths(e.files_modified,e.project)}}getObservations(e,r,n){let a=this.paginate("observations","id, sdk_session_id, project, type, title, subtitle, narrative, text, facts, concepts, files_read, files_modified, prompt_number, created_at, created_at_epoch",e,r,n);return{...a,items:a.items.map(s=>this.sanitizeObservation(s))}}getSummaries(e,r,n){let a=this.dbManager.getSessionStore().db,s=` SELECT ss.id, s.claude_session_id as session_id, diff --git a/plugin/ui/viewer-bundle.js b/plugin/ui/viewer-bundle.js index 40cfaa0c..c0628eee 100644 --- a/plugin/ui/viewer-bundle.js +++ b/plugin/ui/viewer-bundle.js @@ -1,15 +1,15 @@ -"use strict";(()=>{var Ud=Object.create;var Ku=Object.defineProperty;var Fd=Object.getOwnPropertyDescriptor;var zd=Object.getOwnPropertyNames;var jd=Object.getPrototypeOf,Hd=Object.prototype.hasOwnProperty;var se=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var qd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of zd(t))!Hd.call(e,o)&&o!==r&&Ku(e,o,{get:()=>t[o],enumerable:!(n=Fd(t,o))||n.enumerable});return e};var V=(e,t,r)=>(r=e!=null?Ud(jd(e)):{},qd(t||!e||!e.__esModule?Ku(r,"default",{value:e,enumerable:!0}):r,e));var us=se(O=>{"use strict";var Rr=Symbol.for("react.element"),Vd=Symbol.for("react.portal"),Rd=Symbol.for("react.fragment"),Bd=Symbol.for("react.strict_mode"),Wd=Symbol.for("react.profiler"),Gd=Symbol.for("react.provider"),Xd=Symbol.for("react.context"),bd=Symbol.for("react.forward_ref"),$d=Symbol.for("react.suspense"),Kd=Symbol.for("react.memo"),Qd=Symbol.for("react.lazy"),Qu=Symbol.iterator;function Yd(e){return e===null||typeof e!="object"?null:(e=Qu&&e[Qu]||e["@@iterator"],typeof e=="function"?e:null)}var Ju={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},es=Object.assign,ts={};function ir(e,t,r){this.props=e,this.context=t,this.refs=ts,this.updater=r||Ju}ir.prototype.isReactComponent={};ir.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ir.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function rs(){}rs.prototype=ir.prototype;function El(e,t,r){this.props=e,this.context=t,this.refs=ts,this.updater=r||Ju}var Sl=El.prototype=new rs;Sl.constructor=El;es(Sl,ir.prototype);Sl.isPureReactComponent=!0;var Yu=Array.isArray,ns=Object.prototype.hasOwnProperty,wl={current:null},os={key:!0,ref:!0,__self:!0,__source:!0};function ls(e,t,r){var n,o={},l=null,i=null;if(t!=null)for(n in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(l=""+t.key),t)ns.call(t,n)&&!os.hasOwnProperty(n)&&(o[n]=t[n]);var u=arguments.length-2;if(u===1)o.children=r;else if(1{"use strict";ss.exports=us()});var ys=se(F=>{"use strict";function Nl(e,t){var r=e.length;e.push(t);e:for(;0>>1,o=e[n];if(0>>1;nqn(u,r))sqn(a,u)?(e[n]=a,e[s]=r,n=s):(e[n]=u,e[i]=r,n=i);else if(sqn(a,r))e[n]=a,e[s]=r,n=s;else break e}}return t}function qn(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(as=performance,F.unstable_now=function(){return as.now()}):(Tl=Date,cs=Tl.now(),F.unstable_now=function(){return Tl.now()-cs});var as,Tl,cs,Ke=[],ht=[],rp=1,De=null,ae=3,Bn=!1,Bt=!1,Wr=!1,ps=typeof setTimeout=="function"?setTimeout:null,ms=typeof clearTimeout=="function"?clearTimeout:null,fs=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function xl(e){for(var t=He(ht);t!==null;){if(t.callback===null)Rn(ht);else if(t.startTime<=e)Rn(ht),t.sortIndex=t.expirationTime,Nl(Ke,t);else break;t=He(ht)}}function Ll(e){if(Wr=!1,xl(e),!Bt)if(He(Ke)!==null)Bt=!0,Ol(Ml);else{var t=He(ht);t!==null&&Al(Ll,t.startTime-e)}}function Ml(e,t){Bt=!1,Wr&&(Wr=!1,ms(Gr),Gr=-1),Bn=!0;var r=ae;try{for(xl(t),De=He(Ke);De!==null&&(!(De.expirationTime>t)||e&&!vs());){var n=De.callback;if(typeof n=="function"){De.callback=null,ae=De.priorityLevel;var o=n(De.expirationTime<=t);t=F.unstable_now(),typeof o=="function"?De.callback=o:De===He(Ke)&&Rn(Ke),xl(t)}else Rn(Ke);De=He(Ke)}if(De!==null)var l=!0;else{var i=He(ht);i!==null&&Al(Ll,i.startTime-t),l=!1}return l}finally{De=null,ae=r,Bn=!1}}var Wn=!1,Vn=null,Gr=-1,gs=5,hs=-1;function vs(){return!(F.unstable_now()-hse||125n?(e.sortIndex=r,Nl(ht,e),He(Ke)===null&&e===He(ht)&&(Wr?(ms(Gr),Gr=-1):Wr=!0,Al(Ll,r-n))):(e.sortIndex=o,Nl(Ke,e),Bt||Bn||(Bt=!0,Ol(Ml))),e};F.unstable_shouldYield=vs;F.unstable_wrapCallback=function(e){var t=ae;return function(){var r=ae;ae=t;try{return e.apply(this,arguments)}finally{ae=r}}}});var Ss=se((Xg,Es)=>{"use strict";Es.exports=ys()});var kf=se(Me=>{"use strict";var np=R(),xe=Ss();function E(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ei=Object.prototype.hasOwnProperty,op=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ws={},_s={};function lp(e){return ei.call(_s,e)?!0:ei.call(ws,e)?!1:op.test(e)?_s[e]=!0:(ws[e]=!0,!1)}function ip(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function up(e,t,r,n){if(t===null||typeof t>"u"||ip(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ve(e,t,r,n,o,l,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=i}var ie={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ie[e]=new ve(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ie[t]=new ve(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ie[e]=new ve(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ie[e]=new ve(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ie[e]=new ve(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ie[e]=new ve(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ie[e]=new ve(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ie[e]=new ve(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ie[e]=new ve(e,5,!1,e.toLowerCase(),null,!1,!1)});var Xi=/[\-:]([a-z])/g;function bi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Xi,bi);ie[t]=new ve(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Xi,bi);ie[t]=new ve(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Xi,bi);ie[t]=new ve(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ie[e]=new ve(e,1,!1,e.toLowerCase(),null,!1,!1)});ie.xlinkHref=new ve("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ie[e]=new ve(e,1,!1,e.toLowerCase(),null,!0,!0)});function $i(e,t,r,n){var o=ie.hasOwnProperty(t)?ie[t]:null;(o!==null?o.type!==0:n||!(2{var Ud=Object.create;var Ku=Object.defineProperty;var Fd=Object.getOwnPropertyDescriptor;var zd=Object.getOwnPropertyNames;var jd=Object.getPrototypeOf,Hd=Object.prototype.hasOwnProperty;var se=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports);var qd=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of zd(t))!Hd.call(e,o)&&o!==r&&Ku(e,o,{get:()=>t[o],enumerable:!(n=Fd(t,o))||n.enumerable});return e};var R=(e,t,r)=>(r=e!=null?Ud(jd(e)):{},qd(t||!e||!e.__esModule?Ku(r,"default",{value:e,enumerable:!0}):r,e));var us=se(O=>{"use strict";var Vr=Symbol.for("react.element"),Rd=Symbol.for("react.portal"),Vd=Symbol.for("react.fragment"),Bd=Symbol.for("react.strict_mode"),Wd=Symbol.for("react.profiler"),Gd=Symbol.for("react.provider"),Xd=Symbol.for("react.context"),bd=Symbol.for("react.forward_ref"),$d=Symbol.for("react.suspense"),Kd=Symbol.for("react.memo"),Qd=Symbol.for("react.lazy"),Qu=Symbol.iterator;function Yd(e){return e===null||typeof e!="object"?null:(e=Qu&&e[Qu]||e["@@iterator"],typeof e=="function"?e:null)}var Ju={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},es=Object.assign,ts={};function ir(e,t,r){this.props=e,this.context=t,this.refs=ts,this.updater=r||Ju}ir.prototype.isReactComponent={};ir.prototype.setState=function(e,t){if(typeof e!="object"&&typeof e!="function"&&e!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,e,t,"setState")};ir.prototype.forceUpdate=function(e){this.updater.enqueueForceUpdate(this,e,"forceUpdate")};function rs(){}rs.prototype=ir.prototype;function El(e,t,r){this.props=e,this.context=t,this.refs=ts,this.updater=r||Ju}var Sl=El.prototype=new rs;Sl.constructor=El;es(Sl,ir.prototype);Sl.isPureReactComponent=!0;var Yu=Array.isArray,ns=Object.prototype.hasOwnProperty,wl={current:null},os={key:!0,ref:!0,__self:!0,__source:!0};function ls(e,t,r){var n,o={},l=null,i=null;if(t!=null)for(n in t.ref!==void 0&&(i=t.ref),t.key!==void 0&&(l=""+t.key),t)ns.call(t,n)&&!os.hasOwnProperty(n)&&(o[n]=t[n]);var u=arguments.length-2;if(u===1)o.children=r;else if(1{"use strict";ss.exports=us()});var ys=se(F=>{"use strict";function Nl(e,t){var r=e.length;e.push(t);e:for(;0>>1,o=e[n];if(0>>1;nqn(u,r))sqn(a,u)?(e[n]=a,e[s]=r,n=s):(e[n]=u,e[i]=r,n=i);else if(sqn(a,r))e[n]=a,e[s]=r,n=s;else break e}}return t}function qn(e,t){var r=e.sortIndex-t.sortIndex;return r!==0?r:e.id-t.id}typeof performance=="object"&&typeof performance.now=="function"?(as=performance,F.unstable_now=function(){return as.now()}):(Tl=Date,cs=Tl.now(),F.unstable_now=function(){return Tl.now()-cs});var as,Tl,cs,Ke=[],ht=[],rp=1,De=null,ae=3,Bn=!1,Bt=!1,Wr=!1,ps=typeof setTimeout=="function"?setTimeout:null,ms=typeof clearTimeout=="function"?clearTimeout:null,fs=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function xl(e){for(var t=He(ht);t!==null;){if(t.callback===null)Vn(ht);else if(t.startTime<=e)Vn(ht),t.sortIndex=t.expirationTime,Nl(Ke,t);else break;t=He(ht)}}function Ll(e){if(Wr=!1,xl(e),!Bt)if(He(Ke)!==null)Bt=!0,Ol(Ml);else{var t=He(ht);t!==null&&Al(Ll,t.startTime-e)}}function Ml(e,t){Bt=!1,Wr&&(Wr=!1,ms(Gr),Gr=-1),Bn=!0;var r=ae;try{for(xl(t),De=He(Ke);De!==null&&(!(De.expirationTime>t)||e&&!vs());){var n=De.callback;if(typeof n=="function"){De.callback=null,ae=De.priorityLevel;var o=n(De.expirationTime<=t);t=F.unstable_now(),typeof o=="function"?De.callback=o:De===He(Ke)&&Vn(Ke),xl(t)}else Vn(Ke);De=He(Ke)}if(De!==null)var l=!0;else{var i=He(ht);i!==null&&Al(Ll,i.startTime-t),l=!1}return l}finally{De=null,ae=r,Bn=!1}}var Wn=!1,Rn=null,Gr=-1,gs=5,hs=-1;function vs(){return!(F.unstable_now()-hse||125n?(e.sortIndex=r,Nl(ht,e),He(Ke)===null&&e===He(ht)&&(Wr?(ms(Gr),Gr=-1):Wr=!0,Al(Ll,r-n))):(e.sortIndex=o,Nl(Ke,e),Bt||Bn||(Bt=!0,Ol(Ml))),e};F.unstable_shouldYield=vs;F.unstable_wrapCallback=function(e){var t=ae;return function(){var r=ae;ae=t;try{return e.apply(this,arguments)}finally{ae=r}}}});var Ss=se((Xg,Es)=>{"use strict";Es.exports=ys()});var kf=se(Me=>{"use strict";var np=V(),xe=Ss();function E(e){for(var t="https://reactjs.org/docs/error-decoder.html?invariant="+e,r=1;r"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),ei=Object.prototype.hasOwnProperty,op=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,ws={},_s={};function lp(e){return ei.call(_s,e)?!0:ei.call(ws,e)?!1:op.test(e)?_s[e]=!0:(ws[e]=!0,!1)}function ip(e,t,r,n){if(r!==null&&r.type===0)return!1;switch(typeof t){case"function":case"symbol":return!0;case"boolean":return n?!1:r!==null?!r.acceptsBooleans:(e=e.toLowerCase().slice(0,5),e!=="data-"&&e!=="aria-");default:return!1}}function up(e,t,r,n){if(t===null||typeof t>"u"||ip(e,t,r,n))return!0;if(n)return!1;if(r!==null)switch(r.type){case 3:return!t;case 4:return t===!1;case 5:return isNaN(t);case 6:return isNaN(t)||1>t}return!1}function ve(e,t,r,n,o,l,i){this.acceptsBooleans=t===2||t===3||t===4,this.attributeName=n,this.attributeNamespace=o,this.mustUseProperty=r,this.propertyName=e,this.type=t,this.sanitizeURL=l,this.removeEmptyString=i}var ie={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(e){ie[e]=new ve(e,0,!1,e,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(e){var t=e[0];ie[t]=new ve(t,1,!1,e[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(e){ie[e]=new ve(e,2,!1,e.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(e){ie[e]=new ve(e,2,!1,e,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(e){ie[e]=new ve(e,3,!1,e.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(e){ie[e]=new ve(e,3,!0,e,null,!1,!1)});["capture","download"].forEach(function(e){ie[e]=new ve(e,4,!1,e,null,!1,!1)});["cols","rows","size","span"].forEach(function(e){ie[e]=new ve(e,6,!1,e,null,!1,!1)});["rowSpan","start"].forEach(function(e){ie[e]=new ve(e,5,!1,e.toLowerCase(),null,!1,!1)});var Xi=/[\-:]([a-z])/g;function bi(e){return e[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(e){var t=e.replace(Xi,bi);ie[t]=new ve(t,1,!1,e,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(e){var t=e.replace(Xi,bi);ie[t]=new ve(t,1,!1,e,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(e){var t=e.replace(Xi,bi);ie[t]=new ve(t,1,!1,e,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(e){ie[e]=new ve(e,1,!1,e.toLowerCase(),null,!1,!1)});ie.xlinkHref=new ve("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(e){ie[e]=new ve(e,1,!1,e.toLowerCase(),null,!0,!0)});function $i(e,t,r,n){var o=ie.hasOwnProperty(t)?ie[t]:null;(o!==null?o.type!==0:n||!(2u||o[i]!==l[u]){var s=` -`+o[i].replace(" at new "," at ");return e.displayName&&s.includes("")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{Pl=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?en(e):""}function sp(e){switch(e.tag){case 5:return en(e.type);case 16:return en("Lazy");case 13:return en("Suspense");case 19:return en("SuspenseList");case 0:case 2:case 15:return e=Il(e.type,!1),e;case 11:return e=Il(e.type.render,!1),e;case 1:return e=Il(e.type,!0),e;default:return""}}function oi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case cr:return"Fragment";case ar:return"Portal";case ti:return"Profiler";case Ki:return"StrictMode";case ri:return"Suspense";case ni:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ma:return(e.displayName||"Context")+".Consumer";case La:return(e._context.displayName||"Context")+".Provider";case Qi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yi:return t=e.displayName||null,t!==null?t:oi(e.type)||"Memo";case yt:t=e._payload,e=e._init;try{return oi(e(t))}catch{}}return null}function ap(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return oi(t);case 8:return t===Ki?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Dt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Aa(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function cp(e){var t=Aa(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,l=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,l.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Xn(e){e._valueTracker||(e._valueTracker=cp(e))}function Da(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=Aa(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function wo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function li(e,t){var r=t.checked;return G({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Cs(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=Dt(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Pa(e,t){t=t.checked,t!=null&&$i(e,"checked",t,!1)}function ii(e,t){Pa(e,t);var r=Dt(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ui(e,t.type,r):t.hasOwnProperty("defaultValue")&&ui(e,t.type,Dt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ks(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function ui(e,t,r){(t!=="number"||wo(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var tn=Array.isArray;function wr(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=bn.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function gn(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var on={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fp=["Webkit","ms","Moz","O"];Object.keys(on).forEach(function(e){fp.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),on[t]=on[e]})});function za(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||on.hasOwnProperty(e)&&on[e]?(""+t).trim():t+"px"}function ja(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,o=za(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,o):e[r]=o}}var dp=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ci(e,t){if(t){if(dp[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(E(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(E(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(E(61))}if(t.style!=null&&typeof t.style!="object")throw Error(E(62))}}function fi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var di=null;function Zi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var pi=null,_r=null,Tr=null;function Ls(e){if(e=Pn(e)){if(typeof pi!="function")throw Error(E(280));var t=e.stateNode;t&&(t=Ko(t),pi(e.stateNode,e.type,t))}}function Ha(e){_r?Tr?Tr.push(e):Tr=[e]:_r=e}function qa(){if(_r){var e=_r,t=Tr;if(Tr=_r=null,Ls(e),t)for(e=0;e>>=0,e===0?32:31-(Tp(e)/Cp|0)|0}var $n=64,Kn=4194304;function rn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ko(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,o=e.suspendedLanes,l=e.pingedLanes,i=r&268435455;if(i!==0){var u=i&~o;u!==0?n=rn(u):(l&=i,l!==0&&(n=rn(l)))}else i=r&~o,i!==0?n=rn(i):l!==0&&(n=rn(l));if(n===0)return 0;if(t!==0&&t!==n&&(t&o)===0&&(o=n&-n,l=t&-t,o>=l||o===16&&(l&4194240)!==0))return t;if((n&4)!==0&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function An(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-We(t),e[t]=r}function Lp(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=un),zs=" ",js=!1;function ic(e,t){switch(e){case"keyup":return rm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function uc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var fr=!1;function om(e,t){switch(e){case"compositionend":return uc(t);case"keypress":return t.which!==32?null:(js=!0,zs);case"textInput":return e=t.data,e===zs&&js?null:e;default:return null}}function lm(e,t){if(fr)return e==="compositionend"||!iu&&ic(e,t)?(e=oc(),fo=nu=_t=null,fr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Vs(r)}}function fc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?fc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function dc(){for(var e=window,t=wo();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=wo(e.document)}return t}function uu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function mm(e){var t=dc(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&fc(r.ownerDocument.documentElement,r)){if(n!==null&&uu(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=r.textContent.length,l=Math.min(n.start,o);n=n.end===void 0?l:Math.min(n.end,o),!e.extend&&l>n&&(o=n,n=l,l=o),o=Rs(r,l);var i=Rs(r,n);o&&i&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),l>n?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,dr=null,Ei=null,an=null,Si=!1;function Bs(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Si||dr==null||dr!==wo(n)||(n=dr,"selectionStart"in n&&uu(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),an&&wn(an,n)||(an=n,n=Lo(Ei,"onSelect"),0gr||(e.current=Ni[gr],Ni[gr]=null,gr--)}function z(e,t){gr++,Ni[gr]=e.current,e.current=t}var Pt={},pe=Ut(Pt),Se=Ut(!1),Yt=Pt;function Lr(e,t){var r=e.type.contextTypes;if(!r)return Pt;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var o={},l;for(l in r)o[l]=t[l];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function we(e){return e=e.childContextTypes,e!=null}function Oo(){H(Se),H(pe)}function Zs(e,t,r){if(pe.current!==Pt)throw Error(E(168));z(pe,t),z(Se,r)}function wc(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var o in n)if(!(o in t))throw Error(E(108,ap(e)||"Unknown",o));return G({},r,n)}function Ao(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Pt,Yt=pe.current,z(pe,e),z(Se,Se.current),!0}function Js(e,t,r){var n=e.stateNode;if(!n)throw Error(E(169));r?(e=wc(e,t,Yt),n.__reactInternalMemoizedMergedChildContext=e,H(Se),H(pe),z(pe,e)):H(Se),z(Se,r)}var ot=null,Qo=!1,Gl=!1;function _c(e){ot===null?ot=[e]:ot.push(e)}function Cm(e){Qo=!0,_c(e)}function Ft(){if(!Gl&&ot!==null){Gl=!0;var e=0,t=P;try{var r=ot;for(P=1;e>=i,o-=i,lt=1<<32-We(t)+o|r<N?(U=C,C=null):U=C.sibling;var x=g(d,C,f[N],y);if(x===null){C===null&&(C=U);break}e&&C&&x.alternate===null&&t(d,C),c=l(x,c,N),h===null?T=x:h.sibling=x,h=x,C=U}if(N===f.length)return r(d,C),q&&Wt(d,N),T;if(C===null){for(;NN?(U=C,C=null):U=C.sibling;var Ae=g(d,C,x.value,y);if(Ae===null){C===null&&(C=U);break}e&&C&&Ae.alternate===null&&t(d,C),c=l(Ae,c,N),h===null?T=Ae:h.sibling=Ae,h=Ae,C=U}if(x.done)return r(d,C),q&&Wt(d,N),T;if(C===null){for(;!x.done;N++,x=f.next())x=m(d,x.value,y),x!==null&&(c=l(x,c,N),h===null?T=x:h.sibling=x,h=x);return q&&Wt(d,N),T}for(C=n(d,C);!x.done;N++,x=f.next())x=w(C,d,N,x.value,y),x!==null&&(e&&x.alternate!==null&&C.delete(x.key===null?N:x.key),c=l(x,c,N),h===null?T=x:h.sibling=x,h=x);return e&&C.forEach(function(vl){return t(d,vl)}),q&&Wt(d,N),T}function L(d,c,f,y){if(typeof f=="object"&&f!==null&&f.type===cr&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case Gn:e:{for(var T=f.key,h=c;h!==null;){if(h.key===T){if(T=f.type,T===cr){if(h.tag===7){r(d,h.sibling),c=o(h,f.props.children),c.return=d,d=c;break e}}else if(h.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===yt&&ra(T)===h.type){r(d,h.sibling),c=o(h,f.props),c.ref=Qr(d,h,f),c.return=d,d=c;break e}r(d,h);break}else t(d,h);h=h.sibling}f.type===cr?(c=Qt(f.props.children,d.mode,y,f.key),c.return=d,d=c):(y=So(f.type,f.key,f.props,null,d.mode,y),y.ref=Qr(d,c,f),y.return=d,d=y)}return i(d);case ar:e:{for(h=f.key;c!==null;){if(c.key===h)if(c.tag===4&&c.stateNode.containerInfo===f.containerInfo&&c.stateNode.implementation===f.implementation){r(d,c.sibling),c=o(c,f.children||[]),c.return=d,d=c;break e}else{r(d,c);break}else t(d,c);c=c.sibling}c=Jl(f,d.mode,y),c.return=d,d=c}return i(d);case yt:return h=f._init,L(d,c,h(f._payload),y)}if(tn(f))return _(d,c,f,y);if(Xr(f))return S(d,c,f,y);io(d,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,c!==null&&c.tag===6?(r(d,c.sibling),c=o(c,f),c.return=d,d=c):(r(d,c),c=Zl(f,d.mode,y),c.return=d,d=c),i(d)):r(d,c)}return L}var Or=Nc(!0),xc=Nc(!1),Io=Ut(null),Uo=null,yr=null,fu=null;function du(){fu=yr=Uo=null}function pu(e){var t=Io.current;H(Io),e._currentValue=t}function Mi(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function kr(e,t){Uo=e,fu=yr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ee=!0),e.firstContext=null)}function ze(e){var t=e._currentValue;if(fu!==e)if(e={context:e,memoizedValue:t,next:null},yr===null){if(Uo===null)throw Error(E(308));yr=e,Uo.dependencies={lanes:0,firstContext:e}}else yr=yr.next=e;return t}var bt=null;function mu(e){bt===null?bt=[e]:bt.push(e)}function Lc(e,t,r,n){var o=t.interleaved;return o===null?(r.next=r,mu(t)):(r.next=o.next,o.next=r),t.interleaved=r,ct(e,n)}function ct(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Et=!1;function gu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Mc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ut(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Lt(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(D&2)!==0){var o=n.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),n.pending=t,ct(e,r)}return o=n.interleaved,o===null?(t.next=t,mu(n)):(t.next=o.next,o.next=t),n.interleaved=t,ct(e,r)}function mo(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,eu(e,r)}}function na(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var o=null,l=null;if(r=r.firstBaseUpdate,r!==null){do{var i={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};l===null?o=l=i:l=l.next=i,r=r.next}while(r!==null);l===null?o=l=t:l=l.next=t}else o=l=t;r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:l,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Fo(e,t,r,n){var o=e.updateQueue;Et=!1;var l=o.firstBaseUpdate,i=o.lastBaseUpdate,u=o.shared.pending;if(u!==null){o.shared.pending=null;var s=u,a=s.next;s.next=null,i===null?l=a:i.next=a,i=s;var p=e.alternate;p!==null&&(p=p.updateQueue,u=p.lastBaseUpdate,u!==i&&(u===null?p.firstBaseUpdate=a:u.next=a,p.lastBaseUpdate=s))}if(l!==null){var m=o.baseState;i=0,p=a=s=null,u=l;do{var g=u.lane,w=u.eventTime;if((n&g)===g){p!==null&&(p=p.next={eventTime:w,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var _=e,S=u;switch(g=t,w=r,S.tag){case 1:if(_=S.payload,typeof _=="function"){m=_.call(w,m,g);break e}m=_;break e;case 3:_.flags=_.flags&-65537|128;case 0:if(_=S.payload,g=typeof _=="function"?_.call(w,m,g):_,g==null)break e;m=G({},m,g);break e;case 2:Et=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,g=o.effects,g===null?o.effects=[u]:g.push(u))}else w={eventTime:w,lane:g,tag:u.tag,payload:u.payload,callback:u.callback,next:null},p===null?(a=p=w,s=m):p=p.next=w,i|=g;if(u=u.next,u===null){if(u=o.shared.pending,u===null)break;g=u,u=g.next,g.next=null,o.lastBaseUpdate=g,o.shared.pending=null}}while(!0);if(p===null&&(s=m),o.baseState=s,o.firstBaseUpdate=a,o.lastBaseUpdate=p,t=o.shared.interleaved,t!==null){o=t;do i|=o.lane,o=o.next;while(o!==t)}else l===null&&(o.shared.lanes=0);er|=i,e.lanes=i,e.memoizedState=m}}function oa(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=bl.transition;bl.transition={};try{e(!1),t()}finally{P=r,bl.transition=n}}function Xc(){return je().memoizedState}function Lm(e,t,r){var n=Ot(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},bc(e))$c(t,r);else if(r=Lc(e,t,r,n),r!==null){var o=he();Ge(r,e,n,o),Kc(r,t,n)}}function Mm(e,t,r){var n=Ot(e),o={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(bc(e))$c(t,o);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var i=t.lastRenderedState,u=l(i,r);if(o.hasEagerState=!0,o.eagerState=u,Xe(u,i)){var s=t.interleaved;s===null?(o.next=o,mu(t)):(o.next=s.next,s.next=o),t.interleaved=o;return}}catch{}finally{}r=Lc(e,t,o,n),r!==null&&(o=he(),Ge(r,e,n,o),Kc(r,t,n))}}function bc(e){var t=e.alternate;return e===W||t!==null&&t===W}function $c(e,t){cn=jo=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function Kc(e,t,r){if((r&4194240)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,eu(e,r)}}var Ho={readContext:ze,useCallback:ce,useContext:ce,useEffect:ce,useImperativeHandle:ce,useInsertionEffect:ce,useLayoutEffect:ce,useMemo:ce,useReducer:ce,useRef:ce,useState:ce,useDebugValue:ce,useDeferredValue:ce,useTransition:ce,useMutableSource:ce,useSyncExternalStore:ce,useId:ce,unstable_isNewReconciler:!1},Om={readContext:ze,useCallback:function(e,t){return Ye().memoizedState=[e,t===void 0?null:t],e},useContext:ze,useEffect:ia,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ho(4194308,4,Vc.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ho(4194308,4,e,t)},useInsertionEffect:function(e,t){return ho(4,2,e,t)},useMemo:function(e,t){var r=Ye();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=Ye();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=Lm.bind(null,W,e),[n.memoizedState,e]},useRef:function(e){var t=Ye();return e={current:e},t.memoizedState=e},useState:la,useDebugValue:Tu,useDeferredValue:function(e){return Ye().memoizedState=e},useTransition:function(){var e=la(!1),t=e[0];return e=xm.bind(null,e[1]),Ye().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=W,o=Ye();if(q){if(r===void 0)throw Error(E(407));r=r()}else{if(r=t(),re===null)throw Error(E(349));(Jt&30)!==0||Pc(n,t,r)}o.memoizedState=r;var l={value:r,getSnapshot:t};return o.queue=l,ia(Uc.bind(null,n,l,e),[e]),n.flags|=2048,Mn(9,Ic.bind(null,n,l,r,t),void 0,null),r},useId:function(){var e=Ye(),t=re.identifierPrefix;if(q){var r=it,n=lt;r=(n&~(1<<32-We(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=xn++,0")&&(s=s.replace("",e.displayName)),s}while(1<=i&&0<=u);break}}}finally{Pl=!1,Error.prepareStackTrace=r}return(e=e?e.displayName||e.name:"")?en(e):""}function sp(e){switch(e.tag){case 5:return en(e.type);case 16:return en("Lazy");case 13:return en("Suspense");case 19:return en("SuspenseList");case 0:case 2:case 15:return e=Il(e.type,!1),e;case 11:return e=Il(e.type.render,!1),e;case 1:return e=Il(e.type,!0),e;default:return""}}function oi(e){if(e==null)return null;if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e;switch(e){case cr:return"Fragment";case ar:return"Portal";case ti:return"Profiler";case Ki:return"StrictMode";case ri:return"Suspense";case ni:return"SuspenseList"}if(typeof e=="object")switch(e.$$typeof){case Ma:return(e.displayName||"Context")+".Consumer";case La:return(e._context.displayName||"Context")+".Provider";case Qi:var t=e.render;return e=e.displayName,e||(e=t.displayName||t.name||"",e=e!==""?"ForwardRef("+e+")":"ForwardRef"),e;case Yi:return t=e.displayName||null,t!==null?t:oi(e.type)||"Memo";case yt:t=e._payload,e=e._init;try{return oi(e(t))}catch{}}return null}function ap(e){var t=e.type;switch(e.tag){case 24:return"Cache";case 9:return(t.displayName||"Context")+".Consumer";case 10:return(t._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return e=t.render,e=e.displayName||e.name||"",t.displayName||(e!==""?"ForwardRef("+e+")":"ForwardRef");case 7:return"Fragment";case 5:return t;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return oi(t);case 8:return t===Ki?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t}return null}function Dt(e){switch(typeof e){case"boolean":case"number":case"string":case"undefined":return e;case"object":return e;default:return""}}function Aa(e){var t=e.type;return(e=e.nodeName)&&e.toLowerCase()==="input"&&(t==="checkbox"||t==="radio")}function cp(e){var t=Aa(e)?"checked":"value",r=Object.getOwnPropertyDescriptor(e.constructor.prototype,t),n=""+e[t];if(!e.hasOwnProperty(t)&&typeof r<"u"&&typeof r.get=="function"&&typeof r.set=="function"){var o=r.get,l=r.set;return Object.defineProperty(e,t,{configurable:!0,get:function(){return o.call(this)},set:function(i){n=""+i,l.call(this,i)}}),Object.defineProperty(e,t,{enumerable:r.enumerable}),{getValue:function(){return n},setValue:function(i){n=""+i},stopTracking:function(){e._valueTracker=null,delete e[t]}}}}function Xn(e){e._valueTracker||(e._valueTracker=cp(e))}function Da(e){if(!e)return!1;var t=e._valueTracker;if(!t)return!0;var r=t.getValue(),n="";return e&&(n=Aa(e)?e.checked?"true":"false":e.value),e=n,e!==r?(t.setValue(e),!0):!1}function wo(e){if(e=e||(typeof document<"u"?document:void 0),typeof e>"u")return null;try{return e.activeElement||e.body}catch{return e.body}}function li(e,t){var r=t.checked;return G({},t,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:r??e._wrapperState.initialChecked})}function Cs(e,t){var r=t.defaultValue==null?"":t.defaultValue,n=t.checked!=null?t.checked:t.defaultChecked;r=Dt(t.value!=null?t.value:r),e._wrapperState={initialChecked:n,initialValue:r,controlled:t.type==="checkbox"||t.type==="radio"?t.checked!=null:t.value!=null}}function Pa(e,t){t=t.checked,t!=null&&$i(e,"checked",t,!1)}function ii(e,t){Pa(e,t);var r=Dt(t.value),n=t.type;if(r!=null)n==="number"?(r===0&&e.value===""||e.value!=r)&&(e.value=""+r):e.value!==""+r&&(e.value=""+r);else if(n==="submit"||n==="reset"){e.removeAttribute("value");return}t.hasOwnProperty("value")?ui(e,t.type,r):t.hasOwnProperty("defaultValue")&&ui(e,t.type,Dt(t.defaultValue)),t.checked==null&&t.defaultChecked!=null&&(e.defaultChecked=!!t.defaultChecked)}function ks(e,t,r){if(t.hasOwnProperty("value")||t.hasOwnProperty("defaultValue")){var n=t.type;if(!(n!=="submit"&&n!=="reset"||t.value!==void 0&&t.value!==null))return;t=""+e._wrapperState.initialValue,r||t===e.value||(e.value=t),e.defaultValue=t}r=e.name,r!==""&&(e.name=""),e.defaultChecked=!!e._wrapperState.initialChecked,r!==""&&(e.name=r)}function ui(e,t,r){(t!=="number"||wo(e.ownerDocument)!==e)&&(r==null?e.defaultValue=""+e._wrapperState.initialValue:e.defaultValue!==""+r&&(e.defaultValue=""+r))}var tn=Array.isArray;function wr(e,t,r,n){if(e=e.options,t){t={};for(var o=0;o"+t.valueOf().toString()+"",t=bn.firstChild;e.firstChild;)e.removeChild(e.firstChild);for(;t.firstChild;)e.appendChild(t.firstChild)}});function gn(e,t){if(t){var r=e.firstChild;if(r&&r===e.lastChild&&r.nodeType===3){r.nodeValue=t;return}}e.textContent=t}var on={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},fp=["Webkit","ms","Moz","O"];Object.keys(on).forEach(function(e){fp.forEach(function(t){t=t+e.charAt(0).toUpperCase()+e.substring(1),on[t]=on[e]})});function za(e,t,r){return t==null||typeof t=="boolean"||t===""?"":r||typeof t!="number"||t===0||on.hasOwnProperty(e)&&on[e]?(""+t).trim():t+"px"}function ja(e,t){e=e.style;for(var r in t)if(t.hasOwnProperty(r)){var n=r.indexOf("--")===0,o=za(r,t[r],n);r==="float"&&(r="cssFloat"),n?e.setProperty(r,o):e[r]=o}}var dp=G({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function ci(e,t){if(t){if(dp[e]&&(t.children!=null||t.dangerouslySetInnerHTML!=null))throw Error(E(137,e));if(t.dangerouslySetInnerHTML!=null){if(t.children!=null)throw Error(E(60));if(typeof t.dangerouslySetInnerHTML!="object"||!("__html"in t.dangerouslySetInnerHTML))throw Error(E(61))}if(t.style!=null&&typeof t.style!="object")throw Error(E(62))}}function fi(e,t){if(e.indexOf("-")===-1)return typeof t.is=="string";switch(e){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var di=null;function Zi(e){return e=e.target||e.srcElement||window,e.correspondingUseElement&&(e=e.correspondingUseElement),e.nodeType===3?e.parentNode:e}var pi=null,_r=null,Tr=null;function Ls(e){if(e=Pn(e)){if(typeof pi!="function")throw Error(E(280));var t=e.stateNode;t&&(t=Ko(t),pi(e.stateNode,e.type,t))}}function Ha(e){_r?Tr?Tr.push(e):Tr=[e]:_r=e}function qa(){if(_r){var e=_r,t=Tr;if(Tr=_r=null,Ls(e),t)for(e=0;e>>=0,e===0?32:31-(Tp(e)/Cp|0)|0}var $n=64,Kn=4194304;function rn(e){switch(e&-e){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return e&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return e&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return e}}function ko(e,t){var r=e.pendingLanes;if(r===0)return 0;var n=0,o=e.suspendedLanes,l=e.pingedLanes,i=r&268435455;if(i!==0){var u=i&~o;u!==0?n=rn(u):(l&=i,l!==0&&(n=rn(l)))}else i=r&~o,i!==0?n=rn(i):l!==0&&(n=rn(l));if(n===0)return 0;if(t!==0&&t!==n&&(t&o)===0&&(o=n&-n,l=t&-t,o>=l||o===16&&(l&4194240)!==0))return t;if((n&4)!==0&&(n|=r&16),t=e.entangledLanes,t!==0)for(e=e.entanglements,t&=n;0r;r++)t.push(e);return t}function An(e,t,r){e.pendingLanes|=t,t!==536870912&&(e.suspendedLanes=0,e.pingedLanes=0),e=e.eventTimes,t=31-We(t),e[t]=r}function Lp(e,t){var r=e.pendingLanes&~t;e.pendingLanes=t,e.suspendedLanes=0,e.pingedLanes=0,e.expiredLanes&=t,e.mutableReadLanes&=t,e.entangledLanes&=t,t=e.entanglements;var n=e.eventTimes;for(e=e.expirationTimes;0=un),zs=" ",js=!1;function ic(e,t){switch(e){case"keyup":return rm.indexOf(t.keyCode)!==-1;case"keydown":return t.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function uc(e){return e=e.detail,typeof e=="object"&&"data"in e?e.data:null}var fr=!1;function om(e,t){switch(e){case"compositionend":return uc(t);case"keypress":return t.which!==32?null:(js=!0,zs);case"textInput":return e=t.data,e===zs&&js?null:e;default:return null}}function lm(e,t){if(fr)return e==="compositionend"||!iu&&ic(e,t)?(e=oc(),fo=nu=_t=null,fr=!1,e):null;switch(e){case"paste":return null;case"keypress":if(!(t.ctrlKey||t.altKey||t.metaKey)||t.ctrlKey&&t.altKey){if(t.char&&1=t)return{node:r,offset:t-e};e=n}e:{for(;r;){if(r.nextSibling){r=r.nextSibling;break e}r=r.parentNode}r=void 0}r=Rs(r)}}function fc(e,t){return e&&t?e===t?!0:e&&e.nodeType===3?!1:t&&t.nodeType===3?fc(e,t.parentNode):"contains"in e?e.contains(t):e.compareDocumentPosition?!!(e.compareDocumentPosition(t)&16):!1:!1}function dc(){for(var e=window,t=wo();t instanceof e.HTMLIFrameElement;){try{var r=typeof t.contentWindow.location.href=="string"}catch{r=!1}if(r)e=t.contentWindow;else break;t=wo(e.document)}return t}function uu(e){var t=e&&e.nodeName&&e.nodeName.toLowerCase();return t&&(t==="input"&&(e.type==="text"||e.type==="search"||e.type==="tel"||e.type==="url"||e.type==="password")||t==="textarea"||e.contentEditable==="true")}function mm(e){var t=dc(),r=e.focusedElem,n=e.selectionRange;if(t!==r&&r&&r.ownerDocument&&fc(r.ownerDocument.documentElement,r)){if(n!==null&&uu(r)){if(t=n.start,e=n.end,e===void 0&&(e=t),"selectionStart"in r)r.selectionStart=t,r.selectionEnd=Math.min(e,r.value.length);else if(e=(t=r.ownerDocument||document)&&t.defaultView||window,e.getSelection){e=e.getSelection();var o=r.textContent.length,l=Math.min(n.start,o);n=n.end===void 0?l:Math.min(n.end,o),!e.extend&&l>n&&(o=n,n=l,l=o),o=Vs(r,l);var i=Vs(r,n);o&&i&&(e.rangeCount!==1||e.anchorNode!==o.node||e.anchorOffset!==o.offset||e.focusNode!==i.node||e.focusOffset!==i.offset)&&(t=t.createRange(),t.setStart(o.node,o.offset),e.removeAllRanges(),l>n?(e.addRange(t),e.extend(i.node,i.offset)):(t.setEnd(i.node,i.offset),e.addRange(t)))}}for(t=[],e=r;e=e.parentNode;)e.nodeType===1&&t.push({element:e,left:e.scrollLeft,top:e.scrollTop});for(typeof r.focus=="function"&&r.focus(),r=0;r=document.documentMode,dr=null,Ei=null,an=null,Si=!1;function Bs(e,t,r){var n=r.window===r?r.document:r.nodeType===9?r:r.ownerDocument;Si||dr==null||dr!==wo(n)||(n=dr,"selectionStart"in n&&uu(n)?n={start:n.selectionStart,end:n.selectionEnd}:(n=(n.ownerDocument&&n.ownerDocument.defaultView||window).getSelection(),n={anchorNode:n.anchorNode,anchorOffset:n.anchorOffset,focusNode:n.focusNode,focusOffset:n.focusOffset}),an&&wn(an,n)||(an=n,n=Lo(Ei,"onSelect"),0gr||(e.current=Ni[gr],Ni[gr]=null,gr--)}function z(e,t){gr++,Ni[gr]=e.current,e.current=t}var Pt={},pe=Ut(Pt),Se=Ut(!1),Yt=Pt;function Lr(e,t){var r=e.type.contextTypes;if(!r)return Pt;var n=e.stateNode;if(n&&n.__reactInternalMemoizedUnmaskedChildContext===t)return n.__reactInternalMemoizedMaskedChildContext;var o={},l;for(l in r)o[l]=t[l];return n&&(e=e.stateNode,e.__reactInternalMemoizedUnmaskedChildContext=t,e.__reactInternalMemoizedMaskedChildContext=o),o}function we(e){return e=e.childContextTypes,e!=null}function Oo(){H(Se),H(pe)}function Zs(e,t,r){if(pe.current!==Pt)throw Error(E(168));z(pe,t),z(Se,r)}function wc(e,t,r){var n=e.stateNode;if(t=t.childContextTypes,typeof n.getChildContext!="function")return r;n=n.getChildContext();for(var o in n)if(!(o in t))throw Error(E(108,ap(e)||"Unknown",o));return G({},r,n)}function Ao(e){return e=(e=e.stateNode)&&e.__reactInternalMemoizedMergedChildContext||Pt,Yt=pe.current,z(pe,e),z(Se,Se.current),!0}function Js(e,t,r){var n=e.stateNode;if(!n)throw Error(E(169));r?(e=wc(e,t,Yt),n.__reactInternalMemoizedMergedChildContext=e,H(Se),H(pe),z(pe,e)):H(Se),z(Se,r)}var ot=null,Qo=!1,Gl=!1;function _c(e){ot===null?ot=[e]:ot.push(e)}function Cm(e){Qo=!0,_c(e)}function Ft(){if(!Gl&&ot!==null){Gl=!0;var e=0,t=P;try{var r=ot;for(P=1;e>=i,o-=i,lt=1<<32-We(t)+o|r<N?(U=C,C=null):U=C.sibling;var x=g(d,C,f[N],y);if(x===null){C===null&&(C=U);break}e&&C&&x.alternate===null&&t(d,C),c=l(x,c,N),h===null?T=x:h.sibling=x,h=x,C=U}if(N===f.length)return r(d,C),q&&Wt(d,N),T;if(C===null){for(;NN?(U=C,C=null):U=C.sibling;var Ae=g(d,C,x.value,y);if(Ae===null){C===null&&(C=U);break}e&&C&&Ae.alternate===null&&t(d,C),c=l(Ae,c,N),h===null?T=Ae:h.sibling=Ae,h=Ae,C=U}if(x.done)return r(d,C),q&&Wt(d,N),T;if(C===null){for(;!x.done;N++,x=f.next())x=m(d,x.value,y),x!==null&&(c=l(x,c,N),h===null?T=x:h.sibling=x,h=x);return q&&Wt(d,N),T}for(C=n(d,C);!x.done;N++,x=f.next())x=w(C,d,N,x.value,y),x!==null&&(e&&x.alternate!==null&&C.delete(x.key===null?N:x.key),c=l(x,c,N),h===null?T=x:h.sibling=x,h=x);return e&&C.forEach(function(vl){return t(d,vl)}),q&&Wt(d,N),T}function L(d,c,f,y){if(typeof f=="object"&&f!==null&&f.type===cr&&f.key===null&&(f=f.props.children),typeof f=="object"&&f!==null){switch(f.$$typeof){case Gn:e:{for(var T=f.key,h=c;h!==null;){if(h.key===T){if(T=f.type,T===cr){if(h.tag===7){r(d,h.sibling),c=o(h,f.props.children),c.return=d,d=c;break e}}else if(h.elementType===T||typeof T=="object"&&T!==null&&T.$$typeof===yt&&ra(T)===h.type){r(d,h.sibling),c=o(h,f.props),c.ref=Qr(d,h,f),c.return=d,d=c;break e}r(d,h);break}else t(d,h);h=h.sibling}f.type===cr?(c=Qt(f.props.children,d.mode,y,f.key),c.return=d,d=c):(y=So(f.type,f.key,f.props,null,d.mode,y),y.ref=Qr(d,c,f),y.return=d,d=y)}return i(d);case ar:e:{for(h=f.key;c!==null;){if(c.key===h)if(c.tag===4&&c.stateNode.containerInfo===f.containerInfo&&c.stateNode.implementation===f.implementation){r(d,c.sibling),c=o(c,f.children||[]),c.return=d,d=c;break e}else{r(d,c);break}else t(d,c);c=c.sibling}c=Jl(f,d.mode,y),c.return=d,d=c}return i(d);case yt:return h=f._init,L(d,c,h(f._payload),y)}if(tn(f))return _(d,c,f,y);if(Xr(f))return S(d,c,f,y);io(d,f)}return typeof f=="string"&&f!==""||typeof f=="number"?(f=""+f,c!==null&&c.tag===6?(r(d,c.sibling),c=o(c,f),c.return=d,d=c):(r(d,c),c=Zl(f,d.mode,y),c.return=d,d=c),i(d)):r(d,c)}return L}var Or=Nc(!0),xc=Nc(!1),Io=Ut(null),Uo=null,yr=null,fu=null;function du(){fu=yr=Uo=null}function pu(e){var t=Io.current;H(Io),e._currentValue=t}function Mi(e,t,r){for(;e!==null;){var n=e.alternate;if((e.childLanes&t)!==t?(e.childLanes|=t,n!==null&&(n.childLanes|=t)):n!==null&&(n.childLanes&t)!==t&&(n.childLanes|=t),e===r)break;e=e.return}}function kr(e,t){Uo=e,fu=yr=null,e=e.dependencies,e!==null&&e.firstContext!==null&&((e.lanes&t)!==0&&(Ee=!0),e.firstContext=null)}function ze(e){var t=e._currentValue;if(fu!==e)if(e={context:e,memoizedValue:t,next:null},yr===null){if(Uo===null)throw Error(E(308));yr=e,Uo.dependencies={lanes:0,firstContext:e}}else yr=yr.next=e;return t}var bt=null;function mu(e){bt===null?bt=[e]:bt.push(e)}function Lc(e,t,r,n){var o=t.interleaved;return o===null?(r.next=r,mu(t)):(r.next=o.next,o.next=r),t.interleaved=r,ct(e,n)}function ct(e,t){e.lanes|=t;var r=e.alternate;for(r!==null&&(r.lanes|=t),r=e,e=e.return;e!==null;)e.childLanes|=t,r=e.alternate,r!==null&&(r.childLanes|=t),r=e,e=e.return;return r.tag===3?r.stateNode:null}var Et=!1;function gu(e){e.updateQueue={baseState:e.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function Mc(e,t){e=e.updateQueue,t.updateQueue===e&&(t.updateQueue={baseState:e.baseState,firstBaseUpdate:e.firstBaseUpdate,lastBaseUpdate:e.lastBaseUpdate,shared:e.shared,effects:e.effects})}function ut(e,t){return{eventTime:e,lane:t,tag:0,payload:null,callback:null,next:null}}function Lt(e,t,r){var n=e.updateQueue;if(n===null)return null;if(n=n.shared,(D&2)!==0){var o=n.pending;return o===null?t.next=t:(t.next=o.next,o.next=t),n.pending=t,ct(e,r)}return o=n.interleaved,o===null?(t.next=t,mu(n)):(t.next=o.next,o.next=t),n.interleaved=t,ct(e,r)}function mo(e,t,r){if(t=t.updateQueue,t!==null&&(t=t.shared,(r&4194240)!==0)){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,eu(e,r)}}function na(e,t){var r=e.updateQueue,n=e.alternate;if(n!==null&&(n=n.updateQueue,r===n)){var o=null,l=null;if(r=r.firstBaseUpdate,r!==null){do{var i={eventTime:r.eventTime,lane:r.lane,tag:r.tag,payload:r.payload,callback:r.callback,next:null};l===null?o=l=i:l=l.next=i,r=r.next}while(r!==null);l===null?o=l=t:l=l.next=t}else o=l=t;r={baseState:n.baseState,firstBaseUpdate:o,lastBaseUpdate:l,shared:n.shared,effects:n.effects},e.updateQueue=r;return}e=r.lastBaseUpdate,e===null?r.firstBaseUpdate=t:e.next=t,r.lastBaseUpdate=t}function Fo(e,t,r,n){var o=e.updateQueue;Et=!1;var l=o.firstBaseUpdate,i=o.lastBaseUpdate,u=o.shared.pending;if(u!==null){o.shared.pending=null;var s=u,a=s.next;s.next=null,i===null?l=a:i.next=a,i=s;var p=e.alternate;p!==null&&(p=p.updateQueue,u=p.lastBaseUpdate,u!==i&&(u===null?p.firstBaseUpdate=a:u.next=a,p.lastBaseUpdate=s))}if(l!==null){var m=o.baseState;i=0,p=a=s=null,u=l;do{var g=u.lane,w=u.eventTime;if((n&g)===g){p!==null&&(p=p.next={eventTime:w,lane:0,tag:u.tag,payload:u.payload,callback:u.callback,next:null});e:{var _=e,S=u;switch(g=t,w=r,S.tag){case 1:if(_=S.payload,typeof _=="function"){m=_.call(w,m,g);break e}m=_;break e;case 3:_.flags=_.flags&-65537|128;case 0:if(_=S.payload,g=typeof _=="function"?_.call(w,m,g):_,g==null)break e;m=G({},m,g);break e;case 2:Et=!0}}u.callback!==null&&u.lane!==0&&(e.flags|=64,g=o.effects,g===null?o.effects=[u]:g.push(u))}else w={eventTime:w,lane:g,tag:u.tag,payload:u.payload,callback:u.callback,next:null},p===null?(a=p=w,s=m):p=p.next=w,i|=g;if(u=u.next,u===null){if(u=o.shared.pending,u===null)break;g=u,u=g.next,g.next=null,o.lastBaseUpdate=g,o.shared.pending=null}}while(!0);if(p===null&&(s=m),o.baseState=s,o.firstBaseUpdate=a,o.lastBaseUpdate=p,t=o.shared.interleaved,t!==null){o=t;do i|=o.lane,o=o.next;while(o!==t)}else l===null&&(o.shared.lanes=0);er|=i,e.lanes=i,e.memoizedState=m}}function oa(e,t,r){if(e=t.effects,t.effects=null,e!==null)for(t=0;tr?r:4,e(!0);var n=bl.transition;bl.transition={};try{e(!1),t()}finally{P=r,bl.transition=n}}function Xc(){return je().memoizedState}function Lm(e,t,r){var n=Ot(e);if(r={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null},bc(e))$c(t,r);else if(r=Lc(e,t,r,n),r!==null){var o=he();Ge(r,e,n,o),Kc(r,t,n)}}function Mm(e,t,r){var n=Ot(e),o={lane:n,action:r,hasEagerState:!1,eagerState:null,next:null};if(bc(e))$c(t,o);else{var l=e.alternate;if(e.lanes===0&&(l===null||l.lanes===0)&&(l=t.lastRenderedReducer,l!==null))try{var i=t.lastRenderedState,u=l(i,r);if(o.hasEagerState=!0,o.eagerState=u,Xe(u,i)){var s=t.interleaved;s===null?(o.next=o,mu(t)):(o.next=s.next,s.next=o),t.interleaved=o;return}}catch{}finally{}r=Lc(e,t,o,n),r!==null&&(o=he(),Ge(r,e,n,o),Kc(r,t,n))}}function bc(e){var t=e.alternate;return e===W||t!==null&&t===W}function $c(e,t){cn=jo=!0;var r=e.pending;r===null?t.next=t:(t.next=r.next,r.next=t),e.pending=t}function Kc(e,t,r){if((r&4194240)!==0){var n=t.lanes;n&=e.pendingLanes,r|=n,t.lanes=r,eu(e,r)}}var Ho={readContext:ze,useCallback:ce,useContext:ce,useEffect:ce,useImperativeHandle:ce,useInsertionEffect:ce,useLayoutEffect:ce,useMemo:ce,useReducer:ce,useRef:ce,useState:ce,useDebugValue:ce,useDeferredValue:ce,useTransition:ce,useMutableSource:ce,useSyncExternalStore:ce,useId:ce,unstable_isNewReconciler:!1},Om={readContext:ze,useCallback:function(e,t){return Ye().memoizedState=[e,t===void 0?null:t],e},useContext:ze,useEffect:ia,useImperativeHandle:function(e,t,r){return r=r!=null?r.concat([e]):null,ho(4194308,4,Rc.bind(null,t,e),r)},useLayoutEffect:function(e,t){return ho(4194308,4,e,t)},useInsertionEffect:function(e,t){return ho(4,2,e,t)},useMemo:function(e,t){var r=Ye();return t=t===void 0?null:t,e=e(),r.memoizedState=[e,t],e},useReducer:function(e,t,r){var n=Ye();return t=r!==void 0?r(t):t,n.memoizedState=n.baseState=t,e={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:e,lastRenderedState:t},n.queue=e,e=e.dispatch=Lm.bind(null,W,e),[n.memoizedState,e]},useRef:function(e){var t=Ye();return e={current:e},t.memoizedState=e},useState:la,useDebugValue:Tu,useDeferredValue:function(e){return Ye().memoizedState=e},useTransition:function(){var e=la(!1),t=e[0];return e=xm.bind(null,e[1]),Ye().memoizedState=e,[t,e]},useMutableSource:function(){},useSyncExternalStore:function(e,t,r){var n=W,o=Ye();if(q){if(r===void 0)throw Error(E(407));r=r()}else{if(r=t(),re===null)throw Error(E(349));(Jt&30)!==0||Pc(n,t,r)}o.memoizedState=r;var l={value:r,getSnapshot:t};return o.queue=l,ia(Uc.bind(null,n,l,e),[e]),n.flags|=2048,Mn(9,Ic.bind(null,n,l,r,t),void 0,null),r},useId:function(){var e=Ye(),t=re.identifierPrefix;if(q){var r=it,n=lt;r=(n&~(1<<32-We(n)-1)).toString(32)+r,t=":"+t+"R"+r,r=xn++,0<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=i.createElement(r,{is:n.is}):(e=i.createElement(r),r==="select"&&(i=e,n.multiple?i.multiple=!0:n.size&&(i.size=n.size))):e=i.createElementNS(e,r),e[Ze]=t,e[Cn]=n,lf(e,t,!1,!1),t.stateNode=e;e:{switch(i=fi(r,n),r){case"dialog":j("cancel",e),j("close",e),o=n;break;case"iframe":case"object":case"embed":j("load",e),o=n;break;case"video":case"audio":for(o=0;oPr&&(t.flags|=128,n=!0,Yr(l,!1),t.lanes=4194304)}else{if(!n)if(e=zo(i),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),Yr(l,!0),l.tail===null&&l.tailMode==="hidden"&&!i.alternate&&!q)return fe(t),null}else 2*b()-l.renderingStartTime>Pr&&r!==1073741824&&(t.flags|=128,n=!0,Yr(l,!1),t.lanes=4194304);l.isBackwards?(i.sibling=t.child,t.child=i):(r=l.last,r!==null?r.sibling=i:t.child=i,l.last=i)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=b(),t.sibling=null,r=B.current,z(B,n?r&1|2:r&1),t):(fe(t),null);case 22:case 23:return Mu(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&(t.mode&1)!==0?(Ce&1073741824)!==0&&(fe(t),t.subtreeFlags&6&&(t.flags|=8192)):fe(t),null;case 24:return null;case 25:return null}throw Error(E(156,t.tag))}function jm(e,t){switch(au(t),t.tag){case 1:return we(t.type)&&Oo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ar(),H(Se),H(pe),yu(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return vu(t),null;case 13:if(H(B),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(E(340));Mr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(B),null;case 4:return Ar(),null;case 10:return pu(t.type._context),null;case 22:case 23:return Mu(),null;case 24:return null;default:return null}}var so=!1,de=!1,Hm=typeof WeakSet=="function"?WeakSet:Set,k=null;function Er(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){X(e,t,n)}else r.current=null}function ji(e,t,r){try{r()}catch(n){X(e,t,n)}}var va=!1;function qm(e,t){if(wi=No,e=dc(),uu(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,l=n.focusNode;n=n.focusOffset;try{r.nodeType,l.nodeType}catch{r=null;break e}var i=0,u=-1,s=-1,a=0,p=0,m=e,g=null;t:for(;;){for(var w;m!==r||o!==0&&m.nodeType!==3||(u=i+o),m!==l||n!==0&&m.nodeType!==3||(s=i+n),m.nodeType===3&&(i+=m.nodeValue.length),(w=m.firstChild)!==null;)g=m,m=w;for(;;){if(m===e)break t;if(g===r&&++a===o&&(u=i),g===l&&++p===n&&(s=i),(w=m.nextSibling)!==null)break;m=g,g=m.parentNode}m=w}r=u===-1||s===-1?null:{start:u,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(_i={focusedElem:e,selectionRange:r},No=!1,k=t;k!==null;)if(t=k,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,k=e;else for(;k!==null;){t=k;try{var _=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(_!==null){var S=_.memoizedProps,L=_.memoizedState,d=t.stateNode,c=d.getSnapshotBeforeUpdate(t.elementType===t.type?S:Ve(t.type,S),L);d.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(E(163))}}catch(y){X(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,k=e;break}k=t.return}return _=va,va=!1,_}function fn(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var o=n=n.next;do{if((o.tag&e)===e){var l=o.destroy;o.destroy=void 0,l!==void 0&&ji(t,r,l)}o=o.next}while(o!==n)}}function Jo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function Hi(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function af(e){var t=e.alternate;t!==null&&(e.alternate=null,af(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ze],delete t[Cn],delete t[ki],delete t[_m],delete t[Tm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function cf(e){return e.tag===5||e.tag===3||e.tag===4}function ya(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||cf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function qi(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=Mo));else if(n!==4&&(e=e.child,e!==null))for(qi(e,t,r),e=e.sibling;e!==null;)qi(e,t,r),e=e.sibling}function Vi(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(Vi(e,t,r),e=e.sibling;e!==null;)Vi(e,t,r),e=e.sibling}var oe=null,Re=!1;function vt(e,t,r){for(r=r.child;r!==null;)ff(e,t,r),r=r.sibling}function ff(e,t,r){if(Je&&typeof Je.onCommitFiberUnmount=="function")try{Je.onCommitFiberUnmount(Go,r)}catch{}switch(r.tag){case 5:de||Er(r,t);case 6:var n=oe,o=Re;oe=null,vt(e,t,r),oe=n,Re=o,oe!==null&&(Re?(e=oe,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):oe.removeChild(r.stateNode));break;case 18:oe!==null&&(Re?(e=oe,r=r.stateNode,e.nodeType===8?Wl(e.parentNode,r):e.nodeType===1&&Wl(e,r),En(e)):Wl(oe,r.stateNode));break;case 4:n=oe,o=Re,oe=r.stateNode.containerInfo,Re=!0,vt(e,t,r),oe=n,Re=o;break;case 0:case 11:case 14:case 15:if(!de&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){o=n=n.next;do{var l=o,i=l.destroy;l=l.tag,i!==void 0&&((l&2)!==0||(l&4)!==0)&&ji(r,t,i),o=o.next}while(o!==n)}vt(e,t,r);break;case 1:if(!de&&(Er(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(u){X(r,t,u)}vt(e,t,r);break;case 21:vt(e,t,r);break;case 22:r.mode&1?(de=(n=de)||r.memoizedState!==null,vt(e,t,r),de=n):vt(e,t,r);break;default:vt(e,t,r)}}function Ea(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Hm),t.forEach(function(n){var o=Km.bind(null,e,n);r.has(n)||(r.add(n),n.then(o,o))})}}function qe(e,t){var r=t.deletions;if(r!==null)for(var n=0;no&&(o=i),n&=~l}if(n=o,n=b()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Rm(n/1960))-n,10e?16:e,Tt===null)var n=!1;else{if(e=Tt,Tt=null,Ro=0,(D&6)!==0)throw Error(E(331));var o=D;for(D|=4,k=e.current;k!==null;){var l=k,i=l.child;if((k.flags&16)!==0){var u=l.deletions;if(u!==null){for(var s=0;sb()-xu?Kt(e,0):Nu|=r),_e(e,t)}function Ef(e,t){t===0&&((e.mode&1)===0?t=1:(t=Kn,Kn<<=1,(Kn&130023424)===0&&(Kn=4194304)));var r=he();e=ct(e,t),e!==null&&(An(e,t,r),_e(e,r))}function $m(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),Ef(e,r)}function Km(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(E(314))}n!==null&&n.delete(t),Ef(e,r)}var Sf;Sf=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Se.current)Ee=!0;else{if((e.lanes&r)===0&&(t.flags&128)===0)return Ee=!1,Fm(e,t,r);Ee=(e.flags&131072)!==0}else Ee=!1,q&&(t.flags&1048576)!==0&&Tc(t,Po,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;vo(e,t),e=t.pendingProps;var o=Lr(t,pe.current);kr(t,r),o=Su(null,t,n,e,o,r);var l=wu();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,we(n)?(l=!0,Ao(t)):l=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,gu(t),o.updater=Zo,t.stateNode=o,o._reactInternals=t,Ai(t,n,e,r),t=Ii(null,t,n,!0,l,r)):(t.tag=0,q&&l&&su(t),ge(null,t,o,r),t=t.child),t;case 16:n=t.elementType;e:{switch(vo(e,t),e=t.pendingProps,o=n._init,n=o(n._payload),t.type=n,o=t.tag=Ym(n),e=Ve(n,e),o){case 0:t=Pi(null,t,n,e,r);break e;case 1:t=ma(null,t,n,e,r);break e;case 11:t=da(null,t,n,e,r);break e;case 14:t=pa(null,t,n,Ve(n.type,e),r);break e}throw Error(E(306,n,""))}return t;case 0:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Ve(n,o),Pi(e,t,n,o,r);case 1:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Ve(n,o),ma(e,t,n,o,r);case 3:e:{if(rf(t),e===null)throw Error(E(387));n=t.pendingProps,l=t.memoizedState,o=l.element,Mc(e,t),Fo(t,n,null,r);var i=t.memoizedState;if(n=i.element,l.isDehydrated)if(l={element:n,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){o=Dr(Error(E(423)),t),t=ga(e,t,n,r,o);break e}else if(n!==o){o=Dr(Error(E(424)),t),t=ga(e,t,n,r,o);break e}else for(ke=xt(t.stateNode.containerInfo.firstChild),Ne=t,q=!0,Be=null,r=xc(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Mr(),n===o){t=ft(e,t,r);break e}ge(e,t,n,r)}t=t.child}return t;case 5:return Oc(t),e===null&&Li(t),n=t.type,o=t.pendingProps,l=e!==null?e.memoizedProps:null,i=o.children,Ti(n,o)?i=null:l!==null&&Ti(n,l)&&(t.flags|=32),tf(e,t),ge(e,t,i,r),t.child;case 6:return e===null&&Li(t),null;case 13:return nf(e,t,r);case 4:return hu(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=Or(t,null,n,r):ge(e,t,n,r),t.child;case 11:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Ve(n,o),da(e,t,n,o,r);case 7:return ge(e,t,t.pendingProps,r),t.child;case 8:return ge(e,t,t.pendingProps.children,r),t.child;case 12:return ge(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,o=t.pendingProps,l=t.memoizedProps,i=o.value,z(Io,n._currentValue),n._currentValue=i,l!==null)if(Xe(l.value,i)){if(l.children===o.children&&!Se.current){t=ft(e,t,r);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var u=l.dependencies;if(u!==null){i=l.child;for(var s=u.firstContext;s!==null;){if(s.context===n){if(l.tag===1){s=ut(-1,r&-r),s.tag=2;var a=l.updateQueue;if(a!==null){a=a.shared;var p=a.pending;p===null?s.next=s:(s.next=p.next,p.next=s),a.pending=s}}l.lanes|=r,s=l.alternate,s!==null&&(s.lanes|=r),Mi(l.return,r,t),u.lanes|=r;break}s=s.next}}else if(l.tag===10)i=l.type===t.type?null:l.child;else if(l.tag===18){if(i=l.return,i===null)throw Error(E(341));i.lanes|=r,u=i.alternate,u!==null&&(u.lanes|=r),Mi(i,r,t),i=l.sibling}else i=l.child;if(i!==null)i.return=l;else for(i=l;i!==null;){if(i===t){i=null;break}if(l=i.sibling,l!==null){l.return=i.return,i=l;break}i=i.return}l=i}ge(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,n=t.pendingProps.children,kr(t,r),o=ze(o),n=n(o),t.flags|=1,ge(e,t,n,r),t.child;case 14:return n=t.type,o=Ve(n,t.pendingProps),o=Ve(n.type,o),pa(e,t,n,o,r);case 15:return Jc(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Ve(n,o),vo(e,t),t.tag=1,we(n)?(e=!0,Ao(t)):e=!1,kr(t,r),Qc(t,n,o),Ai(t,n,o,r),Ii(null,t,n,!0,e,r);case 19:return of(e,t,r);case 22:return ef(e,t,r)}throw Error(E(156,t.tag))};function wf(e,t){return ba(e,t)}function Qm(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ue(e,t,r,n){return new Qm(e,t,r,n)}function Au(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ym(e){if(typeof e=="function")return Au(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qi)return 11;if(e===Yi)return 14}return 2}function At(e,t){var r=e.alternate;return r===null?(r=Ue(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function So(e,t,r,n,o,l){var i=2;if(n=e,typeof e=="function")Au(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case cr:return Qt(r.children,o,l,t);case Ki:i=8,o|=8;break;case ti:return e=Ue(12,r,t,o|2),e.elementType=ti,e.lanes=l,e;case ri:return e=Ue(13,r,t,o),e.elementType=ri,e.lanes=l,e;case ni:return e=Ue(19,r,t,o),e.elementType=ni,e.lanes=l,e;case Oa:return tl(r,o,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case La:i=10;break e;case Ma:i=9;break e;case Qi:i=11;break e;case Yi:i=14;break e;case yt:i=16,n=null;break e}throw Error(E(130,e==null?e:typeof e,""))}return t=Ue(i,r,t,o),t.elementType=e,t.type=n,t.lanes=l,t}function Qt(e,t,r,n){return e=Ue(7,e,n,t),e.lanes=r,e}function tl(e,t,r,n){return e=Ue(22,e,n,t),e.elementType=Oa,e.lanes=r,e.stateNode={isHidden:!1},e}function Zl(e,t,r){return e=Ue(6,e,null,t),e.lanes=r,e}function Jl(e,t,r){return t=Ue(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Zm(e,t,r,n,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Fl(0),this.expirationTimes=Fl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fl(0),this.identifierPrefix=n,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Du(e,t,r,n,o,l,i,u,s){return e=new Zm(e,t,r,u,s),t===1?(t=1,l===!0&&(t|=8)):t=0,l=Ue(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},gu(l),e}function Jm(e,t,r){var n=3{"use strict";function Nf(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Nf)}catch(e){console.error(e)}}Nf(),xf.exports=kf()});var Of=se(Fu=>{"use strict";var Mf=Lf();Fu.createRoot=Mf.createRoot,Fu.hydrateRoot=Mf.hydrateRoot;var Kg});var zu=se((Th,og)=>{og.exports={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` -`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}});var Bf=se((Ch,lg)=>{lg.exports={Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",AElig:"\xC6",aelig:"\xE6",Agrave:"\xC0",agrave:"\xE0",amp:"&",AMP:"&",Aring:"\xC5",aring:"\xE5",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",brvbar:"\xA6",Ccedil:"\xC7",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Egrave:"\xC8",egrave:"\xE8",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",iexcl:"\xA1",Igrave:"\xCC",igrave:"\xEC",iquest:"\xBF",Iuml:"\xCF",iuml:"\xEF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",Ntilde:"\xD1",ntilde:"\xF1",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Ograve:"\xD2",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",Oslash:"\xD8",oslash:"\xF8",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",THORN:"\xDE",thorn:"\xFE",times:"\xD7",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Ugrave:"\xD9",ugrave:"\xF9",uml:"\xA8",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}});var ju=se((kh,ig)=>{ig.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}});var Wf=se((Nh,ug)=>{ug.exports={"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}});var Xf=se(Fn=>{"use strict";var sg=Fn&&Fn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fn,"__esModule",{value:!0});var Gf=sg(Wf()),ag=String.fromCodePoint||function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function cg(e){return e>=55296&&e<=57343||e>1114111?"\uFFFD":(e in Gf.default&&(e=Gf.default[e]),ag(e))}Fn.default=cg});var qu=se(rt=>{"use strict";var il=rt&&rt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rt,"__esModule",{value:!0});rt.decodeHTML=rt.decodeHTMLStrict=rt.decodeXML=void 0;var Hu=il(zu()),fg=il(Bf()),dg=il(ju()),bf=il(Xf()),pg=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;rt.decodeXML=Kf(dg.default);rt.decodeHTMLStrict=Kf(Hu.default);function Kf(e){var t=Qf(e);return function(r){return String(r).replace(pg,t)}}var $f=function(e,t){return e{"use strict";var Yf=Te&&Te.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Te,"__esModule",{value:!0});Te.escapeUTF8=Te.escape=Te.encodeNonAsciiHTML=Te.encodeHTML=Te.encodeXML=void 0;var mg=Yf(ju()),Zf=ed(mg.default),Jf=td(Zf);Te.encodeXML=od(Zf);var gg=Yf(zu()),Vu=ed(gg.default),hg=td(Vu);Te.encodeHTML=yg(Vu,hg);Te.encodeNonAsciiHTML=od(Vu);function ed(e){return Object.keys(e).sort().reduce(function(t,r){return t[e[r]]="&"+r+";",t},{})}function td(e){for(var t=[],r=[],n=0,o=Object.keys(e);n1?vg(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}function yg(e,t){return function(r){return r.replace(t,function(n){return e[n]}).replace(rd,ul)}}var nd=new RegExp(Jf.source+"|"+rd.source,"g");function Eg(e){return e.replace(nd,ul)}Te.escape=Eg;function Sg(e){return e.replace(Jf,ul)}Te.escapeUTF8=Sg;function od(e){return function(t){return t.replace(nd,function(r){return e[r]||ul(r)})}}});var id=se(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.decodeXMLStrict=M.decodeHTML5Strict=M.decodeHTML4Strict=M.decodeHTML5=M.decodeHTML4=M.decodeHTMLStrict=M.decodeHTML=M.decodeXML=M.encodeHTML5=M.encodeHTML4=M.escapeUTF8=M.escape=M.encodeNonAsciiHTML=M.encodeHTML=M.encodeXML=M.encode=M.decodeStrict=M.decode=void 0;var sl=qu(),ld=Ru();function wg(e,t){return(!t||t<=0?sl.decodeXML:sl.decodeHTML)(e)}M.decode=wg;function _g(e,t){return(!t||t<=0?sl.decodeXML:sl.decodeHTMLStrict)(e)}M.decodeStrict=_g;function Tg(e,t){return(!t||t<=0?ld.encodeXML:ld.encodeHTML)(e)}M.encode=Tg;var or=Ru();Object.defineProperty(M,"encodeXML",{enumerable:!0,get:function(){return or.encodeXML}});Object.defineProperty(M,"encodeHTML",{enumerable:!0,get:function(){return or.encodeHTML}});Object.defineProperty(M,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return or.encodeNonAsciiHTML}});Object.defineProperty(M,"escape",{enumerable:!0,get:function(){return or.escape}});Object.defineProperty(M,"escapeUTF8",{enumerable:!0,get:function(){return or.escapeUTF8}});Object.defineProperty(M,"encodeHTML4",{enumerable:!0,get:function(){return or.encodeHTML}});Object.defineProperty(M,"encodeHTML5",{enumerable:!0,get:function(){return or.encodeHTML}});var qt=qu();Object.defineProperty(M,"decodeXML",{enumerable:!0,get:function(){return qt.decodeXML}});Object.defineProperty(M,"decodeHTML",{enumerable:!0,get:function(){return qt.decodeHTML}});Object.defineProperty(M,"decodeHTMLStrict",{enumerable:!0,get:function(){return qt.decodeHTMLStrict}});Object.defineProperty(M,"decodeHTML4",{enumerable:!0,get:function(){return qt.decodeHTML}});Object.defineProperty(M,"decodeHTML5",{enumerable:!0,get:function(){return qt.decodeHTML}});Object.defineProperty(M,"decodeHTML4Strict",{enumerable:!0,get:function(){return qt.decodeHTMLStrict}});Object.defineProperty(M,"decodeHTML5Strict",{enumerable:!0,get:function(){return qt.decodeHTMLStrict}});Object.defineProperty(M,"decodeXMLStrict",{enumerable:!0,get:function(){return qt.decodeXML}})});var vd=se((Ah,hd)=>{"use strict";function Cg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ud(e,t){for(var r=0;r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(a){throw a},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. -In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var l=!0,i=!1,u;return{s:function(){r=r.call(e)},n:function(){var a=r.next();return l=a.done,a},e:function(a){i=!0,u=a},f:function(){try{!l&&r.return!=null&&r.return()}finally{if(i)throw u}}}}function Ng(e,t){if(e){if(typeof e=="string")return sd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return sd(e,t)}}function sd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?e*40+55:0,i=t>0?t*40+55:0,u=r>0?r*40+55:0;n[o]=Og([l,i,u])}function md(e){for(var t=e.toString(16);t.length<2;)t="0"+t;return t}function Og(e){var t=[],r=pd(e),n;try{for(r.s();!(n=r.n()).done;){var o=n.value;t.push(md(o))}}catch(l){r.e(l)}finally{r.f()}return"#"+t.join("")}function cd(e,t,r,n){var o;return t==="text"?o=Ig(r,n):t==="display"?o=Dg(e,r,n):t==="xterm256Foreground"?o=fl(e,n.colors[r]):t==="xterm256Background"?o=dl(e,n.colors[r]):t==="rgb"&&(o=Ag(e,r)),o}function Ag(e,t){t=t.substring(2).slice(0,-1);var r=+t.substr(0,2),n=t.substring(5).split(";"),o=n.map(function(l){return("0"+Number(l).toString(16)).substr(-2)}).join("");return cl(e,(r===38?"color:#":"background-color:#")+o)}function Dg(e,t,r){t=parseInt(t,10);var n={"-1":function(){return"
"},0:function(){return e.length&&gd(e)},1:function(){return Vt(e,"b")},3:function(){return Vt(e,"i")},4:function(){return Vt(e,"u")},8:function(){return cl(e,"display:none")},9:function(){return Vt(e,"strike")},22:function(){return cl(e,"font-weight:normal;text-decoration:none;font-style:normal")},23:function(){return dd(e,"i")},24:function(){return dd(e,"u")},39:function(){return fl(e,r.fg)},49:function(){return dl(e,r.bg)},53:function(){return cl(e,"text-decoration:overline")}},o;return n[t]?o=n[t]():4"}).join("")}function al(e,t){for(var r=[],n=e;n<=t;n++)r.push(n);return r}function Pg(e){return function(t){return(e===null||t.category!==e)&&e!=="all"}}function fd(e){e=parseInt(e,10);var t=null;return e===0?t="all":e===1?t="bold":2")}function cl(e,t){return Vt(e,"span",t)}function fl(e,t){return Vt(e,"span","color:"+t)}function dl(e,t){return Vt(e,"span","background-color:"+t)}function dd(e,t){var r;if(e.slice(-1)[0]===t&&(r=e.pop()),r)return""}function Ug(e,t,r){var n=!1,o=3;function l(){return""}function i(T,h){return r("xterm256Foreground",h),""}function u(T,h){return r("xterm256Background",h),""}function s(T){return t.newline?r("display",-1):r("text",T),""}function a(T,h){n=!0,h.trim().length===0&&(h="0"),h=h.trimRight(";").split(";");var C=pd(h),N;try{for(C.s();!(N=C.n()).done;){var U=N.value;r("display",U)}}catch(x){C.e(x)}finally{C.f()}return""}function p(T){return r("text",T),""}function m(T){return r("rgb",T),""}var g=[{pattern:/^\x08+/,sub:l},{pattern:/^\x1b\[[012]?K/,sub:l},{pattern:/^\x1b\[\(B/,sub:l},{pattern:/^\x1b\[[34]8;2;\d+;\d+;\d+m/,sub:m},{pattern:/^\x1b\[38;5;(\d+)m/,sub:i},{pattern:/^\x1b\[48;5;(\d+)m/,sub:u},{pattern:/^\n/,sub:s},{pattern:/^\r+\n/,sub:s},{pattern:/^\r/,sub:s},{pattern:/^\x1b\[((?:\d{1,3};?)+|)m/,sub:a},{pattern:/^\x1b\[\d?J/,sub:l},{pattern:/^\x1b\[\d{0,3};\d{0,3}f/,sub:l},{pattern:/^\x1b\[?[\d;]{0,3}/,sub:l},{pattern:/^(([^\x1b\x08\r\n])+)/,sub:p}];function w(T,h){h>o&&n||(n=!1,e=e.replace(T.pattern,T.sub))}var _=[],S=e,L=S.length;e:for(;L>0;){for(var d=0,c=0,f=g.length;c{let l=["system","light","dark"],u=(l.indexOf(e)+1)%l.length;t(l[u])},n=()=>{switch(e){case"light":return ne.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ne.default.createElement("circle",{cx:"12",cy:"12",r:"5"}),ne.default.createElement("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),ne.default.createElement("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),ne.default.createElement("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),ne.default.createElement("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),ne.default.createElement("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),ne.default.createElement("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),ne.default.createElement("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),ne.default.createElement("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"}));case"dark":return ne.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ne.default.createElement("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"}));case"system":default:return ne.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ne.default.createElement("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",ry:"2"}),ne.default.createElement("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),ne.default.createElement("line",{x1:"12",y1:"17",x2:"12",y2:"21"}))}},o=()=>{switch(e){case"light":return"Theme: Light (click for Dark)";case"dark":return"Theme: Dark (click for System)";case"system":default:return"Theme: System (click for Light)"}};return ne.default.createElement("button",{className:"theme-toggle-btn",onClick:r,title:o(),"aria-label":o()},n())}var tt=V(R(),1);var zt=V(R(),1);function Df(e,t){let[r,n]=(0,zt.useState)(null),[o,l]=(0,zt.useState)(!0),[i,u]=(0,zt.useState)(null),s=(0,zt.useCallback)(async()=>{try{l(!0),u(null);let a=await fetch(`https://api.github.com/repos/${e}/${t}`);if(!a.ok)throw new Error(`GitHub API error: ${a.status}`);let p=await a.json();n(p.stargazers_count)}catch(a){console.error("Failed to fetch GitHub stars:",a),u(a instanceof Error?a:new Error("Unknown error"))}finally{l(!1)}},[e,t]);return(0,zt.useEffect)(()=>{s()},[s]),{stars:r,isLoading:o,error:i}}function Pf(e){return e<1e3?e.toString():e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function If({username:e,repo:t,className:r=""}){let{stars:n,isLoading:o,error:l}=Df(e,t),i=`https://github.com/${e}/${t}`;return l?tt.default.createElement("a",{href:i,target:"_blank",rel:"noopener noreferrer",title:"GitHub",className:"icon-link"},tt.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor"},tt.default.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"}))):tt.default.createElement("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:`github-stars-btn ${r}`,title:`Star us on GitHub${n!==null?` (${n.toLocaleString()} stars)`:""}`},tt.default.createElement("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",style:{marginRight:"6px"}},tt.default.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"})),tt.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",style:{marginRight:"4px"}},tt.default.createElement("path",{d:"M12 .587l3.668 7.431 8.2 1.192-5.934 5.787 1.4 8.166L12 18.896l-7.334 3.867 1.4-8.166-5.934-5.787 8.2-1.192z"})),tt.default.createElement("span",{className:o?"stars-loading":"stars-count"},o?"...":n!==null?Pf(n):"\u2014"))}var jt=V(R(),1);function Uf(e){let t=(0,jt.useRef)(null),r=(0,jt.useRef)(null),n=(0,jt.useRef)(null),o=(0,jt.useRef)(0),l=(0,jt.useRef)(null);(0,jt.useEffect)(()=>{if(r.current||(r.current=document.createElement("canvas"),r.current.width=32,r.current.height=32),n.current||(n.current=new Image,n.current.src="claude-mem-logomark.webp"),!l.current){let m=document.querySelector('link[rel="icon"]');m&&(l.current=m.href)}let i=r.current,u=i.getContext("2d"),s=n.current;if(!u)return;let a=m=>{let g=document.querySelector('link[rel="icon"]');g||(g=document.createElement("link"),g.rel="icon",document.head.appendChild(g)),g.href=m},p=()=>{if(!s.complete){t.current=requestAnimationFrame(p);return}o.current+=2*Math.PI/90,u.clearRect(0,0,32,32),u.save(),u.translate(16,16),u.rotate(o.current),u.drawImage(s,-16,-16,32,32),u.restore(),a(i.toDataURL("image/png")),t.current=requestAnimationFrame(p)};return e?(o.current=0,p()):(t.current&&(cancelAnimationFrame(t.current),t.current=null),l.current&&a(l.current)),()=>{t.current&&(cancelAnimationFrame(t.current),t.current=null)}},[e])}function Ff({isConnected:e,projects:t,currentFilter:r,onFilterChange:n,isProcessing:o,queueDepth:l,themePreference:i,onThemeChange:u,onContextPreviewToggle:s}){return Uf(o),I.default.createElement("div",{className:"header"},I.default.createElement("h1",null,I.default.createElement("div",{style:{position:"relative",display:"inline-block"}},I.default.createElement("img",{src:"claude-mem-logomark.webp",alt:"",className:`logomark ${o?"spinning":""}`}),l>0&&I.default.createElement("div",{className:"queue-bubble"},l)),I.default.createElement("span",{className:"logo-text"},"claude-mem")),I.default.createElement("div",{className:"status"},I.default.createElement("a",{href:"https://docs.claude-mem.ai",target:"_blank",rel:"noopener noreferrer",className:"icon-link",title:"Documentation"},I.default.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},I.default.createElement("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),I.default.createElement("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"}))),I.default.createElement("a",{href:"https://x.com/Claude_Memory",target:"_blank",rel:"noopener noreferrer",className:"icon-link",title:"Follow us on X"},I.default.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},I.default.createElement("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"}))),I.default.createElement("a",{href:"https://discord.gg/J4wttp9vDu",target:"_blank",rel:"noopener noreferrer",className:"icon-link",title:"Join our Discord community"},I.default.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},I.default.createElement("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0a12.64 12.64 0 0 0-.617-1.25a.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.078.078 0 0 0 .084-.028a14.09 14.09 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13.107 13.107 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10.2 10.2 0 0 0 .372-.292a.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127a12.299 12.299 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028a19.839 19.839 0 0 0 6.002-3.03a.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418z"}))),I.default.createElement(If,{username:"thedotmack",repo:"claude-mem"}),I.default.createElement("select",{value:r,onChange:a=>n(a.target.value)},I.default.createElement("option",{value:""},"All Projects"),t.map(a=>I.default.createElement("option",{key:a,value:a},a))),I.default.createElement(Af,{preference:i,onThemeChange:u}),I.default.createElement("button",{className:"settings-btn",onClick:s,title:"Settings"},I.default.createElement("svg",{className:"settings-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},I.default.createElement("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),I.default.createElement("circle",{cx:"12",cy:"12",r:"3"})))))}var $=V(R(),1);var A=V(R(),1);function Fr(e){return new Date(e).toLocaleString()}function zf(e){let t=["/Scripts/","/src/","/plugin/","/docs/"];for(let o of t){let l=e.indexOf(o);if(l!==-1)return e.substring(l+1)}let r=e.indexOf("claude-mem/");if(r!==-1)return e.substring(r+11);let n=e.split("/");return n.length>3?n.slice(-3).join("/"):e}function jf({observation:e}){let[t,r]=(0,A.useState)(!1),[n,o]=(0,A.useState)(!1),l=Fr(e.created_at_epoch),i=e.facts?JSON.parse(e.facts):[],u=e.concepts?JSON.parse(e.concepts):[],s=e.files_read?JSON.parse(e.files_read).map(zf):[],a=e.files_modified?JSON.parse(e.files_modified).map(zf):[],p=i.length>0||u.length>0||s.length>0||a.length>0;return A.default.createElement("div",{className:"card"},A.default.createElement("div",{className:"card-header"},A.default.createElement("div",{className:"card-header-left"},A.default.createElement("span",{className:`card-type type-${e.type}`},e.type),A.default.createElement("span",{className:"card-project"},e.project)),A.default.createElement("div",{className:"view-mode-toggles"},p&&A.default.createElement("button",{className:`view-mode-toggle ${t?"active":""}`,onClick:()=>{r(!t),t||o(!1)}},A.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},A.default.createElement("polyline",{points:"9 11 12 14 22 4"}),A.default.createElement("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})),A.default.createElement("span",null,"facts")),e.narrative&&A.default.createElement("button",{className:`view-mode-toggle ${n?"active":""}`,onClick:()=>{o(!n),n||r(!1)}},A.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},A.default.createElement("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),A.default.createElement("polyline",{points:"14 2 14 8 20 8"}),A.default.createElement("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),A.default.createElement("line",{x1:"16",y1:"17",x2:"8",y2:"17"})),A.default.createElement("span",null,"narrative")))),A.default.createElement("div",{className:"card-title"},e.title||"Untitled"),A.default.createElement("div",{className:"view-mode-content"},!t&&!n&&e.subtitle&&A.default.createElement("div",{className:"card-subtitle"},e.subtitle),t&&i.length>0&&A.default.createElement("ul",{className:"facts-list"},i.map((m,g)=>A.default.createElement("li",{key:g},m))),n&&e.narrative&&A.default.createElement("div",{className:"narrative"},e.narrative)),A.default.createElement("div",{className:"card-meta"},A.default.createElement("span",{className:"meta-date"},"#",e.id," \u2022 ",l),t&&(u.length>0||s.length>0||a.length>0)&&A.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px",alignItems:"center"}},u.map((m,g)=>A.default.createElement("span",{key:g,style:{padding:"2px 8px",background:"var(--color-type-badge-bg)",color:"var(--color-type-badge-text)",borderRadius:"3px",fontWeight:"500",fontSize:"10px"}},m)),s.length>0&&A.default.createElement("span",{className:"meta-files"},A.default.createElement("span",{className:"file-label"},"read:")," ",s.join(", ")),a.length>0&&A.default.createElement("span",{className:"meta-files"},A.default.createElement("span",{className:"file-label"},"modified:")," ",a.join(", ")))))}var ue=V(R(),1);function Hf({summary:e}){let t=Fr(e.created_at_epoch),r=[{key:"investigated",label:"Investigated",content:e.investigated,icon:"/icon-thick-investigated.svg"},{key:"learned",label:"Learned",content:e.learned,icon:"/icon-thick-learned.svg"},{key:"completed",label:"Completed",content:e.completed,icon:"/icon-thick-completed.svg"},{key:"next_steps",label:"Next Steps",content:e.next_steps,icon:"/icon-thick-next-steps.svg"}].filter(n=>n.content);return ue.default.createElement("article",{className:"card summary-card"},ue.default.createElement("header",{className:"summary-card-header"},ue.default.createElement("div",{className:"summary-badge-row"},ue.default.createElement("span",{className:"card-type summary-badge"},"Session Summary"),ue.default.createElement("span",{className:"summary-project-badge"},e.project)),e.request&&ue.default.createElement("h2",{className:"summary-title"},e.request)),ue.default.createElement("div",{className:"summary-sections"},r.map((n,o)=>ue.default.createElement("section",{key:n.key,className:"summary-section",style:{animationDelay:`${o*50}ms`}},ue.default.createElement("div",{className:"summary-section-header"},ue.default.createElement("img",{src:n.icon,alt:n.label,className:`summary-section-icon summary-section-icon--${n.key}`}),ue.default.createElement("h3",{className:"summary-section-label"},n.label)),ue.default.createElement("div",{className:"summary-section-content"},n.content)))),ue.default.createElement("footer",{className:"summary-card-footer"},ue.default.createElement("span",{className:"summary-meta-id"},"Session #",e.id),ue.default.createElement("span",{className:"summary-meta-divider"},"\u2022"),ue.default.createElement("time",{className:"summary-meta-date",dateTime:new Date(e.created_at_epoch).toISOString()},t)))}var pt=V(R(),1);function qf({prompt:e}){let t=Fr(e.created_at_epoch);return pt.default.createElement("div",{className:"card prompt-card"},pt.default.createElement("div",{className:"card-header"},pt.default.createElement("div",{className:"card-header-left"},pt.default.createElement("span",{className:"card-type"},"Prompt"),pt.default.createElement("span",{className:"card-project"},e.project))),pt.default.createElement("div",{className:"card-content"},e.prompt_text),pt.default.createElement("div",{className:"card-meta"},pt.default.createElement("span",{className:"meta-date"},"#",e.id," \u2022 ",t)))}var Ht=V(R(),1);function Vf({targetRef:e}){let[t,r]=(0,Ht.useState)(!1);(0,Ht.useEffect)(()=>{let o=()=>{let i=e.current;i&&r(i.scrollTop>300)},l=e.current;if(l)return l.addEventListener("scroll",o),()=>l.removeEventListener("scroll",o)},[]);let n=()=>{let o=e.current;o&&o.scrollTo({top:0,behavior:"smooth"})};return t?Ht.default.createElement("button",{onClick:n,className:"scroll-to-top","aria-label":"Scroll to top"},Ht.default.createElement("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},Ht.default.createElement("polyline",{points:"18 15 12 9 6 15"}))):null}var Un={PAGINATION_PAGE_SIZE:50,LOAD_MORE_THRESHOLD:.1};function Rf({observations:e,summaries:t,prompts:r,onLoadMore:n,isLoading:o,hasMore:l}){let i=(0,$.useRef)(null),u=(0,$.useRef)(null),s=(0,$.useRef)(n);(0,$.useEffect)(()=>{s.current=n},[n]),(0,$.useEffect)(()=>{let p=i.current;if(!p)return;let m=new IntersectionObserver(g=>{g[0].isIntersecting&&l&&!o&&s.current?.()},{threshold:Un.LOAD_MORE_THRESHOLD});return m.observe(p),()=>{p&&m.unobserve(p),m.disconnect()}},[l,o]);let a=(0,$.useMemo)(()=>[...e.map(m=>({...m,itemType:"observation"})),...t.map(m=>({...m,itemType:"summary"})),...r.map(m=>({...m,itemType:"prompt"}))].sort((m,g)=>g.created_at_epoch-m.created_at_epoch),[e,t,r]);return $.default.createElement("div",{className:"feed",ref:u},$.default.createElement(Vf,{targetRef:u}),$.default.createElement("div",{className:"feed-content"},a.map(p=>{let m=`${p.itemType}-${p.id}`;return p.itemType==="observation"?$.default.createElement(jf,{key:m,observation:p}):p.itemType==="summary"?$.default.createElement(Hf,{key:m,summary:p}):$.default.createElement(qf,{key:m,prompt:p})}),a.length===0&&!o&&$.default.createElement("div",{style:{textAlign:"center",padding:"40px",color:"#8b949e"}},"No items to display"),o&&$.default.createElement("div",{style:{textAlign:"center",padding:"20px",color:"#8b949e"}},$.default.createElement("div",{className:"spinner",style:{display:"inline-block",marginRight:"10px"}}),"Loading more..."),l&&!o&&a.length>0&&$.default.createElement("div",{ref:i,style:{height:"20px",margin:"10px 0"}}),!l&&a.length>0&&$.default.createElement("div",{style:{textAlign:"center",padding:"20px",color:"#8b949e",fontSize:"14px"}},"No more items to load")))}var v=V(R(),1);var ee=V(R(),1),yd=V(vd(),1),jg=new yd.default({fg:"#dcd6cc",bg:"#252320",newline:!1,escapeXML:!0,stream:!1});function Ed({content:e,isLoading:t=!1,className:r=""}){let n=(0,ee.useRef)(null),o=(0,ee.useRef)(0),[l,i]=(0,ee.useState)(!0),u=(0,ee.useMemo)(()=>(n.current&&(o.current=n.current.scrollTop),e?jg.toHtml(e):""),[e]);return(0,ee.useLayoutEffect)(()=>{n.current&&o.current>0&&(n.current.scrollTop=o.current)},[u]),ee.default.createElement("div",{className:r,style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border-primary)",borderRadius:"8px",overflow:"hidden",height:"100%",display:"flex",flexDirection:"column",boxShadow:"0 10px 40px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3)"}},ee.default.createElement("div",{style:{padding:"12px",borderBottom:"1px solid var(--color-border-primary)",display:"flex",gap:"6px",alignItems:"center",backgroundColor:"var(--color-bg-header)"}},ee.default.createElement("div",{style:{width:"12px",height:"12px",borderRadius:"50%",backgroundColor:"#ff5f57"}}),ee.default.createElement("div",{style:{width:"12px",height:"12px",borderRadius:"50%",backgroundColor:"#ffbd2e"}}),ee.default.createElement("div",{style:{width:"12px",height:"12px",borderRadius:"50%",backgroundColor:"#28c840"}}),ee.default.createElement("button",{onClick:()=>i(!l),style:{marginLeft:"auto",padding:"4px 8px",fontSize:"11px",fontWeight:500,color:l?"var(--color-text-secondary)":"var(--color-accent-primary)",backgroundColor:"transparent",border:"1px solid",borderColor:l?"var(--color-border-primary)":"var(--color-accent-primary)",borderRadius:"4px",cursor:"pointer",transition:"all 0.2s",whiteSpace:"nowrap"},onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--color-accent-primary)",a.currentTarget.style.color="var(--color-accent-primary)"},onMouseLeave:a=>{a.currentTarget.style.borderColor=l?"var(--color-border-primary)":"var(--color-accent-primary)",a.currentTarget.style.color=l?"var(--color-text-secondary)":"var(--color-accent-primary)"},title:l?"Disable word wrap (scroll horizontally)":"Enable word wrap"},l?"\u2922 Wrap":"\u21C4 Scroll")),t?ee.default.createElement("div",{style:{padding:"16px",fontFamily:"var(--font-terminal)",fontSize:"12px",color:"var(--color-text-secondary)"}},"Loading preview..."):ee.default.createElement("div",{style:{position:"relative",flex:1,overflow:"hidden"}},ee.default.createElement("pre",{ref:n,style:{padding:"16px",margin:0,fontFamily:"var(--font-terminal)",fontSize:"12px",lineHeight:"1.6",overflow:"auto",color:"var(--color-text-primary)",backgroundColor:"var(--color-bg-card)",whiteSpace:l?"pre-wrap":"pre",wordBreak:l?"break-word":"normal",position:"absolute",inset:0},dangerouslySetInnerHTML:{__html:u}})))}var be=V(R(),1);function Sd(e){let[t,r]=(0,be.useState)(""),[n,o]=(0,be.useState)(!1),[l,i]=(0,be.useState)(null),[u,s]=(0,be.useState)([]),[a,p]=(0,be.useState)(null);(0,be.useEffect)(()=>{async function g(){try{let _=await(await fetch("/api/projects")).json();_.projects&&_.projects.length>0&&(s(_.projects),p(_.projects[0]))}catch(w){console.error("Failed to fetch projects:",w)}}g()},[]);let m=(0,be.useCallback)(async()=>{if(!a){r("No project selected");return}o(!0),i(null);try{let g=new URLSearchParams({project:a}),w=await fetch(`/api/context/preview?${g}`),_=await w.text();w.ok?r(_):i("Failed to load preview")}catch(g){i(g.message)}finally{o(!1)}},[a]);return(0,be.useEffect)(()=>{let g=setTimeout(()=>{m()},300);return()=>clearTimeout(g)},[e,m]),{preview:t,isLoading:n,error:l,refresh:m,projects:u,selectedProject:a,setSelectedProject:p}}function Hg(e,t){let r;return((...n)=>{clearTimeout(r),r=setTimeout(()=>e(...n),t)})}function pl({title:e,description:t,children:r,defaultOpen:n=!0}){let[o,l]=(0,v.useState)(n);return v.default.createElement("div",{className:`settings-section-collapsible ${o?"open":""}`},v.default.createElement("button",{className:"section-header-btn",onClick:()=>l(!o),type:"button"},v.default.createElement("div",{className:"section-header-content"},v.default.createElement("span",{className:"section-title"},e),t&&v.default.createElement("span",{className:"section-description"},t)),v.default.createElement("svg",{className:`chevron-icon ${o?"rotated":""}`,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2"},v.default.createElement("polyline",{points:"6 9 12 15 18 9"}))),o&&v.default.createElement("div",{className:"section-content"},r))}function wd({label:e,options:t,selectedValues:r,onToggle:n,onSelectAll:o,onSelectNone:l}){let i=t.every(s=>r.includes(s)),u=t.every(s=>!r.includes(s));return v.default.createElement("div",{className:"chip-group"},v.default.createElement("div",{className:"chip-group-header"},v.default.createElement("span",{className:"chip-group-label"},e),v.default.createElement("div",{className:"chip-group-actions"},v.default.createElement("button",{type:"button",className:`chip-action ${i?"active":""}`,onClick:o},"All"),v.default.createElement("button",{type:"button",className:`chip-action ${u?"active":""}`,onClick:l},"None"))),v.default.createElement("div",{className:"chips-container"},t.map(s=>v.default.createElement("button",{key:s,type:"button",className:`chip ${r.includes(s)?"selected":""}`,onClick:()=>n(s)},s))))}function mt({label:e,tooltip:t,children:r}){return v.default.createElement("div",{className:"form-field"},v.default.createElement("label",{className:"form-field-label"},e,t&&v.default.createElement("span",{className:"tooltip-trigger",title:t},v.default.createElement("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2"},v.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),v.default.createElement("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}),v.default.createElement("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})))),r)}function zr({id:e,label:t,description:r,checked:n,onChange:o,disabled:l}){return v.default.createElement("div",{className:"toggle-row"},v.default.createElement("div",{className:"toggle-info"},v.default.createElement("label",{htmlFor:e,className:"toggle-label"},t),r&&v.default.createElement("span",{className:"toggle-description"},r)),v.default.createElement("button",{type:"button",id:e,role:"switch","aria-checked":n,className:`toggle-switch ${n?"on":""} ${l?"disabled":""}`,onClick:()=>!l&&o(!n),disabled:l},v.default.createElement("span",{className:"toggle-knob"})))}function _d({isOpen:e,onClose:t,settings:r,onSave:n,isSaving:o,saveStatus:l}){let[i,u]=(0,v.useState)(r),s=(0,v.useCallback)(Hg(h=>{n(h)},300),[n]);(0,v.useEffect)(()=>{u(r)},[r]);let{preview:a,isLoading:p,error:m,projects:g,selectedProject:w,setSelectedProject:_}=Sd(i),S=(0,v.useCallback)((h,C)=>{let N={...i,[h]:C};u(N),s(N)},[i,s]),L=(0,v.useCallback)(h=>{let N=i[h]==="true"?"false":"true";S(h,N)},[i,S]),d=(0,v.useCallback)((h,C)=>{let N=i[h]||"",U=N?N.split(","):[],x=U.includes(C)?U.filter(Ae=>Ae!==C):[...U,C];S(h,x.join(","))},[i,S]),c=(0,v.useCallback)(h=>{let C=i[h]||"";return C?C.split(","):[]},[i]),f=(0,v.useCallback)((h,C)=>{S(h,C.join(","))},[S]);if((0,v.useEffect)(()=>{let h=C=>{C.key==="Escape"&&t()};if(e)return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[e,t]),!e)return null;let y=["bugfix","feature","refactor","discovery","decision","change"],T=["how-it-works","why-it-exists","what-changed","problem-solution","gotcha","pattern","trade-off"];return v.default.createElement("div",{className:"modal-backdrop",onClick:t},v.default.createElement("div",{className:"context-settings-modal",onClick:h=>h.stopPropagation()},v.default.createElement("div",{className:"modal-header"},v.default.createElement("h2",null,"Settings"),v.default.createElement("div",{className:"header-controls"},v.default.createElement("label",{className:"preview-selector"},"Preview for:",v.default.createElement("select",{value:w||"",onChange:h=>_(h.target.value)},g.map(h=>v.default.createElement("option",{key:h,value:h},h)))),v.default.createElement("button",{onClick:t,className:"modal-close-btn",title:"Close (Esc)"},v.default.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2"},v.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),v.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))))),v.default.createElement("div",{className:"modal-body"},v.default.createElement("div",{className:"preview-column"},v.default.createElement("div",{className:"preview-content"},m?v.default.createElement("div",{style:{color:"#ff6b6b"}},"Error loading preview: ",m):v.default.createElement(Ed,{content:a,isLoading:p}))),v.default.createElement("div",{className:"settings-column"},v.default.createElement(pl,{title:"Loading",description:"How many observations to inject"},v.default.createElement(mt,{label:"Observations",tooltip:"Number of recent observations to include in context (1-200)"},v.default.createElement("input",{type:"number",min:"1",max:"200",value:i.CLAUDE_MEM_CONTEXT_OBSERVATIONS||"50",onChange:h=>S("CLAUDE_MEM_CONTEXT_OBSERVATIONS",h.target.value)})),v.default.createElement(mt,{label:"Sessions",tooltip:"Number of recent sessions to pull observations from (1-50)"},v.default.createElement("input",{type:"number",min:"1",max:"50",value:i.CLAUDE_MEM_CONTEXT_SESSION_COUNT||"10",onChange:h=>S("CLAUDE_MEM_CONTEXT_SESSION_COUNT",h.target.value)}))),v.default.createElement(pl,{title:"Filters",description:"Which observation types to include"},v.default.createElement(wd,{label:"Type",options:y,selectedValues:c("CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES"),onToggle:h=>d("CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES",h),onSelectAll:()=>f("CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES",y),onSelectNone:()=>f("CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES",[])}),v.default.createElement(wd,{label:"Concept",options:T,selectedValues:c("CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS"),onToggle:h=>d("CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS",h),onSelectAll:()=>f("CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS",T),onSelectNone:()=>f("CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS",[])})),v.default.createElement(pl,{title:"Display",description:"What to show in context tables"},v.default.createElement("div",{className:"display-subsection"},v.default.createElement("span",{className:"subsection-label"},"Full Observations"),v.default.createElement(mt,{label:"Count",tooltip:"How many observations show expanded details (0-20)"},v.default.createElement("input",{type:"number",min:"0",max:"20",value:i.CLAUDE_MEM_CONTEXT_FULL_COUNT||"5",onChange:h=>S("CLAUDE_MEM_CONTEXT_FULL_COUNT",h.target.value)})),v.default.createElement(mt,{label:"Field",tooltip:"Which field to expand for full observations"},v.default.createElement("select",{value:i.CLAUDE_MEM_CONTEXT_FULL_FIELD||"narrative",onChange:h=>S("CLAUDE_MEM_CONTEXT_FULL_FIELD",h.target.value)},v.default.createElement("option",{value:"narrative"},"Narrative"),v.default.createElement("option",{value:"facts"},"Facts")))),v.default.createElement("div",{className:"display-subsection"},v.default.createElement("span",{className:"subsection-label"},"Token Economics"),v.default.createElement("div",{className:"toggle-group"},v.default.createElement(zr,{id:"show-read-tokens",label:"Read cost",description:"Tokens to read this observation",checked:i.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS")}),v.default.createElement(zr,{id:"show-work-tokens",label:"Work investment",description:"Tokens spent creating this observation",checked:i.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS")}),v.default.createElement(zr,{id:"show-savings-amount",label:"Savings",description:"Total tokens saved by reusing context",checked:i.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT")})))),v.default.createElement(pl,{title:"Advanced",description:"AI provider and model selection",defaultOpen:!1},v.default.createElement(mt,{label:"AI Provider",tooltip:"Choose between Claude (via Agent SDK) or Gemini (via REST API)"},v.default.createElement("select",{value:i.CLAUDE_MEM_PROVIDER||"claude",onChange:h=>S("CLAUDE_MEM_PROVIDER",h.target.value)},v.default.createElement("option",{value:"claude"},"Claude (uses your Claude account)"),v.default.createElement("option",{value:"gemini"},"Gemini (uses API key)"))),i.CLAUDE_MEM_PROVIDER==="claude"?v.default.createElement(mt,{label:"Claude Model",tooltip:"Claude model used for generating observations"},v.default.createElement("select",{value:i.CLAUDE_MEM_MODEL||"haiku",onChange:h=>S("CLAUDE_MEM_MODEL",h.target.value)},v.default.createElement("option",{value:"haiku"},"haiku (fastest)"),v.default.createElement("option",{value:"sonnet"},"sonnet (balanced)"),v.default.createElement("option",{value:"opus"},"opus (highest quality)"))):v.default.createElement(v.default.Fragment,null,v.default.createElement(mt,{label:"Gemini API Key",tooltip:"Your Google AI Studio API key (or set GEMINI_API_KEY env var)"},v.default.createElement("input",{type:"password",value:i.CLAUDE_MEM_GEMINI_API_KEY||"",onChange:h=>S("CLAUDE_MEM_GEMINI_API_KEY",h.target.value),placeholder:"Enter Gemini API key..."})),v.default.createElement(mt,{label:"Gemini Model",tooltip:"Gemini model used for generating observations"},v.default.createElement("select",{value:i.CLAUDE_MEM_GEMINI_MODEL||"gemini-2.5-flash-lite",onChange:h=>S("CLAUDE_MEM_GEMINI_MODEL",h.target.value)},v.default.createElement("option",{value:"gemini-2.5-flash-lite"},"gemini-2.5-flash-lite (10 RPM free)"),v.default.createElement("option",{value:"gemini-2.5-flash"},"gemini-2.5-flash (5 RPM free)"),v.default.createElement("option",{value:"gemini-3-flash"},"gemini-3-flash (5 RPM free)"))),v.default.createElement("div",{className:"toggle-group",style:{marginTop:"8px"}},v.default.createElement(zr,{id:"gemini-billing-enabled",label:"Billing Enabled",description:"Enable if you have billing set up on Google Cloud. Skips rate limiting (1000+ RPM available).",checked:i.CLAUDE_MEM_GEMINI_BILLING_ENABLED==="true",onChange:h=>S("CLAUDE_MEM_GEMINI_BILLING_ENABLED",h?"true":"false")}))),v.default.createElement(mt,{label:"Worker Port",tooltip:"Port for the background worker service"},v.default.createElement("input",{type:"number",min:"1024",max:"65535",value:i.CLAUDE_MEM_WORKER_PORT||"37777",onChange:h=>S("CLAUDE_MEM_WORKER_PORT",h.target.value)})),v.default.createElement("div",{className:"toggle-group",style:{marginTop:"12px"}},v.default.createElement(zr,{id:"show-last-summary",label:"Include last summary",description:"Add previous session's summary to context",checked:i.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY")}),v.default.createElement(zr,{id:"show-last-message",label:"Include last message",description:"Add previous session's final message",checked:i.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE")})))))))}var Oe=V(R(),1);var $e={OBSERVATIONS:"/api/observations",SUMMARIES:"/api/summaries",PROMPTS:"/api/prompts",SETTINGS:"/api/settings",STATS:"/api/stats",PROCESSING_STATUS:"/api/processing-status",STREAM:"/stream"};var ml={SSE_RECONNECT_DELAY_MS:3e3,STATS_REFRESH_INTERVAL_MS:1e4,SAVE_STATUS_DISPLAY_DURATION_MS:3e3};function Td(){let[e,t]=(0,Oe.useState)([]),[r,n]=(0,Oe.useState)([]),[o,l]=(0,Oe.useState)([]),[i,u]=(0,Oe.useState)([]),[s,a]=(0,Oe.useState)(!1),[p,m]=(0,Oe.useState)(!1),[g,w]=(0,Oe.useState)(0),_=(0,Oe.useRef)(null),S=(0,Oe.useRef)();return(0,Oe.useEffect)(()=>{let L=()=>{_.current&&_.current.close();let d=new EventSource($e.STREAM);_.current=d,d.onopen=()=>{console.log("[SSE] Connected"),a(!0),S.current&&clearTimeout(S.current)},d.onerror=c=>{console.error("[SSE] Connection error:",c),a(!1),d.close(),S.current=setTimeout(()=>{S.current=void 0,console.log("[SSE] Attempting to reconnect..."),L()},ml.SSE_RECONNECT_DELAY_MS)},d.onmessage=c=>{try{let f=JSON.parse(c.data);switch(f.type){case"initial_load":console.log("[SSE] Initial load:",{projects:f.projects?.length||0}),u(f.projects||[]);break;case"new_observation":f.observation&&(console.log("[SSE] New observation:",f.observation.id),t(y=>[f.observation,...y]));break;case"new_summary":if(f.summary){let y=f.summary;console.log("[SSE] New summary:",y.id),n(T=>[y,...T])}break;case"new_prompt":if(f.prompt){let y=f.prompt;console.log("[SSE] New prompt:",y.id),l(T=>[y,...T])}break;case"processing_status":typeof f.isProcessing=="boolean"&&(console.log("[SSE] Processing status:",f.isProcessing,"Queue depth:",f.queueDepth),m(f.isProcessing),w(f.queueDepth||0));break}}catch(f){console.error("[SSE] Failed to parse message:",f)}}};return L(),()=>{_.current&&_.current.close(),S.current&&clearTimeout(S.current)}},[]),{observations:e,summaries:r,prompts:o,projects:i,isProcessing:p,queueDepth:g,isConnected:s}}var jr=V(R(),1);var Y={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_BILLING_ENABLED:"false",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:"bugfix,feature,refactor,discovery,decision,change",CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:"how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off",CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};function Cd(){let[e,t]=(0,jr.useState)(Y),[r,n]=(0,jr.useState)(!1),[o,l]=(0,jr.useState)("");return(0,jr.useEffect)(()=>{fetch($e.SETTINGS).then(u=>u.json()).then(u=>{t({CLAUDE_MEM_MODEL:u.CLAUDE_MEM_MODEL||Y.CLAUDE_MEM_MODEL,CLAUDE_MEM_CONTEXT_OBSERVATIONS:u.CLAUDE_MEM_CONTEXT_OBSERVATIONS||Y.CLAUDE_MEM_CONTEXT_OBSERVATIONS,CLAUDE_MEM_WORKER_PORT:u.CLAUDE_MEM_WORKER_PORT||Y.CLAUDE_MEM_WORKER_PORT,CLAUDE_MEM_WORKER_HOST:u.CLAUDE_MEM_WORKER_HOST||Y.CLAUDE_MEM_WORKER_HOST,CLAUDE_MEM_PROVIDER:u.CLAUDE_MEM_PROVIDER||Y.CLAUDE_MEM_PROVIDER,CLAUDE_MEM_GEMINI_API_KEY:u.CLAUDE_MEM_GEMINI_API_KEY||Y.CLAUDE_MEM_GEMINI_API_KEY,CLAUDE_MEM_GEMINI_MODEL:u.CLAUDE_MEM_GEMINI_MODEL||Y.CLAUDE_MEM_GEMINI_MODEL,CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:u.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS||Y.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS,CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:u.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS||Y.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS,CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:u.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT||Y.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT,CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:u.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT||Y.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT,CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:u.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES||Y.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:u.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS||Y.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS,CLAUDE_MEM_CONTEXT_FULL_COUNT:u.CLAUDE_MEM_CONTEXT_FULL_COUNT||Y.CLAUDE_MEM_CONTEXT_FULL_COUNT,CLAUDE_MEM_CONTEXT_FULL_FIELD:u.CLAUDE_MEM_CONTEXT_FULL_FIELD||Y.CLAUDE_MEM_CONTEXT_FULL_FIELD,CLAUDE_MEM_CONTEXT_SESSION_COUNT:u.CLAUDE_MEM_CONTEXT_SESSION_COUNT||Y.CLAUDE_MEM_CONTEXT_SESSION_COUNT,CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:u.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY||Y.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY,CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:u.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE||Y.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE})}).catch(u=>{console.error("Failed to load settings:",u)})},[]),{settings:e,saveSettings:async u=>{n(!0),l("Saving...");try{let a=await(await fetch($e.SETTINGS,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)})).json();a.success?(t(u),l("\u2713 Saved"),setTimeout(()=>l(""),ml.SAVE_STATUS_DISPLAY_DURATION_MS)):l(`\u2717 Error: ${a.error}`)}catch(s){l(`\u2717 Error: ${s instanceof Error?s.message:"Unknown error"}`)}finally{n(!1)}},isSaving:r,saveStatus:o}}var Hr=V(R(),1);function kd(){let[e,t]=(0,Hr.useState)({}),r=(0,Hr.useCallback)(async()=>{try{let o=await(await fetch($e.STATS)).json();t(o)}catch(n){console.error("Failed to load stats:",n)}},[]);return(0,Hr.useEffect)(()=>{r()},[r]),{stats:e,refreshStats:r}}var Rt=V(R(),1);function Bu(e,t,r){let[n,o]=(0,Rt.useState)({isLoading:!1,hasMore:!0}),l=(0,Rt.useRef)(0),i=(0,Rt.useRef)(r),u=(0,Rt.useRef)(n),s=(0,Rt.useCallback)(async()=>{let a=i.current!==r;if(a){l.current=0,i.current=r;let p={isLoading:!1,hasMore:!0};o(p),u.current=p}if(!a&&(u.current.isLoading||!u.current.hasMore))return[];o(p=>({...p,isLoading:!0}));try{let p=new URLSearchParams({offset:l.current.toString(),limit:Un.PAGINATION_PAGE_SIZE.toString()});r&&p.append("project",r);let m=await fetch(`${e}?${p}`);if(!m.ok)throw new Error(`Failed to load ${t}: ${m.statusText}`);let g=await m.json();return o(w=>({...w,isLoading:!1,hasMore:g.hasMore})),l.current+=Un.PAGINATION_PAGE_SIZE,g.items}catch(p){return console.error(`Failed to load ${t}:`,p),o(m=>({...m,isLoading:!1})),[]}},[r,e,t]);return{...n,loadMore:s}}function Nd(e){let t=Bu($e.OBSERVATIONS,"observations",e),r=Bu($e.SUMMARIES,"summaries",e),n=Bu($e.PROMPTS,"prompts",e);return{observations:t,summaries:r,prompts:n}}var qr=V(R(),1),Md="claude-mem-theme";function qg(){return typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function xd(){try{let e=localStorage.getItem(Md);if(e==="system"||e==="light"||e==="dark")return e}catch(e){console.warn("Failed to read theme preference from localStorage:",e)}return"system"}function Ld(e){return e==="system"?qg():e}function Od(){let[e,t]=(0,qr.useState)(xd),[r,n]=(0,qr.useState)(()=>Ld(xd()));return(0,qr.useEffect)(()=>{let l=Ld(e);n(l),document.documentElement.setAttribute("data-theme",l)},[e]),(0,qr.useEffect)(()=>{if(e!=="system")return;let l=window.matchMedia("(prefers-color-scheme: dark)"),i=u=>{let s=u.matches?"dark":"light";n(s),document.documentElement.setAttribute("data-theme",s)};return l.addEventListener("change",i),()=>l.removeEventListener("change",i)},[e]),{preference:e,resolvedTheme:r,setThemePreference:l=>{try{localStorage.setItem(Md,l),t(l)}catch(i){console.warn("Failed to save theme preference to localStorage:",i),t(l)}}}}function gl(e,t){let r=new Set;return[...e,...t].filter(n=>r.has(n.id)?!1:(r.add(n.id),!0))}function Ad(){let[e,t]=(0,K.useState)(""),[r,n]=(0,K.useState)(!1),[o,l]=(0,K.useState)([]),[i,u]=(0,K.useState)([]),[s,a]=(0,K.useState)([]),{observations:p,summaries:m,prompts:g,projects:w,isProcessing:_,queueDepth:S,isConnected:L}=Td(),{settings:d,saveSettings:c,isSaving:f,saveStatus:y}=Cd(),{stats:T,refreshStats:h}=kd(),{preference:C,resolvedTheme:N,setThemePreference:U}=Od(),x=Nd(e),Ae=(0,K.useMemo)(()=>e?o:gl(p,o),[p,o,e]),vl=(0,K.useMemo)(()=>e?i:gl(m,i),[m,i,e]),Id=(0,K.useMemo)(()=>e?s:gl(g,s),[g,s,e]),Gu=(0,K.useCallback)(()=>{n(lr=>!lr)},[]),Xu=(0,K.useCallback)(async()=>{try{let[lr,bu,$u]=await Promise.all([x.observations.loadMore(),x.summaries.loadMore(),x.prompts.loadMore()]);lr.length>0&&l(Vr=>[...Vr,...lr]),bu.length>0&&u(Vr=>[...Vr,...bu]),$u.length>0&&a(Vr=>[...Vr,...$u])}catch(lr){console.error("Failed to load more data:",lr)}},[e,x.observations,x.summaries,x.prompts]);return(0,K.useEffect)(()=>{l([]),u([]),a([]),Xu()},[e]),K.default.createElement(K.default.Fragment,null,K.default.createElement(Ff,{isConnected:L,projects:w,currentFilter:e,onFilterChange:t,isProcessing:_,queueDepth:S,themePreference:C,onThemeChange:U,onContextPreviewToggle:Gu}),K.default.createElement(Rf,{observations:Ae,summaries:vl,prompts:Id,onLoadMore:Xu,isLoading:x.observations.isLoading||x.summaries.isLoading||x.prompts.isLoading,hasMore:x.observations.hasMore||x.summaries.hasMore||x.prompts.hasMore}),K.default.createElement(_d,{isOpen:r,onClose:Gu,settings:d,onSave:c,isSaving:f,saveStatus:y}))}var gt=V(R(),1),hl=class extends gt.Component{constructor(t){super(t),this.state={hasError:!1,error:null,errorInfo:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("[ErrorBoundary] Caught error:",t,r),this.setState({error:t,errorInfo:r})}render(){return this.state.hasError?gt.default.createElement("div",{style:{padding:"20px",color:"#ff6b6b",backgroundColor:"#1a1a1a",minHeight:"100vh"}},gt.default.createElement("h1",{style:{fontSize:"24px",marginBottom:"10px"}},"Something went wrong"),gt.default.createElement("p",{style:{marginBottom:"10px",color:"#8b949e"}},"The application encountered an error. Please refresh the page to try again."),this.state.error&>.default.createElement("details",{style:{marginTop:"20px",color:"#8b949e"}},gt.default.createElement("summary",{style:{cursor:"pointer",marginBottom:"10px"}},"Error details"),gt.default.createElement("pre",{style:{backgroundColor:"#0d1117",padding:"10px",borderRadius:"6px",overflow:"auto"}},this.state.error.toString(),this.state.errorInfo&&` +`+l.stack}return{value:e,source:t,stack:o,digest:null}}function Ql(e,t,r){return{value:e,source:null,stack:r??null,digest:t??null}}function Di(e,t){try{console.error(t.value)}catch(r){setTimeout(function(){throw r})}}var Pm=typeof WeakMap=="function"?WeakMap:Map;function Yc(e,t,r){r=ut(-1,r),r.tag=3,r.payload={element:null};var n=t.value;return r.callback=function(){Ro||(Ro=!0,Vi=n),Di(e,t)},r}function Zc(e,t,r){r=ut(-1,r),r.tag=3;var n=e.type.getDerivedStateFromError;if(typeof n=="function"){var o=t.value;r.payload=function(){return n(o)},r.callback=function(){Di(e,t)}}var l=e.stateNode;return l!==null&&typeof l.componentDidCatch=="function"&&(r.callback=function(){Di(e,t),typeof n!="function"&&(Mt===null?Mt=new Set([this]):Mt.add(this));var i=t.stack;this.componentDidCatch(t.value,{componentStack:i!==null?i:""})}),r}function aa(e,t,r){var n=e.pingCache;if(n===null){n=e.pingCache=new Pm;var o=new Set;n.set(t,o)}else o=n.get(t),o===void 0&&(o=new Set,n.set(t,o));o.has(r)||(o.add(r),e=bm.bind(null,e,t,r),t.then(e,e))}function ca(e){do{var t;if((t=e.tag===13)&&(t=e.memoizedState,t=t!==null?t.dehydrated!==null:!0),t)return e;e=e.return}while(e!==null);return null}function fa(e,t,r,n,o){return(e.mode&1)===0?(e===t?e.flags|=65536:(e.flags|=128,r.flags|=131072,r.flags&=-52805,r.tag===1&&(r.alternate===null?r.tag=17:(t=ut(-1,1),t.tag=2,Lt(r,t,1))),r.lanes|=1),e):(e.flags|=65536,e.lanes=o,e)}var Im=dt.ReactCurrentOwner,Ee=!1;function ge(e,t,r,n){t.child=e===null?xc(t,null,r,n):Or(t,e.child,r,n)}function da(e,t,r,n,o){r=r.render;var l=t.ref;return kr(t,o),n=Su(e,t,r,n,l,o),r=wu(),e!==null&&!Ee?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ft(e,t,o)):(q&&r&&su(t),t.flags|=1,ge(e,t,n,o),t.child)}function pa(e,t,r,n,o){if(e===null){var l=r.type;return typeof l=="function"&&!Au(l)&&l.defaultProps===void 0&&r.compare===null&&r.defaultProps===void 0?(t.tag=15,t.type=l,Jc(e,t,l,n,o)):(e=So(r.type,null,n,t,t.mode,o),e.ref=t.ref,e.return=t,t.child=e)}if(l=e.child,(e.lanes&o)===0){var i=l.memoizedProps;if(r=r.compare,r=r!==null?r:wn,r(i,n)&&e.ref===t.ref)return ft(e,t,o)}return t.flags|=1,e=At(l,n),e.ref=t.ref,e.return=t,t.child=e}function Jc(e,t,r,n,o){if(e!==null){var l=e.memoizedProps;if(wn(l,n)&&e.ref===t.ref)if(Ee=!1,t.pendingProps=n=l,(e.lanes&o)!==0)(e.flags&131072)!==0&&(Ee=!0);else return t.lanes=e.lanes,ft(e,t,o)}return Pi(e,t,r,n,o)}function ef(e,t,r){var n=t.pendingProps,o=n.children,l=e!==null?e.memoizedState:null;if(n.mode==="hidden")if((t.mode&1)===0)t.memoizedState={baseLanes:0,cachePool:null,transitions:null},z(Sr,Ce),Ce|=r;else{if((r&1073741824)===0)return e=l!==null?l.baseLanes|r:r,t.lanes=t.childLanes=1073741824,t.memoizedState={baseLanes:e,cachePool:null,transitions:null},t.updateQueue=null,z(Sr,Ce),Ce|=e,null;t.memoizedState={baseLanes:0,cachePool:null,transitions:null},n=l!==null?l.baseLanes:r,z(Sr,Ce),Ce|=n}else l!==null?(n=l.baseLanes|r,t.memoizedState=null):n=r,z(Sr,Ce),Ce|=n;return ge(e,t,o,r),t.child}function tf(e,t){var r=t.ref;(e===null&&r!==null||e!==null&&e.ref!==r)&&(t.flags|=512,t.flags|=2097152)}function Pi(e,t,r,n,o){var l=we(r)?Yt:pe.current;return l=Lr(t,l),kr(t,o),r=Su(e,t,r,n,l,o),n=wu(),e!==null&&!Ee?(t.updateQueue=e.updateQueue,t.flags&=-2053,e.lanes&=~o,ft(e,t,o)):(q&&n&&su(t),t.flags|=1,ge(e,t,r,o),t.child)}function ma(e,t,r,n,o){if(we(r)){var l=!0;Ao(t)}else l=!1;if(kr(t,o),t.stateNode===null)vo(e,t),Qc(t,r,n),Ai(t,r,n,o),n=!0;else if(e===null){var i=t.stateNode,u=t.memoizedProps;i.props=u;var s=i.context,a=r.contextType;typeof a=="object"&&a!==null?a=ze(a):(a=we(r)?Yt:pe.current,a=Lr(t,a));var p=r.getDerivedStateFromProps,m=typeof p=="function"||typeof i.getSnapshotBeforeUpdate=="function";m||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==n||s!==a)&&sa(t,i,n,a),Et=!1;var g=t.memoizedState;i.state=g,Fo(t,n,i,o),s=t.memoizedState,u!==n||g!==s||Se.current||Et?(typeof p=="function"&&(Oi(t,r,p,n),s=t.memoizedState),(u=Et||ua(t,r,u,n,g,s,a))?(m||typeof i.UNSAFE_componentWillMount!="function"&&typeof i.componentWillMount!="function"||(typeof i.componentWillMount=="function"&&i.componentWillMount(),typeof i.UNSAFE_componentWillMount=="function"&&i.UNSAFE_componentWillMount()),typeof i.componentDidMount=="function"&&(t.flags|=4194308)):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),t.memoizedProps=n,t.memoizedState=s),i.props=n,i.state=s,i.context=a,n=u):(typeof i.componentDidMount=="function"&&(t.flags|=4194308),n=!1)}else{i=t.stateNode,Mc(e,t),u=t.memoizedProps,a=t.type===t.elementType?u:Re(t.type,u),i.props=a,m=t.pendingProps,g=i.context,s=r.contextType,typeof s=="object"&&s!==null?s=ze(s):(s=we(r)?Yt:pe.current,s=Lr(t,s));var w=r.getDerivedStateFromProps;(p=typeof w=="function"||typeof i.getSnapshotBeforeUpdate=="function")||typeof i.UNSAFE_componentWillReceiveProps!="function"&&typeof i.componentWillReceiveProps!="function"||(u!==m||g!==s)&&sa(t,i,n,s),Et=!1,g=t.memoizedState,i.state=g,Fo(t,n,i,o);var _=t.memoizedState;u!==m||g!==_||Se.current||Et?(typeof w=="function"&&(Oi(t,r,w,n),_=t.memoizedState),(a=Et||ua(t,r,a,n,g,_,s)||!1)?(p||typeof i.UNSAFE_componentWillUpdate!="function"&&typeof i.componentWillUpdate!="function"||(typeof i.componentWillUpdate=="function"&&i.componentWillUpdate(n,_,s),typeof i.UNSAFE_componentWillUpdate=="function"&&i.UNSAFE_componentWillUpdate(n,_,s)),typeof i.componentDidUpdate=="function"&&(t.flags|=4),typeof i.getSnapshotBeforeUpdate=="function"&&(t.flags|=1024)):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),t.memoizedProps=n,t.memoizedState=_),i.props=n,i.state=_,i.context=s,n=a):(typeof i.componentDidUpdate!="function"||u===e.memoizedProps&&g===e.memoizedState||(t.flags|=4),typeof i.getSnapshotBeforeUpdate!="function"||u===e.memoizedProps&&g===e.memoizedState||(t.flags|=1024),n=!1)}return Ii(e,t,r,n,l,o)}function Ii(e,t,r,n,o,l){tf(e,t);var i=(t.flags&128)!==0;if(!n&&!i)return o&&Js(t,r,!1),ft(e,t,l);n=t.stateNode,Im.current=t;var u=i&&typeof r.getDerivedStateFromError!="function"?null:n.render();return t.flags|=1,e!==null&&i?(t.child=Or(t,e.child,null,l),t.child=Or(t,null,u,l)):ge(e,t,u,l),t.memoizedState=n.state,o&&Js(t,r,!0),t.child}function rf(e){var t=e.stateNode;t.pendingContext?Zs(e,t.pendingContext,t.pendingContext!==t.context):t.context&&Zs(e,t.context,!1),hu(e,t.containerInfo)}function ga(e,t,r,n,o){return Mr(),cu(o),t.flags|=256,ge(e,t,r,n),t.child}var Ui={dehydrated:null,treeContext:null,retryLane:0};function Fi(e){return{baseLanes:e,cachePool:null,transitions:null}}function nf(e,t,r){var n=t.pendingProps,o=B.current,l=!1,i=(t.flags&128)!==0,u;if((u=i)||(u=e!==null&&e.memoizedState===null?!1:(o&2)!==0),u?(l=!0,t.flags&=-129):(e===null||e.memoizedState!==null)&&(o|=1),z(B,o&1),e===null)return Li(t),e=t.memoizedState,e!==null&&(e=e.dehydrated,e!==null)?((t.mode&1)===0?t.lanes=1:e.data==="$!"?t.lanes=8:t.lanes=1073741824,null):(i=n.children,e=n.fallback,l?(n=t.mode,l=t.child,i={mode:"hidden",children:i},(n&1)===0&&l!==null?(l.childLanes=0,l.pendingProps=i):l=tl(i,n,0,null),e=Qt(e,n,r,null),l.return=t,e.return=t,l.sibling=e,t.child=l,t.child.memoizedState=Fi(r),t.memoizedState=Ui,e):Cu(t,i));if(o=e.memoizedState,o!==null&&(u=o.dehydrated,u!==null))return Um(e,t,i,n,u,o,r);if(l){l=n.fallback,i=t.mode,o=e.child,u=o.sibling;var s={mode:"hidden",children:n.children};return(i&1)===0&&t.child!==o?(n=t.child,n.childLanes=0,n.pendingProps=s,t.deletions=null):(n=At(o,s),n.subtreeFlags=o.subtreeFlags&14680064),u!==null?l=At(u,l):(l=Qt(l,i,r,null),l.flags|=2),l.return=t,n.return=t,n.sibling=l,t.child=n,n=l,l=t.child,i=e.child.memoizedState,i=i===null?Fi(r):{baseLanes:i.baseLanes|r,cachePool:null,transitions:i.transitions},l.memoizedState=i,l.childLanes=e.childLanes&~r,t.memoizedState=Ui,n}return l=e.child,e=l.sibling,n=At(l,{mode:"visible",children:n.children}),(t.mode&1)===0&&(n.lanes=r),n.return=t,n.sibling=null,e!==null&&(r=t.deletions,r===null?(t.deletions=[e],t.flags|=16):r.push(e)),t.child=n,t.memoizedState=null,n}function Cu(e,t){return t=tl({mode:"visible",children:t},e.mode,0,null),t.return=e,e.child=t}function uo(e,t,r,n){return n!==null&&cu(n),Or(t,e.child,null,r),e=Cu(t,t.pendingProps.children),e.flags|=2,t.memoizedState=null,e}function Um(e,t,r,n,o,l,i){if(r)return t.flags&256?(t.flags&=-257,n=Ql(Error(E(422))),uo(e,t,i,n)):t.memoizedState!==null?(t.child=e.child,t.flags|=128,null):(l=n.fallback,o=t.mode,n=tl({mode:"visible",children:n.children},o,0,null),l=Qt(l,o,i,null),l.flags|=2,n.return=t,l.return=t,n.sibling=l,t.child=n,(t.mode&1)!==0&&Or(t,e.child,null,i),t.child.memoizedState=Fi(i),t.memoizedState=Ui,l);if((t.mode&1)===0)return uo(e,t,i,null);if(o.data==="$!"){if(n=o.nextSibling&&o.nextSibling.dataset,n)var u=n.dgst;return n=u,l=Error(E(419)),n=Ql(l,n,void 0),uo(e,t,i,n)}if(u=(i&e.childLanes)!==0,Ee||u){if(n=re,n!==null){switch(i&-i){case 4:o=2;break;case 16:o=8;break;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:o=32;break;case 536870912:o=268435456;break;default:o=0}o=(o&(n.suspendedLanes|i))!==0?0:o,o!==0&&o!==l.retryLane&&(l.retryLane=o,ct(e,o),Ge(n,e,o,-1))}return Ou(),n=Ql(Error(E(421))),uo(e,t,i,n)}return o.data==="$?"?(t.flags|=128,t.child=e.child,t=$m.bind(null,e),o._reactRetry=t,null):(e=l.treeContext,ke=xt(o.nextSibling),Ne=t,q=!0,Be=null,e!==null&&(Pe[Ie++]=lt,Pe[Ie++]=it,Pe[Ie++]=Zt,lt=e.id,it=e.overflow,Zt=t),t=Cu(t,n.children),t.flags|=4096,t)}function ha(e,t,r){e.lanes|=t;var n=e.alternate;n!==null&&(n.lanes|=t),Mi(e.return,t,r)}function Yl(e,t,r,n,o){var l=e.memoizedState;l===null?e.memoizedState={isBackwards:t,rendering:null,renderingStartTime:0,last:n,tail:r,tailMode:o}:(l.isBackwards=t,l.rendering=null,l.renderingStartTime=0,l.last=n,l.tail=r,l.tailMode=o)}function of(e,t,r){var n=t.pendingProps,o=n.revealOrder,l=n.tail;if(ge(e,t,n.children,r),n=B.current,(n&2)!==0)n=n&1|2,t.flags|=128;else{if(e!==null&&(e.flags&128)!==0)e:for(e=t.child;e!==null;){if(e.tag===13)e.memoizedState!==null&&ha(e,r,t);else if(e.tag===19)ha(e,r,t);else if(e.child!==null){e.child.return=e,e=e.child;continue}if(e===t)break e;for(;e.sibling===null;){if(e.return===null||e.return===t)break e;e=e.return}e.sibling.return=e.return,e=e.sibling}n&=1}if(z(B,n),(t.mode&1)===0)t.memoizedState=null;else switch(o){case"forwards":for(r=t.child,o=null;r!==null;)e=r.alternate,e!==null&&zo(e)===null&&(o=r),r=r.sibling;r=o,r===null?(o=t.child,t.child=null):(o=r.sibling,r.sibling=null),Yl(t,!1,o,r,l);break;case"backwards":for(r=null,o=t.child,t.child=null;o!==null;){if(e=o.alternate,e!==null&&zo(e)===null){t.child=o;break}e=o.sibling,o.sibling=r,r=o,o=e}Yl(t,!0,r,null,l);break;case"together":Yl(t,!1,null,null,void 0);break;default:t.memoizedState=null}return t.child}function vo(e,t){(t.mode&1)===0&&e!==null&&(e.alternate=null,t.alternate=null,t.flags|=2)}function ft(e,t,r){if(e!==null&&(t.dependencies=e.dependencies),er|=t.lanes,(r&t.childLanes)===0)return null;if(e!==null&&t.child!==e.child)throw Error(E(153));if(t.child!==null){for(e=t.child,r=At(e,e.pendingProps),t.child=r,r.return=t;e.sibling!==null;)e=e.sibling,r=r.sibling=At(e,e.pendingProps),r.return=t;r.sibling=null}return t.child}function Fm(e,t,r){switch(t.tag){case 3:rf(t),Mr();break;case 5:Oc(t);break;case 1:we(t.type)&&Ao(t);break;case 4:hu(t,t.stateNode.containerInfo);break;case 10:var n=t.type._context,o=t.memoizedProps.value;z(Io,n._currentValue),n._currentValue=o;break;case 13:if(n=t.memoizedState,n!==null)return n.dehydrated!==null?(z(B,B.current&1),t.flags|=128,null):(r&t.child.childLanes)!==0?nf(e,t,r):(z(B,B.current&1),e=ft(e,t,r),e!==null?e.sibling:null);z(B,B.current&1);break;case 19:if(n=(r&t.childLanes)!==0,(e.flags&128)!==0){if(n)return of(e,t,r);t.flags|=128}if(o=t.memoizedState,o!==null&&(o.rendering=null,o.tail=null,o.lastEffect=null),z(B,B.current),n)break;return null;case 22:case 23:return t.lanes=0,ef(e,t,r)}return ft(e,t,r)}var lf,zi,uf,sf;lf=function(e,t){for(var r=t.child;r!==null;){if(r.tag===5||r.tag===6)e.appendChild(r.stateNode);else if(r.tag!==4&&r.child!==null){r.child.return=r,r=r.child;continue}if(r===t)break;for(;r.sibling===null;){if(r.return===null||r.return===t)return;r=r.return}r.sibling.return=r.return,r=r.sibling}};zi=function(){};uf=function(e,t,r,n){var o=e.memoizedProps;if(o!==n){e=t.stateNode,$t(et.current);var l=null;switch(r){case"input":o=li(e,o),n=li(e,n),l=[];break;case"select":o=G({},o,{value:void 0}),n=G({},n,{value:void 0}),l=[];break;case"textarea":o=si(e,o),n=si(e,n),l=[];break;default:typeof o.onClick!="function"&&typeof n.onClick=="function"&&(e.onclick=Mo)}ci(r,n);var i;r=null;for(a in o)if(!n.hasOwnProperty(a)&&o.hasOwnProperty(a)&&o[a]!=null)if(a==="style"){var u=o[a];for(i in u)u.hasOwnProperty(i)&&(r||(r={}),r[i]="")}else a!=="dangerouslySetInnerHTML"&&a!=="children"&&a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&a!=="autoFocus"&&(mn.hasOwnProperty(a)?l||(l=[]):(l=l||[]).push(a,null));for(a in n){var s=n[a];if(u=o?.[a],n.hasOwnProperty(a)&&s!==u&&(s!=null||u!=null))if(a==="style")if(u){for(i in u)!u.hasOwnProperty(i)||s&&s.hasOwnProperty(i)||(r||(r={}),r[i]="");for(i in s)s.hasOwnProperty(i)&&u[i]!==s[i]&&(r||(r={}),r[i]=s[i])}else r||(l||(l=[]),l.push(a,r)),r=s;else a==="dangerouslySetInnerHTML"?(s=s?s.__html:void 0,u=u?u.__html:void 0,s!=null&&u!==s&&(l=l||[]).push(a,s)):a==="children"?typeof s!="string"&&typeof s!="number"||(l=l||[]).push(a,""+s):a!=="suppressContentEditableWarning"&&a!=="suppressHydrationWarning"&&(mn.hasOwnProperty(a)?(s!=null&&a==="onScroll"&&j("scroll",e),l||u===s||(l=[])):(l=l||[]).push(a,s))}r&&(l=l||[]).push("style",r);var a=l;(t.updateQueue=a)&&(t.flags|=4)}};sf=function(e,t,r,n){r!==n&&(t.flags|=4)};function Yr(e,t){if(!q)switch(e.tailMode){case"hidden":t=e.tail;for(var r=null;t!==null;)t.alternate!==null&&(r=t),t=t.sibling;r===null?e.tail=null:r.sibling=null;break;case"collapsed":r=e.tail;for(var n=null;r!==null;)r.alternate!==null&&(n=r),r=r.sibling;n===null?t||e.tail===null?e.tail=null:e.tail.sibling=null:n.sibling=null}}function fe(e){var t=e.alternate!==null&&e.alternate.child===e.child,r=0,n=0;if(t)for(var o=e.child;o!==null;)r|=o.lanes|o.childLanes,n|=o.subtreeFlags&14680064,n|=o.flags&14680064,o.return=e,o=o.sibling;else for(o=e.child;o!==null;)r|=o.lanes|o.childLanes,n|=o.subtreeFlags,n|=o.flags,o.return=e,o=o.sibling;return e.subtreeFlags|=n,e.childLanes=r,t}function zm(e,t,r){var n=t.pendingProps;switch(au(t),t.tag){case 2:case 16:case 15:case 0:case 11:case 7:case 8:case 12:case 9:case 14:return fe(t),null;case 1:return we(t.type)&&Oo(),fe(t),null;case 3:return n=t.stateNode,Ar(),H(Se),H(pe),yu(),n.pendingContext&&(n.context=n.pendingContext,n.pendingContext=null),(e===null||e.child===null)&&(lo(t)?t.flags|=4:e===null||e.memoizedState.isDehydrated&&(t.flags&256)===0||(t.flags|=1024,Be!==null&&(Gi(Be),Be=null))),zi(e,t),fe(t),null;case 5:vu(t);var o=$t(Nn.current);if(r=t.type,e!==null&&t.stateNode!=null)uf(e,t,r,n,o),e.ref!==t.ref&&(t.flags|=512,t.flags|=2097152);else{if(!n){if(t.stateNode===null)throw Error(E(166));return fe(t),null}if(e=$t(et.current),lo(t)){n=t.stateNode,r=t.type;var l=t.memoizedProps;switch(n[Ze]=t,n[Cn]=l,e=(t.mode&1)!==0,r){case"dialog":j("cancel",n),j("close",n);break;case"iframe":case"object":case"embed":j("load",n);break;case"video":case"audio":for(o=0;o<\/script>",e=e.removeChild(e.firstChild)):typeof n.is=="string"?e=i.createElement(r,{is:n.is}):(e=i.createElement(r),r==="select"&&(i=e,n.multiple?i.multiple=!0:n.size&&(i.size=n.size))):e=i.createElementNS(e,r),e[Ze]=t,e[Cn]=n,lf(e,t,!1,!1),t.stateNode=e;e:{switch(i=fi(r,n),r){case"dialog":j("cancel",e),j("close",e),o=n;break;case"iframe":case"object":case"embed":j("load",e),o=n;break;case"video":case"audio":for(o=0;oPr&&(t.flags|=128,n=!0,Yr(l,!1),t.lanes=4194304)}else{if(!n)if(e=zo(i),e!==null){if(t.flags|=128,n=!0,r=e.updateQueue,r!==null&&(t.updateQueue=r,t.flags|=4),Yr(l,!0),l.tail===null&&l.tailMode==="hidden"&&!i.alternate&&!q)return fe(t),null}else 2*b()-l.renderingStartTime>Pr&&r!==1073741824&&(t.flags|=128,n=!0,Yr(l,!1),t.lanes=4194304);l.isBackwards?(i.sibling=t.child,t.child=i):(r=l.last,r!==null?r.sibling=i:t.child=i,l.last=i)}return l.tail!==null?(t=l.tail,l.rendering=t,l.tail=t.sibling,l.renderingStartTime=b(),t.sibling=null,r=B.current,z(B,n?r&1|2:r&1),t):(fe(t),null);case 22:case 23:return Mu(),n=t.memoizedState!==null,e!==null&&e.memoizedState!==null!==n&&(t.flags|=8192),n&&(t.mode&1)!==0?(Ce&1073741824)!==0&&(fe(t),t.subtreeFlags&6&&(t.flags|=8192)):fe(t),null;case 24:return null;case 25:return null}throw Error(E(156,t.tag))}function jm(e,t){switch(au(t),t.tag){case 1:return we(t.type)&&Oo(),e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 3:return Ar(),H(Se),H(pe),yu(),e=t.flags,(e&65536)!==0&&(e&128)===0?(t.flags=e&-65537|128,t):null;case 5:return vu(t),null;case 13:if(H(B),e=t.memoizedState,e!==null&&e.dehydrated!==null){if(t.alternate===null)throw Error(E(340));Mr()}return e=t.flags,e&65536?(t.flags=e&-65537|128,t):null;case 19:return H(B),null;case 4:return Ar(),null;case 10:return pu(t.type._context),null;case 22:case 23:return Mu(),null;case 24:return null;default:return null}}var so=!1,de=!1,Hm=typeof WeakSet=="function"?WeakSet:Set,k=null;function Er(e,t){var r=e.ref;if(r!==null)if(typeof r=="function")try{r(null)}catch(n){X(e,t,n)}else r.current=null}function ji(e,t,r){try{r()}catch(n){X(e,t,n)}}var va=!1;function qm(e,t){if(wi=No,e=dc(),uu(e)){if("selectionStart"in e)var r={start:e.selectionStart,end:e.selectionEnd};else e:{r=(r=e.ownerDocument)&&r.defaultView||window;var n=r.getSelection&&r.getSelection();if(n&&n.rangeCount!==0){r=n.anchorNode;var o=n.anchorOffset,l=n.focusNode;n=n.focusOffset;try{r.nodeType,l.nodeType}catch{r=null;break e}var i=0,u=-1,s=-1,a=0,p=0,m=e,g=null;t:for(;;){for(var w;m!==r||o!==0&&m.nodeType!==3||(u=i+o),m!==l||n!==0&&m.nodeType!==3||(s=i+n),m.nodeType===3&&(i+=m.nodeValue.length),(w=m.firstChild)!==null;)g=m,m=w;for(;;){if(m===e)break t;if(g===r&&++a===o&&(u=i),g===l&&++p===n&&(s=i),(w=m.nextSibling)!==null)break;m=g,g=m.parentNode}m=w}r=u===-1||s===-1?null:{start:u,end:s}}else r=null}r=r||{start:0,end:0}}else r=null;for(_i={focusedElem:e,selectionRange:r},No=!1,k=t;k!==null;)if(t=k,e=t.child,(t.subtreeFlags&1028)!==0&&e!==null)e.return=t,k=e;else for(;k!==null;){t=k;try{var _=t.alternate;if((t.flags&1024)!==0)switch(t.tag){case 0:case 11:case 15:break;case 1:if(_!==null){var S=_.memoizedProps,L=_.memoizedState,d=t.stateNode,c=d.getSnapshotBeforeUpdate(t.elementType===t.type?S:Re(t.type,S),L);d.__reactInternalSnapshotBeforeUpdate=c}break;case 3:var f=t.stateNode.containerInfo;f.nodeType===1?f.textContent="":f.nodeType===9&&f.documentElement&&f.removeChild(f.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(E(163))}}catch(y){X(t,t.return,y)}if(e=t.sibling,e!==null){e.return=t.return,k=e;break}k=t.return}return _=va,va=!1,_}function fn(e,t,r){var n=t.updateQueue;if(n=n!==null?n.lastEffect:null,n!==null){var o=n=n.next;do{if((o.tag&e)===e){var l=o.destroy;o.destroy=void 0,l!==void 0&&ji(t,r,l)}o=o.next}while(o!==n)}}function Jo(e,t){if(t=t.updateQueue,t=t!==null?t.lastEffect:null,t!==null){var r=t=t.next;do{if((r.tag&e)===e){var n=r.create;r.destroy=n()}r=r.next}while(r!==t)}}function Hi(e){var t=e.ref;if(t!==null){var r=e.stateNode;switch(e.tag){case 5:e=r;break;default:e=r}typeof t=="function"?t(e):t.current=e}}function af(e){var t=e.alternate;t!==null&&(e.alternate=null,af(t)),e.child=null,e.deletions=null,e.sibling=null,e.tag===5&&(t=e.stateNode,t!==null&&(delete t[Ze],delete t[Cn],delete t[ki],delete t[_m],delete t[Tm])),e.stateNode=null,e.return=null,e.dependencies=null,e.memoizedProps=null,e.memoizedState=null,e.pendingProps=null,e.stateNode=null,e.updateQueue=null}function cf(e){return e.tag===5||e.tag===3||e.tag===4}function ya(e){e:for(;;){for(;e.sibling===null;){if(e.return===null||cf(e.return))return null;e=e.return}for(e.sibling.return=e.return,e=e.sibling;e.tag!==5&&e.tag!==6&&e.tag!==18;){if(e.flags&2||e.child===null||e.tag===4)continue e;e.child.return=e,e=e.child}if(!(e.flags&2))return e.stateNode}}function qi(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.nodeType===8?r.parentNode.insertBefore(e,t):r.insertBefore(e,t):(r.nodeType===8?(t=r.parentNode,t.insertBefore(e,r)):(t=r,t.appendChild(e)),r=r._reactRootContainer,r!=null||t.onclick!==null||(t.onclick=Mo));else if(n!==4&&(e=e.child,e!==null))for(qi(e,t,r),e=e.sibling;e!==null;)qi(e,t,r),e=e.sibling}function Ri(e,t,r){var n=e.tag;if(n===5||n===6)e=e.stateNode,t?r.insertBefore(e,t):r.appendChild(e);else if(n!==4&&(e=e.child,e!==null))for(Ri(e,t,r),e=e.sibling;e!==null;)Ri(e,t,r),e=e.sibling}var oe=null,Ve=!1;function vt(e,t,r){for(r=r.child;r!==null;)ff(e,t,r),r=r.sibling}function ff(e,t,r){if(Je&&typeof Je.onCommitFiberUnmount=="function")try{Je.onCommitFiberUnmount(Go,r)}catch{}switch(r.tag){case 5:de||Er(r,t);case 6:var n=oe,o=Ve;oe=null,vt(e,t,r),oe=n,Ve=o,oe!==null&&(Ve?(e=oe,r=r.stateNode,e.nodeType===8?e.parentNode.removeChild(r):e.removeChild(r)):oe.removeChild(r.stateNode));break;case 18:oe!==null&&(Ve?(e=oe,r=r.stateNode,e.nodeType===8?Wl(e.parentNode,r):e.nodeType===1&&Wl(e,r),En(e)):Wl(oe,r.stateNode));break;case 4:n=oe,o=Ve,oe=r.stateNode.containerInfo,Ve=!0,vt(e,t,r),oe=n,Ve=o;break;case 0:case 11:case 14:case 15:if(!de&&(n=r.updateQueue,n!==null&&(n=n.lastEffect,n!==null))){o=n=n.next;do{var l=o,i=l.destroy;l=l.tag,i!==void 0&&((l&2)!==0||(l&4)!==0)&&ji(r,t,i),o=o.next}while(o!==n)}vt(e,t,r);break;case 1:if(!de&&(Er(r,t),n=r.stateNode,typeof n.componentWillUnmount=="function"))try{n.props=r.memoizedProps,n.state=r.memoizedState,n.componentWillUnmount()}catch(u){X(r,t,u)}vt(e,t,r);break;case 21:vt(e,t,r);break;case 22:r.mode&1?(de=(n=de)||r.memoizedState!==null,vt(e,t,r),de=n):vt(e,t,r);break;default:vt(e,t,r)}}function Ea(e){var t=e.updateQueue;if(t!==null){e.updateQueue=null;var r=e.stateNode;r===null&&(r=e.stateNode=new Hm),t.forEach(function(n){var o=Km.bind(null,e,n);r.has(n)||(r.add(n),n.then(o,o))})}}function qe(e,t){var r=t.deletions;if(r!==null)for(var n=0;no&&(o=i),n&=~l}if(n=o,n=b()-n,n=(120>n?120:480>n?480:1080>n?1080:1920>n?1920:3e3>n?3e3:4320>n?4320:1960*Vm(n/1960))-n,10e?16:e,Tt===null)var n=!1;else{if(e=Tt,Tt=null,Vo=0,(D&6)!==0)throw Error(E(331));var o=D;for(D|=4,k=e.current;k!==null;){var l=k,i=l.child;if((k.flags&16)!==0){var u=l.deletions;if(u!==null){for(var s=0;sb()-xu?Kt(e,0):Nu|=r),_e(e,t)}function Ef(e,t){t===0&&((e.mode&1)===0?t=1:(t=Kn,Kn<<=1,(Kn&130023424)===0&&(Kn=4194304)));var r=he();e=ct(e,t),e!==null&&(An(e,t,r),_e(e,r))}function $m(e){var t=e.memoizedState,r=0;t!==null&&(r=t.retryLane),Ef(e,r)}function Km(e,t){var r=0;switch(e.tag){case 13:var n=e.stateNode,o=e.memoizedState;o!==null&&(r=o.retryLane);break;case 19:n=e.stateNode;break;default:throw Error(E(314))}n!==null&&n.delete(t),Ef(e,r)}var Sf;Sf=function(e,t,r){if(e!==null)if(e.memoizedProps!==t.pendingProps||Se.current)Ee=!0;else{if((e.lanes&r)===0&&(t.flags&128)===0)return Ee=!1,Fm(e,t,r);Ee=(e.flags&131072)!==0}else Ee=!1,q&&(t.flags&1048576)!==0&&Tc(t,Po,t.index);switch(t.lanes=0,t.tag){case 2:var n=t.type;vo(e,t),e=t.pendingProps;var o=Lr(t,pe.current);kr(t,r),o=Su(null,t,n,e,o,r);var l=wu();return t.flags|=1,typeof o=="object"&&o!==null&&typeof o.render=="function"&&o.$$typeof===void 0?(t.tag=1,t.memoizedState=null,t.updateQueue=null,we(n)?(l=!0,Ao(t)):l=!1,t.memoizedState=o.state!==null&&o.state!==void 0?o.state:null,gu(t),o.updater=Zo,t.stateNode=o,o._reactInternals=t,Ai(t,n,e,r),t=Ii(null,t,n,!0,l,r)):(t.tag=0,q&&l&&su(t),ge(null,t,o,r),t=t.child),t;case 16:n=t.elementType;e:{switch(vo(e,t),e=t.pendingProps,o=n._init,n=o(n._payload),t.type=n,o=t.tag=Ym(n),e=Re(n,e),o){case 0:t=Pi(null,t,n,e,r);break e;case 1:t=ma(null,t,n,e,r);break e;case 11:t=da(null,t,n,e,r);break e;case 14:t=pa(null,t,n,Re(n.type,e),r);break e}throw Error(E(306,n,""))}return t;case 0:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Re(n,o),Pi(e,t,n,o,r);case 1:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Re(n,o),ma(e,t,n,o,r);case 3:e:{if(rf(t),e===null)throw Error(E(387));n=t.pendingProps,l=t.memoizedState,o=l.element,Mc(e,t),Fo(t,n,null,r);var i=t.memoizedState;if(n=i.element,l.isDehydrated)if(l={element:n,isDehydrated:!1,cache:i.cache,pendingSuspenseBoundaries:i.pendingSuspenseBoundaries,transitions:i.transitions},t.updateQueue.baseState=l,t.memoizedState=l,t.flags&256){o=Dr(Error(E(423)),t),t=ga(e,t,n,r,o);break e}else if(n!==o){o=Dr(Error(E(424)),t),t=ga(e,t,n,r,o);break e}else for(ke=xt(t.stateNode.containerInfo.firstChild),Ne=t,q=!0,Be=null,r=xc(t,null,n,r),t.child=r;r;)r.flags=r.flags&-3|4096,r=r.sibling;else{if(Mr(),n===o){t=ft(e,t,r);break e}ge(e,t,n,r)}t=t.child}return t;case 5:return Oc(t),e===null&&Li(t),n=t.type,o=t.pendingProps,l=e!==null?e.memoizedProps:null,i=o.children,Ti(n,o)?i=null:l!==null&&Ti(n,l)&&(t.flags|=32),tf(e,t),ge(e,t,i,r),t.child;case 6:return e===null&&Li(t),null;case 13:return nf(e,t,r);case 4:return hu(t,t.stateNode.containerInfo),n=t.pendingProps,e===null?t.child=Or(t,null,n,r):ge(e,t,n,r),t.child;case 11:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Re(n,o),da(e,t,n,o,r);case 7:return ge(e,t,t.pendingProps,r),t.child;case 8:return ge(e,t,t.pendingProps.children,r),t.child;case 12:return ge(e,t,t.pendingProps.children,r),t.child;case 10:e:{if(n=t.type._context,o=t.pendingProps,l=t.memoizedProps,i=o.value,z(Io,n._currentValue),n._currentValue=i,l!==null)if(Xe(l.value,i)){if(l.children===o.children&&!Se.current){t=ft(e,t,r);break e}}else for(l=t.child,l!==null&&(l.return=t);l!==null;){var u=l.dependencies;if(u!==null){i=l.child;for(var s=u.firstContext;s!==null;){if(s.context===n){if(l.tag===1){s=ut(-1,r&-r),s.tag=2;var a=l.updateQueue;if(a!==null){a=a.shared;var p=a.pending;p===null?s.next=s:(s.next=p.next,p.next=s),a.pending=s}}l.lanes|=r,s=l.alternate,s!==null&&(s.lanes|=r),Mi(l.return,r,t),u.lanes|=r;break}s=s.next}}else if(l.tag===10)i=l.type===t.type?null:l.child;else if(l.tag===18){if(i=l.return,i===null)throw Error(E(341));i.lanes|=r,u=i.alternate,u!==null&&(u.lanes|=r),Mi(i,r,t),i=l.sibling}else i=l.child;if(i!==null)i.return=l;else for(i=l;i!==null;){if(i===t){i=null;break}if(l=i.sibling,l!==null){l.return=i.return,i=l;break}i=i.return}l=i}ge(e,t,o.children,r),t=t.child}return t;case 9:return o=t.type,n=t.pendingProps.children,kr(t,r),o=ze(o),n=n(o),t.flags|=1,ge(e,t,n,r),t.child;case 14:return n=t.type,o=Re(n,t.pendingProps),o=Re(n.type,o),pa(e,t,n,o,r);case 15:return Jc(e,t,t.type,t.pendingProps,r);case 17:return n=t.type,o=t.pendingProps,o=t.elementType===n?o:Re(n,o),vo(e,t),t.tag=1,we(n)?(e=!0,Ao(t)):e=!1,kr(t,r),Qc(t,n,o),Ai(t,n,o,r),Ii(null,t,n,!0,e,r);case 19:return of(e,t,r);case 22:return ef(e,t,r)}throw Error(E(156,t.tag))};function wf(e,t){return ba(e,t)}function Qm(e,t,r,n){this.tag=e,this.key=r,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=t,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=n,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function Ue(e,t,r,n){return new Qm(e,t,r,n)}function Au(e){return e=e.prototype,!(!e||!e.isReactComponent)}function Ym(e){if(typeof e=="function")return Au(e)?1:0;if(e!=null){if(e=e.$$typeof,e===Qi)return 11;if(e===Yi)return 14}return 2}function At(e,t){var r=e.alternate;return r===null?(r=Ue(e.tag,t,e.key,e.mode),r.elementType=e.elementType,r.type=e.type,r.stateNode=e.stateNode,r.alternate=e,e.alternate=r):(r.pendingProps=t,r.type=e.type,r.flags=0,r.subtreeFlags=0,r.deletions=null),r.flags=e.flags&14680064,r.childLanes=e.childLanes,r.lanes=e.lanes,r.child=e.child,r.memoizedProps=e.memoizedProps,r.memoizedState=e.memoizedState,r.updateQueue=e.updateQueue,t=e.dependencies,r.dependencies=t===null?null:{lanes:t.lanes,firstContext:t.firstContext},r.sibling=e.sibling,r.index=e.index,r.ref=e.ref,r}function So(e,t,r,n,o,l){var i=2;if(n=e,typeof e=="function")Au(e)&&(i=1);else if(typeof e=="string")i=5;else e:switch(e){case cr:return Qt(r.children,o,l,t);case Ki:i=8,o|=8;break;case ti:return e=Ue(12,r,t,o|2),e.elementType=ti,e.lanes=l,e;case ri:return e=Ue(13,r,t,o),e.elementType=ri,e.lanes=l,e;case ni:return e=Ue(19,r,t,o),e.elementType=ni,e.lanes=l,e;case Oa:return tl(r,o,l,t);default:if(typeof e=="object"&&e!==null)switch(e.$$typeof){case La:i=10;break e;case Ma:i=9;break e;case Qi:i=11;break e;case Yi:i=14;break e;case yt:i=16,n=null;break e}throw Error(E(130,e==null?e:typeof e,""))}return t=Ue(i,r,t,o),t.elementType=e,t.type=n,t.lanes=l,t}function Qt(e,t,r,n){return e=Ue(7,e,n,t),e.lanes=r,e}function tl(e,t,r,n){return e=Ue(22,e,n,t),e.elementType=Oa,e.lanes=r,e.stateNode={isHidden:!1},e}function Zl(e,t,r){return e=Ue(6,e,null,t),e.lanes=r,e}function Jl(e,t,r){return t=Ue(4,e.children!==null?e.children:[],e.key,t),t.lanes=r,t.stateNode={containerInfo:e.containerInfo,pendingChildren:null,implementation:e.implementation},t}function Zm(e,t,r,n,o){this.tag=t,this.containerInfo=e,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=Fl(0),this.expirationTimes=Fl(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=Fl(0),this.identifierPrefix=n,this.onRecoverableError=o,this.mutableSourceEagerHydrationData=null}function Du(e,t,r,n,o,l,i,u,s){return e=new Zm(e,t,r,u,s),t===1?(t=1,l===!0&&(t|=8)):t=0,l=Ue(3,null,null,t),e.current=l,l.stateNode=e,l.memoizedState={element:n,isDehydrated:r,cache:null,transitions:null,pendingSuspenseBoundaries:null},gu(l),e}function Jm(e,t,r){var n=3{"use strict";function Nf(){if(!(typeof __REACT_DEVTOOLS_GLOBAL_HOOK__>"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(Nf)}catch(e){console.error(e)}}Nf(),xf.exports=kf()});var Of=se(Fu=>{"use strict";var Mf=Lf();Fu.createRoot=Mf.createRoot,Fu.hydrateRoot=Mf.hydrateRoot;var Kg});var zu=se((Th,og)=>{og.exports={Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",amp:"&",AMP:"&",andand:"\u2A55",And:"\u2A53",and:"\u2227",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angmsd:"\u2221",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",apacir:"\u2A6F",ap:"\u2248",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",barwed:"\u2305",Barwed:"\u2306",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",because:"\u2235",Because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxdl:"\u2510",boxdL:"\u2555",boxDl:"\u2556",boxDL:"\u2557",boxdr:"\u250C",boxdR:"\u2552",boxDr:"\u2553",boxDR:"\u2554",boxh:"\u2500",boxH:"\u2550",boxhd:"\u252C",boxHd:"\u2564",boxhD:"\u2565",boxHD:"\u2566",boxhu:"\u2534",boxHu:"\u2567",boxhU:"\u2568",boxHU:"\u2569",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxul:"\u2518",boxuL:"\u255B",boxUl:"\u255C",boxUL:"\u255D",boxur:"\u2514",boxuR:"\u2558",boxUr:"\u2559",boxUR:"\u255A",boxv:"\u2502",boxV:"\u2551",boxvh:"\u253C",boxvH:"\u256A",boxVh:"\u256B",boxVH:"\u256C",boxvl:"\u2524",boxvL:"\u2561",boxVl:"\u2562",boxVL:"\u2563",boxvr:"\u251C",boxvR:"\u255E",boxVr:"\u255F",boxVR:"\u2560",bprime:"\u2035",breve:"\u02D8",Breve:"\u02D8",brvbar:"\xA6",bscr:"\u{1D4B7}",Bscr:"\u212C",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsolb:"\u29C5",bsol:"\\",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",cap:"\u2229",Cap:"\u22D2",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",centerdot:"\xB7",CenterDot:"\xB7",cfr:"\u{1D520}",Cfr:"\u212D",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cir:"\u25CB",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",colon:":",Colon:"\u2237",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",conint:"\u222E",Conint:"\u222F",ContourIntegral:"\u222E",copf:"\u{1D554}",Copf:"\u2102",coprod:"\u2210",Coproduct:"\u2210",copy:"\xA9",COPY:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",cross:"\u2717",Cross:"\u2A2F",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",cupbrcap:"\u2A48",cupcap:"\u2A46",CupCap:"\u224D",cup:"\u222A",Cup:"\u22D3",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",dagger:"\u2020",Dagger:"\u2021",daleth:"\u2138",darr:"\u2193",Darr:"\u21A1",dArr:"\u21D3",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",ddagger:"\u2021",ddarr:"\u21CA",DD:"\u2145",dd:"\u2146",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",diamond:"\u22C4",Diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrowBar:"\u2913",downarrow:"\u2193",DownArrow:"\u2193",Downarrow:"\u21D3",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVectorBar:"\u2956",DownLeftVector:"\u21BD",DownRightTeeVector:"\u295F",DownRightVectorBar:"\u2957",DownRightVector:"\u21C1",DownTeeArrow:"\u21A7",DownTee:"\u22A4",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",Ecirc:"\xCA",ecirc:"\xEA",ecir:"\u2256",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",edot:"\u0117",eDot:"\u2251",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp13:"\u2004",emsp14:"\u2005",emsp:"\u2003",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",escr:"\u212F",Escr:"\u2130",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",exponentiale:"\u2147",ExponentialE:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",forall:"\u2200",ForAll:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",fscr:"\u{1D4BB}",Fscr:"\u2131",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",ge:"\u2265",gE:"\u2267",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",gescc:"\u2AA9",ges:"\u2A7E",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",gg:"\u226B",Gg:"\u22D9",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gla:"\u2AA5",gl:"\u2277",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gne:"\u2A88",gnE:"\u2269",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",gtcc:"\u2AA7",gtcir:"\u2A7A",gt:">",GT:">",Gt:"\u226B",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",harrcir:"\u2948",harr:"\u2194",hArr:"\u21D4",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",hfr:"\u{1D525}",Hfr:"\u210C",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",hopf:"\u{1D559}",Hopf:"\u210D",horbar:"\u2015",HorizontalLine:"\u2500",hscr:"\u{1D4BD}",Hscr:"\u210B",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",ifr:"\u{1D526}",Ifr:"\u2111",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",Im:"\u2111",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",incare:"\u2105",in:"\u2208",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",intcal:"\u22BA",int:"\u222B",Int:"\u222C",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",iscr:"\u{1D4BE}",Iscr:"\u2110",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",lang:"\u27E8",Lang:"\u27EA",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",larrb:"\u21E4",larrbfs:"\u291F",larr:"\u2190",Larr:"\u219E",lArr:"\u21D0",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",latail:"\u2919",lAtail:"\u291B",lat:"\u2AAB",late:"\u2AAD",lates:"\u2AAD\uFE00",lbarr:"\u290C",lBarr:"\u290E",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",le:"\u2264",lE:"\u2266",LeftAngleBracket:"\u27E8",LeftArrowBar:"\u21E4",leftarrow:"\u2190",LeftArrow:"\u2190",Leftarrow:"\u21D0",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVectorBar:"\u2959",LeftDownVector:"\u21C3",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",leftrightarrow:"\u2194",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTeeArrow:"\u21A4",LeftTee:"\u22A3",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangleBar:"\u29CF",LeftTriangle:"\u22B2",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVectorBar:"\u2958",LeftUpVector:"\u21BF",LeftVectorBar:"\u2952",LeftVector:"\u21BC",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",lescc:"\u2AA8",les:"\u2A7D",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",llarr:"\u21C7",ll:"\u226A",Ll:"\u22D8",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoustache:"\u23B0",lmoust:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lne:"\u2A87",lnE:"\u2268",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",longleftarrow:"\u27F5",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftrightarrow:"\u27F7",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longmapsto:"\u27FC",longrightarrow:"\u27F6",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",lscr:"\u{1D4C1}",Lscr:"\u2112",lsh:"\u21B0",Lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",ltcc:"\u2AA6",ltcir:"\u2A79",lt:"<",LT:"<",Lt:"\u226A",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",midast:"*",midcir:"\u2AF0",mid:"\u2223",middot:"\xB7",minusb:"\u229F",minus:"\u2212",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",mscr:"\u{1D4C2}",Mscr:"\u2133",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natural:"\u266E",naturals:"\u2115",natur:"\u266E",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",nearhk:"\u2924",nearr:"\u2197",neArr:"\u21D7",nearrow:"\u2197",ne:"\u2260",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:` +`,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nharr:"\u21AE",nhArr:"\u21CE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlarr:"\u219A",nlArr:"\u21CD",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nleftarrow:"\u219A",nLeftarrow:"\u21CD",nleftrightarrow:"\u21AE",nLeftrightarrow:"\u21CE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",nopf:"\u{1D55F}",Nopf:"\u2115",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangle:"\u22EA",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangle:"\u22EB",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",nparallel:"\u2226",npar:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",nprec:"\u2280",npreceq:"\u2AAF\u0338",npre:"\u2AAF\u0338",nrarrc:"\u2933\u0338",nrarr:"\u219B",nrArr:"\u21CF",nrarrw:"\u219D\u0338",nrightarrow:"\u219B",nRightarrow:"\u21CF",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nvdash:"\u22AC",nvDash:"\u22AD",nVdash:"\u22AE",nVDash:"\u22AF",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwarr:"\u2196",nwArr:"\u21D6",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",Ocirc:"\xD4",ocirc:"\xF4",ocir:"\u229A",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",orarr:"\u21BB",Or:"\u2A54",or:"\u2228",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",otimesas:"\u2A36",Otimes:"\u2A37",otimes:"\u2297",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",para:"\xB6",parallel:"\u2225",par:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plus:"+",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",popf:"\u{1D561}",Popf:"\u2119",pound:"\xA3",prap:"\u2AB7",Pr:"\u2ABB",pr:"\u227A",prcue:"\u227C",precapprox:"\u2AB7",prec:"\u227A",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",pre:"\u2AAF",prE:"\u2AB3",precsim:"\u227E",prime:"\u2032",Prime:"\u2033",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportional:"\u221D",Proportion:"\u2237",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",qopf:"\u{1D562}",Qopf:"\u211A",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",quot:'"',QUOT:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",rang:"\u27E9",Rang:"\u27EB",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarr:"\u2192",Rarr:"\u21A0",rArr:"\u21D2",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",ratail:"\u291A",rAtail:"\u291C",ratio:"\u2236",rationals:"\u211A",rbarr:"\u290D",rBarr:"\u290F",RBarr:"\u2910",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",Re:"\u211C",rect:"\u25AD",reg:"\xAE",REG:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",rfr:"\u{1D52F}",Rfr:"\u211C",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrowBar:"\u21E5",rightarrow:"\u2192",RightArrow:"\u2192",Rightarrow:"\u21D2",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVectorBar:"\u2955",RightDownVector:"\u21C2",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTeeArrow:"\u21A6",RightTee:"\u22A2",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangleBar:"\u29D0",RightTriangle:"\u22B3",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVectorBar:"\u2954",RightUpVector:"\u21BE",RightVectorBar:"\u2953",RightVector:"\u21C0",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoustache:"\u23B1",rmoust:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",ropf:"\u{1D563}",Ropf:"\u211D",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",rscr:"\u{1D4C7}",Rscr:"\u211B",rsh:"\u21B1",Rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",Sc:"\u2ABC",sc:"\u227B",sccue:"\u227D",sce:"\u2AB0",scE:"\u2AB4",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdotb:"\u22A1",sdot:"\u22C5",sdote:"\u2A66",searhk:"\u2925",searr:"\u2198",seArr:"\u21D8",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",solbar:"\u233F",solb:"\u29C4",sol:"/",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",square:"\u25A1",Square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squ:"\u25A1",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",sub:"\u2282",Sub:"\u22D0",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",subset:"\u2282",Subset:"\u22D0",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succapprox:"\u2AB8",succ:"\u227B",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",sum:"\u2211",Sum:"\u2211",sung:"\u266A",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",sup:"\u2283",Sup:"\u22D1",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",supset:"\u2283",Supset:"\u22D1",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swarr:"\u2199",swArr:"\u21D9",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",therefore:"\u2234",Therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",ThinSpace:"\u2009",thinsp:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",tilde:"\u02DC",Tilde:"\u223C",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",timesbar:"\u2A31",timesb:"\u22A0",times:"\xD7",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",topbot:"\u2336",topcir:"\u2AF1",top:"\u22A4",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",trade:"\u2122",TRADE:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",uarr:"\u2191",Uarr:"\u219F",uArr:"\u21D1",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrowBar:"\u2912",uparrow:"\u2191",UpArrow:"\u2191",Uparrow:"\u21D1",UpArrowDownArrow:"\u21C5",updownarrow:"\u2195",UpDownArrow:"\u2195",Updownarrow:"\u21D5",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",upsi:"\u03C5",Upsi:"\u03D2",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTeeArrow:"\u21A5",UpTee:"\u22A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",varr:"\u2195",vArr:"\u21D5",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",vBar:"\u2AE8",Vbar:"\u2AEB",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",vdash:"\u22A2",vDash:"\u22A8",Vdash:"\u22A9",VDash:"\u22AB",Vdashl:"\u2AE6",veebar:"\u22BB",vee:"\u2228",Vee:"\u22C1",veeeq:"\u225A",vellip:"\u22EE",verbar:"|",Verbar:"\u2016",vert:"|",Vert:"\u2016",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",wedge:"\u2227",Wedge:"\u22C0",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xharr:"\u27F7",xhArr:"\u27FA",Xi:"\u039E",xi:"\u03BE",xlarr:"\u27F5",xlArr:"\u27F8",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrarr:"\u27F6",xrArr:"\u27F9",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",yuml:"\xFF",Yuml:"\u0178",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",zfr:"\u{1D537}",Zfr:"\u2128",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",zopf:"\u{1D56B}",Zopf:"\u2124",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"}});var Bf=se((Ch,lg)=>{lg.exports={Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",AElig:"\xC6",aelig:"\xE6",Agrave:"\xC0",agrave:"\xE0",amp:"&",AMP:"&",Aring:"\xC5",aring:"\xE5",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",brvbar:"\xA6",Ccedil:"\xC7",ccedil:"\xE7",cedil:"\xB8",cent:"\xA2",copy:"\xA9",COPY:"\xA9",curren:"\xA4",deg:"\xB0",divide:"\xF7",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Egrave:"\xC8",egrave:"\xE8",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",frac12:"\xBD",frac14:"\xBC",frac34:"\xBE",gt:">",GT:">",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",iexcl:"\xA1",Igrave:"\xCC",igrave:"\xEC",iquest:"\xBF",Iuml:"\xCF",iuml:"\xEF",laquo:"\xAB",lt:"<",LT:"<",macr:"\xAF",micro:"\xB5",middot:"\xB7",nbsp:"\xA0",not:"\xAC",Ntilde:"\xD1",ntilde:"\xF1",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Ograve:"\xD2",ograve:"\xF2",ordf:"\xAA",ordm:"\xBA",Oslash:"\xD8",oslash:"\xF8",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",para:"\xB6",plusmn:"\xB1",pound:"\xA3",quot:'"',QUOT:'"',raquo:"\xBB",reg:"\xAE",REG:"\xAE",sect:"\xA7",shy:"\xAD",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",szlig:"\xDF",THORN:"\xDE",thorn:"\xFE",times:"\xD7",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Ugrave:"\xD9",ugrave:"\xF9",uml:"\xA8",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",yen:"\xA5",yuml:"\xFF"}});var ju=se((kh,ig)=>{ig.exports={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'}});var Wf=se((Nh,ug)=>{ug.exports={"0":65533,"128":8364,"130":8218,"131":402,"132":8222,"133":8230,"134":8224,"135":8225,"136":710,"137":8240,"138":352,"139":8249,"140":338,"142":381,"145":8216,"146":8217,"147":8220,"148":8221,"149":8226,"150":8211,"151":8212,"152":732,"153":8482,"154":353,"155":8250,"156":339,"158":382,"159":376}});var Xf=se(Fn=>{"use strict";var sg=Fn&&Fn.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Fn,"__esModule",{value:!0});var Gf=sg(Wf()),ag=String.fromCodePoint||function(e){var t="";return e>65535&&(e-=65536,t+=String.fromCharCode(e>>>10&1023|55296),e=56320|e&1023),t+=String.fromCharCode(e),t};function cg(e){return e>=55296&&e<=57343||e>1114111?"\uFFFD":(e in Gf.default&&(e=Gf.default[e]),ag(e))}Fn.default=cg});var qu=se(rt=>{"use strict";var il=rt&&rt.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(rt,"__esModule",{value:!0});rt.decodeHTML=rt.decodeHTMLStrict=rt.decodeXML=void 0;var Hu=il(zu()),fg=il(Bf()),dg=il(ju()),bf=il(Xf()),pg=/&(?:[a-zA-Z0-9]+|#[xX][\da-fA-F]+|#\d+);/g;rt.decodeXML=Kf(dg.default);rt.decodeHTMLStrict=Kf(Hu.default);function Kf(e){var t=Qf(e);return function(r){return String(r).replace(pg,t)}}var $f=function(e,t){return e{"use strict";var Yf=Te&&Te.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(Te,"__esModule",{value:!0});Te.escapeUTF8=Te.escape=Te.encodeNonAsciiHTML=Te.encodeHTML=Te.encodeXML=void 0;var mg=Yf(ju()),Zf=ed(mg.default),Jf=td(Zf);Te.encodeXML=od(Zf);var gg=Yf(zu()),Ru=ed(gg.default),hg=td(Ru);Te.encodeHTML=yg(Ru,hg);Te.encodeNonAsciiHTML=od(Ru);function ed(e){return Object.keys(e).sort().reduce(function(t,r){return t[e[r]]="&"+r+";",t},{})}function td(e){for(var t=[],r=[],n=0,o=Object.keys(e);n1?vg(e):e.charCodeAt(0)).toString(16).toUpperCase()+";"}function yg(e,t){return function(r){return r.replace(t,function(n){return e[n]}).replace(rd,ul)}}var nd=new RegExp(Jf.source+"|"+rd.source,"g");function Eg(e){return e.replace(nd,ul)}Te.escape=Eg;function Sg(e){return e.replace(Jf,ul)}Te.escapeUTF8=Sg;function od(e){return function(t){return t.replace(nd,function(r){return e[r]||ul(r)})}}});var id=se(M=>{"use strict";Object.defineProperty(M,"__esModule",{value:!0});M.decodeXMLStrict=M.decodeHTML5Strict=M.decodeHTML4Strict=M.decodeHTML5=M.decodeHTML4=M.decodeHTMLStrict=M.decodeHTML=M.decodeXML=M.encodeHTML5=M.encodeHTML4=M.escapeUTF8=M.escape=M.encodeNonAsciiHTML=M.encodeHTML=M.encodeXML=M.encode=M.decodeStrict=M.decode=void 0;var sl=qu(),ld=Vu();function wg(e,t){return(!t||t<=0?sl.decodeXML:sl.decodeHTML)(e)}M.decode=wg;function _g(e,t){return(!t||t<=0?sl.decodeXML:sl.decodeHTMLStrict)(e)}M.decodeStrict=_g;function Tg(e,t){return(!t||t<=0?ld.encodeXML:ld.encodeHTML)(e)}M.encode=Tg;var or=Vu();Object.defineProperty(M,"encodeXML",{enumerable:!0,get:function(){return or.encodeXML}});Object.defineProperty(M,"encodeHTML",{enumerable:!0,get:function(){return or.encodeHTML}});Object.defineProperty(M,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return or.encodeNonAsciiHTML}});Object.defineProperty(M,"escape",{enumerable:!0,get:function(){return or.escape}});Object.defineProperty(M,"escapeUTF8",{enumerable:!0,get:function(){return or.escapeUTF8}});Object.defineProperty(M,"encodeHTML4",{enumerable:!0,get:function(){return or.encodeHTML}});Object.defineProperty(M,"encodeHTML5",{enumerable:!0,get:function(){return or.encodeHTML}});var qt=qu();Object.defineProperty(M,"decodeXML",{enumerable:!0,get:function(){return qt.decodeXML}});Object.defineProperty(M,"decodeHTML",{enumerable:!0,get:function(){return qt.decodeHTML}});Object.defineProperty(M,"decodeHTMLStrict",{enumerable:!0,get:function(){return qt.decodeHTMLStrict}});Object.defineProperty(M,"decodeHTML4",{enumerable:!0,get:function(){return qt.decodeHTML}});Object.defineProperty(M,"decodeHTML5",{enumerable:!0,get:function(){return qt.decodeHTML}});Object.defineProperty(M,"decodeHTML4Strict",{enumerable:!0,get:function(){return qt.decodeHTMLStrict}});Object.defineProperty(M,"decodeHTML5Strict",{enumerable:!0,get:function(){return qt.decodeHTMLStrict}});Object.defineProperty(M,"decodeXMLStrict",{enumerable:!0,get:function(){return qt.decodeXML}})});var vd=se((Ah,hd)=>{"use strict";function Cg(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function ud(e,t){for(var r=0;r=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(a){throw a},f:o}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. +In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var l=!0,i=!1,u;return{s:function(){r=r.call(e)},n:function(){var a=r.next();return l=a.done,a},e:function(a){i=!0,u=a},f:function(){try{!l&&r.return!=null&&r.return()}finally{if(i)throw u}}}}function Ng(e,t){if(e){if(typeof e=="string")return sd(e,t);var r=Object.prototype.toString.call(e).slice(8,-1);if(r==="Object"&&e.constructor&&(r=e.constructor.name),r==="Map"||r==="Set")return Array.from(e);if(r==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(r))return sd(e,t)}}function sd(e,t){(t==null||t>e.length)&&(t=e.length);for(var r=0,n=new Array(t);r0?e*40+55:0,i=t>0?t*40+55:0,u=r>0?r*40+55:0;n[o]=Og([l,i,u])}function md(e){for(var t=e.toString(16);t.length<2;)t="0"+t;return t}function Og(e){var t=[],r=pd(e),n;try{for(r.s();!(n=r.n()).done;){var o=n.value;t.push(md(o))}}catch(l){r.e(l)}finally{r.f()}return"#"+t.join("")}function cd(e,t,r,n){var o;return t==="text"?o=Ig(r,n):t==="display"?o=Dg(e,r,n):t==="xterm256Foreground"?o=fl(e,n.colors[r]):t==="xterm256Background"?o=dl(e,n.colors[r]):t==="rgb"&&(o=Ag(e,r)),o}function Ag(e,t){t=t.substring(2).slice(0,-1);var r=+t.substr(0,2),n=t.substring(5).split(";"),o=n.map(function(l){return("0"+Number(l).toString(16)).substr(-2)}).join("");return cl(e,(r===38?"color:#":"background-color:#")+o)}function Dg(e,t,r){t=parseInt(t,10);var n={"-1":function(){return"
"},0:function(){return e.length&&gd(e)},1:function(){return Rt(e,"b")},3:function(){return Rt(e,"i")},4:function(){return Rt(e,"u")},8:function(){return cl(e,"display:none")},9:function(){return Rt(e,"strike")},22:function(){return cl(e,"font-weight:normal;text-decoration:none;font-style:normal")},23:function(){return dd(e,"i")},24:function(){return dd(e,"u")},39:function(){return fl(e,r.fg)},49:function(){return dl(e,r.bg)},53:function(){return cl(e,"text-decoration:overline")}},o;return n[t]?o=n[t]():4"}).join("")}function al(e,t){for(var r=[],n=e;n<=t;n++)r.push(n);return r}function Pg(e){return function(t){return(e===null||t.category!==e)&&e!=="all"}}function fd(e){e=parseInt(e,10);var t=null;return e===0?t="all":e===1?t="bold":2")}function cl(e,t){return Rt(e,"span",t)}function fl(e,t){return Rt(e,"span","color:"+t)}function dl(e,t){return Rt(e,"span","background-color:"+t)}function dd(e,t){var r;if(e.slice(-1)[0]===t&&(r=e.pop()),r)return""}function Ug(e,t,r){var n=!1,o=3;function l(){return""}function i(T,h){return r("xterm256Foreground",h),""}function u(T,h){return r("xterm256Background",h),""}function s(T){return t.newline?r("display",-1):r("text",T),""}function a(T,h){n=!0,h.trim().length===0&&(h="0"),h=h.trimRight(";").split(";");var C=pd(h),N;try{for(C.s();!(N=C.n()).done;){var U=N.value;r("display",U)}}catch(x){C.e(x)}finally{C.f()}return""}function p(T){return r("text",T),""}function m(T){return r("rgb",T),""}var g=[{pattern:/^\x08+/,sub:l},{pattern:/^\x1b\[[012]?K/,sub:l},{pattern:/^\x1b\[\(B/,sub:l},{pattern:/^\x1b\[[34]8;2;\d+;\d+;\d+m/,sub:m},{pattern:/^\x1b\[38;5;(\d+)m/,sub:i},{pattern:/^\x1b\[48;5;(\d+)m/,sub:u},{pattern:/^\n/,sub:s},{pattern:/^\r+\n/,sub:s},{pattern:/^\r/,sub:s},{pattern:/^\x1b\[((?:\d{1,3};?)+|)m/,sub:a},{pattern:/^\x1b\[\d?J/,sub:l},{pattern:/^\x1b\[\d{0,3};\d{0,3}f/,sub:l},{pattern:/^\x1b\[?[\d;]{0,3}/,sub:l},{pattern:/^(([^\x1b\x08\r\n])+)/,sub:p}];function w(T,h){h>o&&n||(n=!1,e=e.replace(T.pattern,T.sub))}var _=[],S=e,L=S.length;e:for(;L>0;){for(var d=0,c=0,f=g.length;c{let l=["system","light","dark"],u=(l.indexOf(e)+1)%l.length;t(l[u])},n=()=>{switch(e){case"light":return ne.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ne.default.createElement("circle",{cx:"12",cy:"12",r:"5"}),ne.default.createElement("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),ne.default.createElement("line",{x1:"12",y1:"21",x2:"12",y2:"23"}),ne.default.createElement("line",{x1:"4.22",y1:"4.22",x2:"5.64",y2:"5.64"}),ne.default.createElement("line",{x1:"18.36",y1:"18.36",x2:"19.78",y2:"19.78"}),ne.default.createElement("line",{x1:"1",y1:"12",x2:"3",y2:"12"}),ne.default.createElement("line",{x1:"21",y1:"12",x2:"23",y2:"12"}),ne.default.createElement("line",{x1:"4.22",y1:"19.78",x2:"5.64",y2:"18.36"}),ne.default.createElement("line",{x1:"18.36",y1:"5.64",x2:"19.78",y2:"4.22"}));case"dark":return ne.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ne.default.createElement("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"}));case"system":default:return ne.default.createElement("svg",{viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},ne.default.createElement("rect",{x:"2",y:"3",width:"20",height:"14",rx:"2",ry:"2"}),ne.default.createElement("line",{x1:"8",y1:"21",x2:"16",y2:"21"}),ne.default.createElement("line",{x1:"12",y1:"17",x2:"12",y2:"21"}))}},o=()=>{switch(e){case"light":return"Theme: Light (click for Dark)";case"dark":return"Theme: Dark (click for System)";case"system":default:return"Theme: System (click for Light)"}};return ne.default.createElement("button",{className:"theme-toggle-btn",onClick:r,title:o(),"aria-label":o()},n())}var tt=R(V(),1);var zt=R(V(),1);function Df(e,t){let[r,n]=(0,zt.useState)(null),[o,l]=(0,zt.useState)(!0),[i,u]=(0,zt.useState)(null),s=(0,zt.useCallback)(async()=>{try{l(!0),u(null);let a=await fetch(`https://api.github.com/repos/${e}/${t}`);if(!a.ok)throw new Error(`GitHub API error: ${a.status}`);let p=await a.json();n(p.stargazers_count)}catch(a){console.error("Failed to fetch GitHub stars:",a),u(a instanceof Error?a:new Error("Unknown error"))}finally{l(!1)}},[e,t]);return(0,zt.useEffect)(()=>{s()},[s]),{stars:r,isLoading:o,error:i}}function Pf(e){return e<1e3?e.toString():e<1e6?`${(e/1e3).toFixed(1)}k`:`${(e/1e6).toFixed(1)}M`}function If({username:e,repo:t,className:r=""}){let{stars:n,isLoading:o,error:l}=Df(e,t),i=`https://github.com/${e}/${t}`;return l?tt.default.createElement("a",{href:i,target:"_blank",rel:"noopener noreferrer",title:"GitHub",className:"icon-link"},tt.default.createElement("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"currentColor"},tt.default.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"}))):tt.default.createElement("a",{href:i,target:"_blank",rel:"noopener noreferrer",className:`github-stars-btn ${r}`,title:`Star us on GitHub${n!==null?` (${n.toLocaleString()} stars)`:""}`},tt.default.createElement("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor",style:{marginRight:"6px"}},tt.default.createElement("path",{d:"M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"})),tt.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"currentColor",style:{marginRight:"4px"}},tt.default.createElement("path",{d:"M12 .587l3.668 7.431 8.2 1.192-5.934 5.787 1.4 8.166L12 18.896l-7.334 3.867 1.4-8.166-5.934-5.787 8.2-1.192z"})),tt.default.createElement("span",{className:o?"stars-loading":"stars-count"},o?"...":n!==null?Pf(n):"\u2014"))}var jt=R(V(),1);function Uf(e){let t=(0,jt.useRef)(null),r=(0,jt.useRef)(null),n=(0,jt.useRef)(null),o=(0,jt.useRef)(0),l=(0,jt.useRef)(null);(0,jt.useEffect)(()=>{if(r.current||(r.current=document.createElement("canvas"),r.current.width=32,r.current.height=32),n.current||(n.current=new Image,n.current.src="claude-mem-logomark.webp"),!l.current){let m=document.querySelector('link[rel="icon"]');m&&(l.current=m.href)}let i=r.current,u=i.getContext("2d"),s=n.current;if(!u)return;let a=m=>{let g=document.querySelector('link[rel="icon"]');g||(g=document.createElement("link"),g.rel="icon",document.head.appendChild(g)),g.href=m},p=()=>{if(!s.complete){t.current=requestAnimationFrame(p);return}o.current+=2*Math.PI/90,u.clearRect(0,0,32,32),u.save(),u.translate(16,16),u.rotate(o.current),u.drawImage(s,-16,-16,32,32),u.restore(),a(i.toDataURL("image/png")),t.current=requestAnimationFrame(p)};return e?(o.current=0,p()):(t.current&&(cancelAnimationFrame(t.current),t.current=null),l.current&&a(l.current)),()=>{t.current&&(cancelAnimationFrame(t.current),t.current=null)}},[e])}function Ff({isConnected:e,projects:t,currentFilter:r,onFilterChange:n,isProcessing:o,queueDepth:l,themePreference:i,onThemeChange:u,onContextPreviewToggle:s}){return Uf(o),I.default.createElement("div",{className:"header"},I.default.createElement("h1",null,I.default.createElement("div",{style:{position:"relative",display:"inline-block"}},I.default.createElement("img",{src:"claude-mem-logomark.webp",alt:"",className:`logomark ${o?"spinning":""}`}),l>0&&I.default.createElement("div",{className:"queue-bubble"},l)),I.default.createElement("span",{className:"logo-text"},"claude-mem")),I.default.createElement("div",{className:"status"},I.default.createElement("a",{href:"https://docs.claude-mem.ai",target:"_blank",rel:"noopener noreferrer",className:"icon-link",title:"Documentation"},I.default.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},I.default.createElement("path",{d:"M4 19.5A2.5 2.5 0 0 1 6.5 17H20"}),I.default.createElement("path",{d:"M6.5 2H20v20H6.5A2.5 2.5 0 0 1 4 19.5v-15A2.5 2.5 0 0 1 6.5 2z"}))),I.default.createElement("a",{href:"https://x.com/Claude_Memory",target:"_blank",rel:"noopener noreferrer",className:"icon-link",title:"Follow us on X"},I.default.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},I.default.createElement("path",{d:"M18.244 2.25h3.308l-7.227 8.26 8.502 11.24H16.17l-5.214-6.817L4.99 21.75H1.68l7.73-8.835L1.254 2.25H8.08l4.713 6.231zm-1.161 17.52h1.833L7.084 4.126H5.117z"}))),I.default.createElement("a",{href:"https://discord.gg/J4wttp9vDu",target:"_blank",rel:"noopener noreferrer",className:"icon-link",title:"Join our Discord community"},I.default.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"currentColor"},I.default.createElement("path",{d:"M20.317 4.37a19.791 19.791 0 0 0-4.885-1.515a.074.074 0 0 0-.079.037c-.21.375-.444.864-.608 1.25a18.27 18.27 0 0 0-5.487 0a12.64 12.64 0 0 0-.617-1.25a.077.077 0 0 0-.079-.037A19.736 19.736 0 0 0 3.677 4.37a.07.07 0 0 0-.032.027C.533 9.046-.32 13.58.099 18.057a.082.082 0 0 0 .031.057a19.9 19.9 0 0 0 5.993 3.03a.078.078 0 0 0 .084-.028a14.09 14.09 0 0 0 1.226-1.994a.076.076 0 0 0-.041-.106a13.107 13.107 0 0 1-1.872-.892a.077.077 0 0 1-.008-.128a10.2 10.2 0 0 0 .372-.292a.074.074 0 0 1 .077-.01c3.928 1.793 8.18 1.793 12.062 0a.074.074 0 0 1 .078.01c.12.098.246.198.373.292a.077.077 0 0 1-.006.127a12.299 12.299 0 0 1-1.873.892a.077.077 0 0 0-.041.107c.36.698.772 1.362 1.225 1.993a.076.076 0 0 0 .084.028a19.839 19.839 0 0 0 6.002-3.03a.077.077 0 0 0 .032-.054c.5-5.177-.838-9.674-3.549-13.66a.061.061 0 0 0-.031-.03zM8.02 15.33c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.956-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.956 2.418-2.157 2.418zm7.975 0c-1.183 0-2.157-1.085-2.157-2.419c0-1.333.955-2.419 2.157-2.419c1.21 0 2.176 1.096 2.157 2.42c0 1.333-.946 2.418-2.157 2.418z"}))),I.default.createElement(If,{username:"thedotmack",repo:"claude-mem"}),I.default.createElement("select",{value:r,onChange:a=>n(a.target.value)},I.default.createElement("option",{value:""},"All Projects"),t.map(a=>I.default.createElement("option",{key:a,value:a},a))),I.default.createElement(Af,{preference:i,onThemeChange:u}),I.default.createElement("button",{className:"settings-btn",onClick:s,title:"Settings"},I.default.createElement("svg",{className:"settings-icon",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},I.default.createElement("path",{d:"M12.22 2h-.44a2 2 0 0 0-2 2v.18a2 2 0 0 1-1 1.73l-.43.25a2 2 0 0 1-2 0l-.15-.08a2 2 0 0 0-2.73.73l-.22.38a2 2 0 0 0 .73 2.73l.15.1a2 2 0 0 1 1 1.72v.51a2 2 0 0 1-1 1.74l-.15.09a2 2 0 0 0-.73 2.73l.22.38a2 2 0 0 0 2.73.73l.15-.08a2 2 0 0 1 2 0l.43.25a2 2 0 0 1 1 1.73V20a2 2 0 0 0 2 2h.44a2 2 0 0 0 2-2v-.18a2 2 0 0 1 1-1.73l.43-.25a2 2 0 0 1 2 0l.15.08a2 2 0 0 0 2.73-.73l.22-.39a2 2 0 0 0-.73-2.73l-.15-.08a2 2 0 0 1-1-1.74v-.5a2 2 0 0 1 1-1.74l.15-.09a2 2 0 0 0 .73-2.73l-.22-.38a2 2 0 0 0-2.73-.73l-.15.08a2 2 0 0 1-2 0l-.43-.25a2 2 0 0 1-1-1.73V4a2 2 0 0 0-2-2z"}),I.default.createElement("circle",{cx:"12",cy:"12",r:"3"})))))}var $=R(V(),1);var A=R(V(),1);function Fr(e){return new Date(e).toLocaleString()}function zf(e){let t=["/Scripts/","/src/","/plugin/","/docs/"];for(let o of t){let l=e.indexOf(o);if(l!==-1)return e.substring(l+1)}let r=e.indexOf("claude-mem/");if(r!==-1)return e.substring(r+11);let n=e.split("/");return n.length>3?n.slice(-3).join("/"):e}function jf({observation:e}){let[t,r]=(0,A.useState)(!1),[n,o]=(0,A.useState)(!1),l=Fr(e.created_at_epoch),i=e.facts?JSON.parse(e.facts):[],u=e.concepts?JSON.parse(e.concepts):[],s=e.files_read?JSON.parse(e.files_read).map(zf):[],a=e.files_modified?JSON.parse(e.files_modified).map(zf):[],p=i.length>0||u.length>0||s.length>0||a.length>0;return A.default.createElement("div",{className:"card"},A.default.createElement("div",{className:"card-header"},A.default.createElement("div",{className:"card-header-left"},A.default.createElement("span",{className:`card-type type-${e.type}`},e.type),A.default.createElement("span",{className:"card-project"},e.project)),A.default.createElement("div",{className:"view-mode-toggles"},p&&A.default.createElement("button",{className:`view-mode-toggle ${t?"active":""}`,onClick:()=>{r(!t),t||o(!1)}},A.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},A.default.createElement("polyline",{points:"9 11 12 14 22 4"}),A.default.createElement("path",{d:"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h11"})),A.default.createElement("span",null,"facts")),e.narrative&&A.default.createElement("button",{className:`view-mode-toggle ${n?"active":""}`,onClick:()=>{o(!n),n||r(!1)}},A.default.createElement("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},A.default.createElement("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),A.default.createElement("polyline",{points:"14 2 14 8 20 8"}),A.default.createElement("line",{x1:"16",y1:"13",x2:"8",y2:"13"}),A.default.createElement("line",{x1:"16",y1:"17",x2:"8",y2:"17"})),A.default.createElement("span",null,"narrative")))),A.default.createElement("div",{className:"card-title"},e.title||"Untitled"),A.default.createElement("div",{className:"view-mode-content"},!t&&!n&&e.subtitle&&A.default.createElement("div",{className:"card-subtitle"},e.subtitle),t&&i.length>0&&A.default.createElement("ul",{className:"facts-list"},i.map((m,g)=>A.default.createElement("li",{key:g},m))),n&&e.narrative&&A.default.createElement("div",{className:"narrative"},e.narrative)),A.default.createElement("div",{className:"card-meta"},A.default.createElement("span",{className:"meta-date"},"#",e.id," \u2022 ",l),t&&(u.length>0||s.length>0||a.length>0)&&A.default.createElement("div",{style:{display:"flex",flexWrap:"wrap",gap:"8px",alignItems:"center"}},u.map((m,g)=>A.default.createElement("span",{key:g,style:{padding:"2px 8px",background:"var(--color-type-badge-bg)",color:"var(--color-type-badge-text)",borderRadius:"3px",fontWeight:"500",fontSize:"10px"}},m)),s.length>0&&A.default.createElement("span",{className:"meta-files"},A.default.createElement("span",{className:"file-label"},"read:")," ",s.join(", ")),a.length>0&&A.default.createElement("span",{className:"meta-files"},A.default.createElement("span",{className:"file-label"},"modified:")," ",a.join(", ")))))}var ue=R(V(),1);function Hf({summary:e}){let t=Fr(e.created_at_epoch),r=[{key:"investigated",label:"Investigated",content:e.investigated,icon:"/icon-thick-investigated.svg"},{key:"learned",label:"Learned",content:e.learned,icon:"/icon-thick-learned.svg"},{key:"completed",label:"Completed",content:e.completed,icon:"/icon-thick-completed.svg"},{key:"next_steps",label:"Next Steps",content:e.next_steps,icon:"/icon-thick-next-steps.svg"}].filter(n=>n.content);return ue.default.createElement("article",{className:"card summary-card"},ue.default.createElement("header",{className:"summary-card-header"},ue.default.createElement("div",{className:"summary-badge-row"},ue.default.createElement("span",{className:"card-type summary-badge"},"Session Summary"),ue.default.createElement("span",{className:"summary-project-badge"},e.project)),e.request&&ue.default.createElement("h2",{className:"summary-title"},e.request)),ue.default.createElement("div",{className:"summary-sections"},r.map((n,o)=>ue.default.createElement("section",{key:n.key,className:"summary-section",style:{animationDelay:`${o*50}ms`}},ue.default.createElement("div",{className:"summary-section-header"},ue.default.createElement("img",{src:n.icon,alt:n.label,className:`summary-section-icon summary-section-icon--${n.key}`}),ue.default.createElement("h3",{className:"summary-section-label"},n.label)),ue.default.createElement("div",{className:"summary-section-content"},n.content)))),ue.default.createElement("footer",{className:"summary-card-footer"},ue.default.createElement("span",{className:"summary-meta-id"},"Session #",e.id),ue.default.createElement("span",{className:"summary-meta-divider"},"\u2022"),ue.default.createElement("time",{className:"summary-meta-date",dateTime:new Date(e.created_at_epoch).toISOString()},t)))}var pt=R(V(),1);function qf({prompt:e}){let t=Fr(e.created_at_epoch);return pt.default.createElement("div",{className:"card prompt-card"},pt.default.createElement("div",{className:"card-header"},pt.default.createElement("div",{className:"card-header-left"},pt.default.createElement("span",{className:"card-type"},"Prompt"),pt.default.createElement("span",{className:"card-project"},e.project))),pt.default.createElement("div",{className:"card-content"},e.prompt_text),pt.default.createElement("div",{className:"card-meta"},pt.default.createElement("span",{className:"meta-date"},"#",e.id," \u2022 ",t)))}var Ht=R(V(),1);function Rf({targetRef:e}){let[t,r]=(0,Ht.useState)(!1);(0,Ht.useEffect)(()=>{let o=()=>{let i=e.current;i&&r(i.scrollTop>300)},l=e.current;if(l)return l.addEventListener("scroll",o),()=>l.removeEventListener("scroll",o)},[]);let n=()=>{let o=e.current;o&&o.scrollTo({top:0,behavior:"smooth"})};return t?Ht.default.createElement("button",{onClick:n,className:"scroll-to-top","aria-label":"Scroll to top"},Ht.default.createElement("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round"},Ht.default.createElement("polyline",{points:"18 15 12 9 6 15"}))):null}var Un={PAGINATION_PAGE_SIZE:50,LOAD_MORE_THRESHOLD:.1};function Vf({observations:e,summaries:t,prompts:r,onLoadMore:n,isLoading:o,hasMore:l}){let i=(0,$.useRef)(null),u=(0,$.useRef)(null),s=(0,$.useRef)(n);(0,$.useEffect)(()=>{s.current=n},[n]),(0,$.useEffect)(()=>{let p=i.current;if(!p)return;let m=new IntersectionObserver(g=>{g[0].isIntersecting&&l&&!o&&s.current?.()},{threshold:Un.LOAD_MORE_THRESHOLD});return m.observe(p),()=>{p&&m.unobserve(p),m.disconnect()}},[l,o]);let a=(0,$.useMemo)(()=>[...e.map(m=>({...m,itemType:"observation"})),...t.map(m=>({...m,itemType:"summary"})),...r.map(m=>({...m,itemType:"prompt"}))].sort((m,g)=>g.created_at_epoch-m.created_at_epoch),[e,t,r]);return $.default.createElement("div",{className:"feed",ref:u},$.default.createElement(Rf,{targetRef:u}),$.default.createElement("div",{className:"feed-content"},a.map(p=>{let m=`${p.itemType}-${p.id}`;return p.itemType==="observation"?$.default.createElement(jf,{key:m,observation:p}):p.itemType==="summary"?$.default.createElement(Hf,{key:m,summary:p}):$.default.createElement(qf,{key:m,prompt:p})}),a.length===0&&!o&&$.default.createElement("div",{style:{textAlign:"center",padding:"40px",color:"#8b949e"}},"No items to display"),o&&$.default.createElement("div",{style:{textAlign:"center",padding:"20px",color:"#8b949e"}},$.default.createElement("div",{className:"spinner",style:{display:"inline-block",marginRight:"10px"}}),"Loading more..."),l&&!o&&a.length>0&&$.default.createElement("div",{ref:i,style:{height:"20px",margin:"10px 0"}}),!l&&a.length>0&&$.default.createElement("div",{style:{textAlign:"center",padding:"20px",color:"#8b949e",fontSize:"14px"}},"No more items to load")))}var v=R(V(),1);var ee=R(V(),1),yd=R(vd(),1),jg=new yd.default({fg:"#dcd6cc",bg:"#252320",newline:!1,escapeXML:!0,stream:!1});function Ed({content:e,isLoading:t=!1,className:r=""}){let n=(0,ee.useRef)(null),o=(0,ee.useRef)(0),[l,i]=(0,ee.useState)(!0),u=(0,ee.useMemo)(()=>(n.current&&(o.current=n.current.scrollTop),e?jg.toHtml(e):""),[e]);return(0,ee.useLayoutEffect)(()=>{n.current&&o.current>0&&(n.current.scrollTop=o.current)},[u]),ee.default.createElement("div",{className:r,style:{backgroundColor:"var(--color-bg-card)",border:"1px solid var(--color-border-primary)",borderRadius:"8px",overflow:"hidden",height:"100%",display:"flex",flexDirection:"column",boxShadow:"0 10px 40px rgba(0, 0, 0, 0.4), 0 4px 12px rgba(0, 0, 0, 0.3)"}},ee.default.createElement("div",{style:{padding:"12px",borderBottom:"1px solid var(--color-border-primary)",display:"flex",gap:"6px",alignItems:"center",backgroundColor:"var(--color-bg-header)"}},ee.default.createElement("div",{style:{width:"12px",height:"12px",borderRadius:"50%",backgroundColor:"#ff5f57"}}),ee.default.createElement("div",{style:{width:"12px",height:"12px",borderRadius:"50%",backgroundColor:"#ffbd2e"}}),ee.default.createElement("div",{style:{width:"12px",height:"12px",borderRadius:"50%",backgroundColor:"#28c840"}}),ee.default.createElement("button",{onClick:()=>i(!l),style:{marginLeft:"auto",padding:"4px 8px",fontSize:"11px",fontWeight:500,color:l?"var(--color-text-secondary)":"var(--color-accent-primary)",backgroundColor:"transparent",border:"1px solid",borderColor:l?"var(--color-border-primary)":"var(--color-accent-primary)",borderRadius:"4px",cursor:"pointer",transition:"all 0.2s",whiteSpace:"nowrap"},onMouseEnter:a=>{a.currentTarget.style.borderColor="var(--color-accent-primary)",a.currentTarget.style.color="var(--color-accent-primary)"},onMouseLeave:a=>{a.currentTarget.style.borderColor=l?"var(--color-border-primary)":"var(--color-accent-primary)",a.currentTarget.style.color=l?"var(--color-text-secondary)":"var(--color-accent-primary)"},title:l?"Disable word wrap (scroll horizontally)":"Enable word wrap"},l?"\u2922 Wrap":"\u21C4 Scroll")),t?ee.default.createElement("div",{style:{padding:"16px",fontFamily:"var(--font-terminal)",fontSize:"12px",color:"var(--color-text-secondary)"}},"Loading preview..."):ee.default.createElement("div",{style:{position:"relative",flex:1,overflow:"hidden"}},ee.default.createElement("pre",{ref:n,style:{padding:"16px",margin:0,fontFamily:"var(--font-terminal)",fontSize:"12px",lineHeight:"1.6",overflow:"auto",color:"var(--color-text-primary)",backgroundColor:"var(--color-bg-card)",whiteSpace:l?"pre-wrap":"pre",wordBreak:l?"break-word":"normal",position:"absolute",inset:0},dangerouslySetInnerHTML:{__html:u}})))}var be=R(V(),1);function Sd(e){let[t,r]=(0,be.useState)(""),[n,o]=(0,be.useState)(!1),[l,i]=(0,be.useState)(null),[u,s]=(0,be.useState)([]),[a,p]=(0,be.useState)(null);(0,be.useEffect)(()=>{async function g(){try{let _=await(await fetch("/api/projects")).json();_.projects&&_.projects.length>0&&(s(_.projects),p(_.projects[0]))}catch(w){console.error("Failed to fetch projects:",w)}}g()},[]);let m=(0,be.useCallback)(async()=>{if(!a){r("No project selected");return}o(!0),i(null);try{let g=new URLSearchParams({project:a}),w=await fetch(`/api/context/preview?${g}`),_=await w.text();w.ok?r(_):i("Failed to load preview")}catch(g){i(g.message)}finally{o(!1)}},[a]);return(0,be.useEffect)(()=>{let g=setTimeout(()=>{m()},300);return()=>clearTimeout(g)},[e,m]),{preview:t,isLoading:n,error:l,refresh:m,projects:u,selectedProject:a,setSelectedProject:p}}function Hg(e,t){let r;return((...n)=>{clearTimeout(r),r=setTimeout(()=>e(...n),t)})}function pl({title:e,description:t,children:r,defaultOpen:n=!0}){let[o,l]=(0,v.useState)(n);return v.default.createElement("div",{className:`settings-section-collapsible ${o?"open":""}`},v.default.createElement("button",{className:"section-header-btn",onClick:()=>l(!o),type:"button"},v.default.createElement("div",{className:"section-header-content"},v.default.createElement("span",{className:"section-title"},e),t&&v.default.createElement("span",{className:"section-description"},t)),v.default.createElement("svg",{className:`chevron-icon ${o?"rotated":""}`,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2"},v.default.createElement("polyline",{points:"6 9 12 15 18 9"}))),o&&v.default.createElement("div",{className:"section-content"},r))}function wd({label:e,options:t,selectedValues:r,onToggle:n,onSelectAll:o,onSelectNone:l}){let i=t.every(s=>r.includes(s)),u=t.every(s=>!r.includes(s));return v.default.createElement("div",{className:"chip-group"},v.default.createElement("div",{className:"chip-group-header"},v.default.createElement("span",{className:"chip-group-label"},e),v.default.createElement("div",{className:"chip-group-actions"},v.default.createElement("button",{type:"button",className:`chip-action ${i?"active":""}`,onClick:o},"All"),v.default.createElement("button",{type:"button",className:`chip-action ${u?"active":""}`,onClick:l},"None"))),v.default.createElement("div",{className:"chips-container"},t.map(s=>v.default.createElement("button",{key:s,type:"button",className:`chip ${r.includes(s)?"selected":""}`,onClick:()=>n(s)},s))))}function mt({label:e,tooltip:t,children:r}){return v.default.createElement("div",{className:"form-field"},v.default.createElement("label",{className:"form-field-label"},e,t&&v.default.createElement("span",{className:"tooltip-trigger",title:t},v.default.createElement("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2"},v.default.createElement("circle",{cx:"12",cy:"12",r:"10"}),v.default.createElement("path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3"}),v.default.createElement("line",{x1:"12",y1:"17",x2:"12.01",y2:"17"})))),r)}function zr({id:e,label:t,description:r,checked:n,onChange:o,disabled:l}){return v.default.createElement("div",{className:"toggle-row"},v.default.createElement("div",{className:"toggle-info"},v.default.createElement("label",{htmlFor:e,className:"toggle-label"},t),r&&v.default.createElement("span",{className:"toggle-description"},r)),v.default.createElement("button",{type:"button",id:e,role:"switch","aria-checked":n,className:`toggle-switch ${n?"on":""} ${l?"disabled":""}`,onClick:()=>!l&&o(!n),disabled:l},v.default.createElement("span",{className:"toggle-knob"})))}function _d({isOpen:e,onClose:t,settings:r,onSave:n,isSaving:o,saveStatus:l}){let[i,u]=(0,v.useState)(r),s=(0,v.useCallback)(Hg(h=>{n(h)},300),[n]);(0,v.useEffect)(()=>{u(r)},[r]);let{preview:a,isLoading:p,error:m,projects:g,selectedProject:w,setSelectedProject:_}=Sd(i),S=(0,v.useCallback)((h,C)=>{let N={...i,[h]:C};u(N),s(N)},[i,s]),L=(0,v.useCallback)(h=>{let N=i[h]==="true"?"false":"true";S(h,N)},[i,S]),d=(0,v.useCallback)((h,C)=>{let N=i[h]||"",U=N?N.split(","):[],x=U.includes(C)?U.filter(Ae=>Ae!==C):[...U,C];S(h,x.join(","))},[i,S]),c=(0,v.useCallback)(h=>{let C=i[h]||"";return C?C.split(","):[]},[i]),f=(0,v.useCallback)((h,C)=>{S(h,C.join(","))},[S]);if((0,v.useEffect)(()=>{let h=C=>{C.key==="Escape"&&t()};if(e)return window.addEventListener("keydown",h),()=>window.removeEventListener("keydown",h)},[e,t]),!e)return null;let y=["bugfix","feature","refactor","discovery","decision","change"],T=["how-it-works","why-it-exists","what-changed","problem-solution","gotcha","pattern","trade-off"];return v.default.createElement("div",{className:"modal-backdrop",onClick:t},v.default.createElement("div",{className:"context-settings-modal",onClick:h=>h.stopPropagation()},v.default.createElement("div",{className:"modal-header"},v.default.createElement("h2",null,"Settings"),v.default.createElement("div",{className:"header-controls"},v.default.createElement("label",{className:"preview-selector"},"Preview for:",v.default.createElement("select",{value:w||"",onChange:h=>_(h.target.value)},g.map(h=>v.default.createElement("option",{key:h,value:h},h)))),v.default.createElement("button",{onClick:t,className:"modal-close-btn",title:"Close (Esc)"},v.default.createElement("svg",{width:"18",height:"18",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2"},v.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),v.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"}))))),v.default.createElement("div",{className:"modal-body"},v.default.createElement("div",{className:"preview-column"},v.default.createElement("div",{className:"preview-content"},m?v.default.createElement("div",{style:{color:"#ff6b6b"}},"Error loading preview: ",m):v.default.createElement(Ed,{content:a,isLoading:p}))),v.default.createElement("div",{className:"settings-column"},v.default.createElement(pl,{title:"Loading",description:"How many observations to inject"},v.default.createElement(mt,{label:"Observations",tooltip:"Number of recent observations to include in context (1-200)"},v.default.createElement("input",{type:"number",min:"1",max:"200",value:i.CLAUDE_MEM_CONTEXT_OBSERVATIONS||"50",onChange:h=>S("CLAUDE_MEM_CONTEXT_OBSERVATIONS",h.target.value)})),v.default.createElement(mt,{label:"Sessions",tooltip:"Number of recent sessions to pull observations from (1-50)"},v.default.createElement("input",{type:"number",min:"1",max:"50",value:i.CLAUDE_MEM_CONTEXT_SESSION_COUNT||"10",onChange:h=>S("CLAUDE_MEM_CONTEXT_SESSION_COUNT",h.target.value)}))),v.default.createElement(pl,{title:"Filters",description:"Which observation types to include"},v.default.createElement(wd,{label:"Type",options:y,selectedValues:c("CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES"),onToggle:h=>d("CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES",h),onSelectAll:()=>f("CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES",y),onSelectNone:()=>f("CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES",[])}),v.default.createElement(wd,{label:"Concept",options:T,selectedValues:c("CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS"),onToggle:h=>d("CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS",h),onSelectAll:()=>f("CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS",T),onSelectNone:()=>f("CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS",[])})),v.default.createElement(pl,{title:"Display",description:"What to show in context tables"},v.default.createElement("div",{className:"display-subsection"},v.default.createElement("span",{className:"subsection-label"},"Full Observations"),v.default.createElement(mt,{label:"Count",tooltip:"How many observations show expanded details (0-20)"},v.default.createElement("input",{type:"number",min:"0",max:"20",value:i.CLAUDE_MEM_CONTEXT_FULL_COUNT||"5",onChange:h=>S("CLAUDE_MEM_CONTEXT_FULL_COUNT",h.target.value)})),v.default.createElement(mt,{label:"Field",tooltip:"Which field to expand for full observations"},v.default.createElement("select",{value:i.CLAUDE_MEM_CONTEXT_FULL_FIELD||"narrative",onChange:h=>S("CLAUDE_MEM_CONTEXT_FULL_FIELD",h.target.value)},v.default.createElement("option",{value:"narrative"},"Narrative"),v.default.createElement("option",{value:"facts"},"Facts")))),v.default.createElement("div",{className:"display-subsection"},v.default.createElement("span",{className:"subsection-label"},"Token Economics"),v.default.createElement("div",{className:"toggle-group"},v.default.createElement(zr,{id:"show-read-tokens",label:"Read cost",description:"Tokens to read this observation",checked:i.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS")}),v.default.createElement(zr,{id:"show-work-tokens",label:"Work investment",description:"Tokens spent creating this observation",checked:i.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS")}),v.default.createElement(zr,{id:"show-savings-amount",label:"Savings",description:"Total tokens saved by reusing context",checked:i.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT")})))),v.default.createElement(pl,{title:"Advanced",description:"AI provider and model selection",defaultOpen:!1},v.default.createElement(mt,{label:"AI Provider",tooltip:"Choose between Claude (via Agent SDK) or Gemini (via REST API)"},v.default.createElement("select",{value:i.CLAUDE_MEM_PROVIDER||"claude",onChange:h=>S("CLAUDE_MEM_PROVIDER",h.target.value)},v.default.createElement("option",{value:"claude"},"Claude (uses your Claude account)"),v.default.createElement("option",{value:"gemini"},"Gemini (uses API key)"))),i.CLAUDE_MEM_PROVIDER==="claude"?v.default.createElement(mt,{label:"Claude Model",tooltip:"Claude model used for generating observations"},v.default.createElement("select",{value:i.CLAUDE_MEM_MODEL||"haiku",onChange:h=>S("CLAUDE_MEM_MODEL",h.target.value)},v.default.createElement("option",{value:"haiku"},"haiku (fastest)"),v.default.createElement("option",{value:"sonnet"},"sonnet (balanced)"),v.default.createElement("option",{value:"opus"},"opus (highest quality)"))):v.default.createElement(v.default.Fragment,null,v.default.createElement(mt,{label:"Gemini API Key",tooltip:"Your Google AI Studio API key (or set GEMINI_API_KEY env var)"},v.default.createElement("input",{type:"password",value:i.CLAUDE_MEM_GEMINI_API_KEY||"",onChange:h=>S("CLAUDE_MEM_GEMINI_API_KEY",h.target.value),placeholder:"Enter Gemini API key..."})),v.default.createElement(mt,{label:"Gemini Model",tooltip:"Gemini model used for generating observations"},v.default.createElement("select",{value:i.CLAUDE_MEM_GEMINI_MODEL||"gemini-2.5-flash-lite",onChange:h=>S("CLAUDE_MEM_GEMINI_MODEL",h.target.value)},v.default.createElement("option",{value:"gemini-2.5-flash-lite"},"gemini-2.5-flash-lite (10 RPM free)"),v.default.createElement("option",{value:"gemini-2.5-flash"},"gemini-2.5-flash (5 RPM free)"),v.default.createElement("option",{value:"gemini-3-flash"},"gemini-3-flash (5 RPM free)"))),v.default.createElement("div",{className:"toggle-group",style:{marginTop:"8px"}},v.default.createElement(zr,{id:"gemini-rate-limiting",label:"Rate Limiting",description:"Enable for free tier (10-30 RPM). Disable if you have billing set up (1000+ RPM).",checked:i.CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED==="true",onChange:h=>S("CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED",h?"true":"false")}))),v.default.createElement(mt,{label:"Worker Port",tooltip:"Port for the background worker service"},v.default.createElement("input",{type:"number",min:"1024",max:"65535",value:i.CLAUDE_MEM_WORKER_PORT||"37777",onChange:h=>S("CLAUDE_MEM_WORKER_PORT",h.target.value)})),v.default.createElement("div",{className:"toggle-group",style:{marginTop:"12px"}},v.default.createElement(zr,{id:"show-last-summary",label:"Include last summary",description:"Add previous session's summary to context",checked:i.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY")}),v.default.createElement(zr,{id:"show-last-message",label:"Include last message",description:"Add previous session's final message",checked:i.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE==="true",onChange:()=>L("CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE")})))))))}var Oe=R(V(),1);var $e={OBSERVATIONS:"/api/observations",SUMMARIES:"/api/summaries",PROMPTS:"/api/prompts",SETTINGS:"/api/settings",STATS:"/api/stats",PROCESSING_STATUS:"/api/processing-status",STREAM:"/stream"};var ml={SSE_RECONNECT_DELAY_MS:3e3,STATS_REFRESH_INTERVAL_MS:1e4,SAVE_STATUS_DISPLAY_DURATION_MS:3e3};function Td(){let[e,t]=(0,Oe.useState)([]),[r,n]=(0,Oe.useState)([]),[o,l]=(0,Oe.useState)([]),[i,u]=(0,Oe.useState)([]),[s,a]=(0,Oe.useState)(!1),[p,m]=(0,Oe.useState)(!1),[g,w]=(0,Oe.useState)(0),_=(0,Oe.useRef)(null),S=(0,Oe.useRef)();return(0,Oe.useEffect)(()=>{let L=()=>{_.current&&_.current.close();let d=new EventSource($e.STREAM);_.current=d,d.onopen=()=>{console.log("[SSE] Connected"),a(!0),S.current&&clearTimeout(S.current)},d.onerror=c=>{console.error("[SSE] Connection error:",c),a(!1),d.close(),S.current=setTimeout(()=>{S.current=void 0,console.log("[SSE] Attempting to reconnect..."),L()},ml.SSE_RECONNECT_DELAY_MS)},d.onmessage=c=>{try{let f=JSON.parse(c.data);switch(f.type){case"initial_load":console.log("[SSE] Initial load:",{projects:f.projects?.length||0}),u(f.projects||[]);break;case"new_observation":f.observation&&(console.log("[SSE] New observation:",f.observation.id),t(y=>[f.observation,...y]));break;case"new_summary":if(f.summary){let y=f.summary;console.log("[SSE] New summary:",y.id),n(T=>[y,...T])}break;case"new_prompt":if(f.prompt){let y=f.prompt;console.log("[SSE] New prompt:",y.id),l(T=>[y,...T])}break;case"processing_status":typeof f.isProcessing=="boolean"&&(console.log("[SSE] Processing status:",f.isProcessing,"Queue depth:",f.queueDepth),m(f.isProcessing),w(f.queueDepth||0));break}}catch(f){console.error("[SSE] Failed to parse message:",f)}}};return L(),()=>{_.current&&_.current.close(),S.current&&clearTimeout(S.current)}},[]),{observations:e,summaries:r,prompts:o,projects:i,isProcessing:p,queueDepth:g,isConnected:s}}var jr=R(V(),1);var Y={CLAUDE_MEM_MODEL:"claude-sonnet-4-5",CLAUDE_MEM_CONTEXT_OBSERVATIONS:"50",CLAUDE_MEM_WORKER_PORT:"37777",CLAUDE_MEM_WORKER_HOST:"127.0.0.1",CLAUDE_MEM_PROVIDER:"claude",CLAUDE_MEM_GEMINI_API_KEY:"",CLAUDE_MEM_GEMINI_MODEL:"gemini-2.5-flash-lite",CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED:"true",CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:"true",CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:"true",CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:"bugfix,feature,refactor,discovery,decision,change",CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:"how-it-works,why-it-exists,what-changed,problem-solution,gotcha,pattern,trade-off",CLAUDE_MEM_CONTEXT_FULL_COUNT:"5",CLAUDE_MEM_CONTEXT_FULL_FIELD:"narrative",CLAUDE_MEM_CONTEXT_SESSION_COUNT:"10",CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:"true",CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:"false"};function Cd(){let[e,t]=(0,jr.useState)(Y),[r,n]=(0,jr.useState)(!1),[o,l]=(0,jr.useState)("");return(0,jr.useEffect)(()=>{fetch($e.SETTINGS).then(u=>u.json()).then(u=>{t({CLAUDE_MEM_MODEL:u.CLAUDE_MEM_MODEL||Y.CLAUDE_MEM_MODEL,CLAUDE_MEM_CONTEXT_OBSERVATIONS:u.CLAUDE_MEM_CONTEXT_OBSERVATIONS||Y.CLAUDE_MEM_CONTEXT_OBSERVATIONS,CLAUDE_MEM_WORKER_PORT:u.CLAUDE_MEM_WORKER_PORT||Y.CLAUDE_MEM_WORKER_PORT,CLAUDE_MEM_WORKER_HOST:u.CLAUDE_MEM_WORKER_HOST||Y.CLAUDE_MEM_WORKER_HOST,CLAUDE_MEM_PROVIDER:u.CLAUDE_MEM_PROVIDER||Y.CLAUDE_MEM_PROVIDER,CLAUDE_MEM_GEMINI_API_KEY:u.CLAUDE_MEM_GEMINI_API_KEY||Y.CLAUDE_MEM_GEMINI_API_KEY,CLAUDE_MEM_GEMINI_MODEL:u.CLAUDE_MEM_GEMINI_MODEL||Y.CLAUDE_MEM_GEMINI_MODEL,CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS:u.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS||Y.CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS,CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS:u.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS||Y.CLAUDE_MEM_CONTEXT_SHOW_WORK_TOKENS,CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT:u.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT||Y.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_AMOUNT,CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT:u.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT||Y.CLAUDE_MEM_CONTEXT_SHOW_SAVINGS_PERCENT,CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES:u.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES||Y.CLAUDE_MEM_CONTEXT_OBSERVATION_TYPES,CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS:u.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS||Y.CLAUDE_MEM_CONTEXT_OBSERVATION_CONCEPTS,CLAUDE_MEM_CONTEXT_FULL_COUNT:u.CLAUDE_MEM_CONTEXT_FULL_COUNT||Y.CLAUDE_MEM_CONTEXT_FULL_COUNT,CLAUDE_MEM_CONTEXT_FULL_FIELD:u.CLAUDE_MEM_CONTEXT_FULL_FIELD||Y.CLAUDE_MEM_CONTEXT_FULL_FIELD,CLAUDE_MEM_CONTEXT_SESSION_COUNT:u.CLAUDE_MEM_CONTEXT_SESSION_COUNT||Y.CLAUDE_MEM_CONTEXT_SESSION_COUNT,CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY:u.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY||Y.CLAUDE_MEM_CONTEXT_SHOW_LAST_SUMMARY,CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE:u.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE||Y.CLAUDE_MEM_CONTEXT_SHOW_LAST_MESSAGE})}).catch(u=>{console.error("Failed to load settings:",u)})},[]),{settings:e,saveSettings:async u=>{n(!0),l("Saving...");try{let a=await(await fetch($e.SETTINGS,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(u)})).json();a.success?(t(u),l("\u2713 Saved"),setTimeout(()=>l(""),ml.SAVE_STATUS_DISPLAY_DURATION_MS)):l(`\u2717 Error: ${a.error}`)}catch(s){l(`\u2717 Error: ${s instanceof Error?s.message:"Unknown error"}`)}finally{n(!1)}},isSaving:r,saveStatus:o}}var Hr=R(V(),1);function kd(){let[e,t]=(0,Hr.useState)({}),r=(0,Hr.useCallback)(async()=>{try{let o=await(await fetch($e.STATS)).json();t(o)}catch(n){console.error("Failed to load stats:",n)}},[]);return(0,Hr.useEffect)(()=>{r()},[r]),{stats:e,refreshStats:r}}var Vt=R(V(),1);function Bu(e,t,r){let[n,o]=(0,Vt.useState)({isLoading:!1,hasMore:!0}),l=(0,Vt.useRef)(0),i=(0,Vt.useRef)(r),u=(0,Vt.useRef)(n),s=(0,Vt.useCallback)(async()=>{let a=i.current!==r;if(a){l.current=0,i.current=r;let p={isLoading:!1,hasMore:!0};o(p),u.current=p}if(!a&&(u.current.isLoading||!u.current.hasMore))return[];o(p=>({...p,isLoading:!0}));try{let p=new URLSearchParams({offset:l.current.toString(),limit:Un.PAGINATION_PAGE_SIZE.toString()});r&&p.append("project",r);let m=await fetch(`${e}?${p}`);if(!m.ok)throw new Error(`Failed to load ${t}: ${m.statusText}`);let g=await m.json();return o(w=>({...w,isLoading:!1,hasMore:g.hasMore})),l.current+=Un.PAGINATION_PAGE_SIZE,g.items}catch(p){return console.error(`Failed to load ${t}:`,p),o(m=>({...m,isLoading:!1})),[]}},[r,e,t]);return{...n,loadMore:s}}function Nd(e){let t=Bu($e.OBSERVATIONS,"observations",e),r=Bu($e.SUMMARIES,"summaries",e),n=Bu($e.PROMPTS,"prompts",e);return{observations:t,summaries:r,prompts:n}}var qr=R(V(),1),Md="claude-mem-theme";function qg(){return typeof window>"u"||window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"}function xd(){try{let e=localStorage.getItem(Md);if(e==="system"||e==="light"||e==="dark")return e}catch(e){console.warn("Failed to read theme preference from localStorage:",e)}return"system"}function Ld(e){return e==="system"?qg():e}function Od(){let[e,t]=(0,qr.useState)(xd),[r,n]=(0,qr.useState)(()=>Ld(xd()));return(0,qr.useEffect)(()=>{let l=Ld(e);n(l),document.documentElement.setAttribute("data-theme",l)},[e]),(0,qr.useEffect)(()=>{if(e!=="system")return;let l=window.matchMedia("(prefers-color-scheme: dark)"),i=u=>{let s=u.matches?"dark":"light";n(s),document.documentElement.setAttribute("data-theme",s)};return l.addEventListener("change",i),()=>l.removeEventListener("change",i)},[e]),{preference:e,resolvedTheme:r,setThemePreference:l=>{try{localStorage.setItem(Md,l),t(l)}catch(i){console.warn("Failed to save theme preference to localStorage:",i),t(l)}}}}function gl(e,t){let r=new Set;return[...e,...t].filter(n=>r.has(n.id)?!1:(r.add(n.id),!0))}function Ad(){let[e,t]=(0,K.useState)(""),[r,n]=(0,K.useState)(!1),[o,l]=(0,K.useState)([]),[i,u]=(0,K.useState)([]),[s,a]=(0,K.useState)([]),{observations:p,summaries:m,prompts:g,projects:w,isProcessing:_,queueDepth:S,isConnected:L}=Td(),{settings:d,saveSettings:c,isSaving:f,saveStatus:y}=Cd(),{stats:T,refreshStats:h}=kd(),{preference:C,resolvedTheme:N,setThemePreference:U}=Od(),x=Nd(e),Ae=(0,K.useMemo)(()=>e?o:gl(p,o),[p,o,e]),vl=(0,K.useMemo)(()=>e?i:gl(m,i),[m,i,e]),Id=(0,K.useMemo)(()=>e?s:gl(g,s),[g,s,e]),Gu=(0,K.useCallback)(()=>{n(lr=>!lr)},[]),Xu=(0,K.useCallback)(async()=>{try{let[lr,bu,$u]=await Promise.all([x.observations.loadMore(),x.summaries.loadMore(),x.prompts.loadMore()]);lr.length>0&&l(Rr=>[...Rr,...lr]),bu.length>0&&u(Rr=>[...Rr,...bu]),$u.length>0&&a(Rr=>[...Rr,...$u])}catch(lr){console.error("Failed to load more data:",lr)}},[e,x.observations,x.summaries,x.prompts]);return(0,K.useEffect)(()=>{l([]),u([]),a([]),Xu()},[e]),K.default.createElement(K.default.Fragment,null,K.default.createElement(Ff,{isConnected:L,projects:w,currentFilter:e,onFilterChange:t,isProcessing:_,queueDepth:S,themePreference:C,onThemeChange:U,onContextPreviewToggle:Gu}),K.default.createElement(Vf,{observations:Ae,summaries:vl,prompts:Id,onLoadMore:Xu,isLoading:x.observations.isLoading||x.summaries.isLoading||x.prompts.isLoading,hasMore:x.observations.hasMore||x.summaries.hasMore||x.prompts.hasMore}),K.default.createElement(_d,{isOpen:r,onClose:Gu,settings:d,onSave:c,isSaving:f,saveStatus:y}))}var gt=R(V(),1),hl=class extends gt.Component{constructor(t){super(t),this.state={hasError:!1,error:null,errorInfo:null}}static getDerivedStateFromError(t){return{hasError:!0,error:t}}componentDidCatch(t,r){console.error("[ErrorBoundary] Caught error:",t,r),this.setState({error:t,errorInfo:r})}render(){return this.state.hasError?gt.default.createElement("div",{style:{padding:"20px",color:"#ff6b6b",backgroundColor:"#1a1a1a",minHeight:"100vh"}},gt.default.createElement("h1",{style:{fontSize:"24px",marginBottom:"10px"}},"Something went wrong"),gt.default.createElement("p",{style:{marginBottom:"10px",color:"#8b949e"}},"The application encountered an error. Please refresh the page to try again."),this.state.error&>.default.createElement("details",{style:{marginTop:"20px",color:"#8b949e"}},gt.default.createElement("summary",{style:{cursor:"pointer",marginBottom:"10px"}},"Error details"),gt.default.createElement("pre",{style:{backgroundColor:"#0d1117",padding:"10px",borderRadius:"6px",overflow:"auto"}},this.state.error.toString(),this.state.errorInfo&&` -`+this.state.errorInfo.componentStack))):this.props.children}};var Pd=document.getElementById("root");if(!Pd)throw new Error("Root element not found");var Vg=(0,Dd.createRoot)(Pd);Vg.render(Wu.default.createElement(hl,null,Wu.default.createElement(Ad,null)));})(); +`+this.state.errorInfo.componentStack))):this.props.children}};var Pd=document.getElementById("root");if(!Pd)throw new Error("Root element not found");var Rg=(0,Dd.createRoot)(Pd);Rg.render(Wu.default.createElement(hl,null,Wu.default.createElement(Ad,null)));})(); /*! Bundled license information: react/cjs/react.production.min.js: diff --git a/src/services/worker/GeminiAgent.ts b/src/services/worker/GeminiAgent.ts index ba2b7bf9..530adeff 100644 --- a/src/services/worker/GeminiAgent.ts +++ b/src/services/worker/GeminiAgent.ts @@ -18,8 +18,7 @@ import { logger } from '../../utils/logger.js'; import { parseObservations, parseSummary } from '../../sdk/parser.js'; import { buildInitPrompt, buildObservationPrompt, buildSummaryPrompt, buildContinuationPrompt } from '../../sdk/prompts.js'; import { SettingsDefaultsManager } from '../../shared/SettingsDefaultsManager.js'; -import { USER_SETTINGS_PATH } from '../../shared/paths.js'; -import type { ActiveSession, PendingMessage, ConversationMessage } from '../worker-types.js'; +import type { ActiveSession, ConversationMessage } from '../worker-types.js'; import { ModeManager } from '../domain/ModeManager.js'; // Gemini API endpoint @@ -46,13 +45,13 @@ const GEMINI_RPM_LIMITS: Record = { let lastRequestTime = 0; /** - * Enforce RPM rate limit for Gemini free tier (no billing). + * Enforce RPM rate limit for Gemini free tier. * Waits the required time between requests based on model's RPM limit + 100ms safety buffer. - * Skipped entirely if billing is enabled (1000+ RPM available). + * Skipped entirely if rate limiting is disabled (billing users with 1000+ RPM available). */ -async function enforceRateLimitForModel(model: GeminiModel, billingEnabled: boolean): Promise { - // Skip rate limiting if billing is enabled (1000+ RPM available) - if (billingEnabled) { +async function enforceRateLimitForModel(model: GeminiModel, rateLimitingEnabled: boolean): Promise { + // Skip rate limiting if disabled (billing users with 1000+ RPM) + if (!rateLimitingEnabled) { return; } @@ -142,7 +141,7 @@ export class GeminiAgent { async startSession(session: ActiveSession, worker?: any): Promise { try { // Get Gemini configuration - const { apiKey, model, billingEnabled } = this.getGeminiConfig(); + const { apiKey, model, rateLimitingEnabled } = this.getGeminiConfig(); if (!apiKey) { throw new Error('Gemini API key not configured. Set CLAUDE_MEM_GEMINI_API_KEY in settings or GEMINI_API_KEY environment variable.'); @@ -158,7 +157,7 @@ export class GeminiAgent { // Add to conversation history and query Gemini with full context session.conversationHistory.push({ role: 'user', content: initPrompt }); - const initResponse = await this.queryGeminiMultiTurn(session.conversationHistory, apiKey, model, billingEnabled); + const initResponse = await this.queryGeminiMultiTurn(session.conversationHistory, apiKey, model, rateLimitingEnabled); if (initResponse.content) { // Add response to conversation history @@ -193,7 +192,7 @@ export class GeminiAgent { // Add to conversation history and query Gemini with full context session.conversationHistory.push({ role: 'user', content: obsPrompt }); - const obsResponse = await this.queryGeminiMultiTurn(session.conversationHistory, apiKey, model, billingEnabled); + const obsResponse = await this.queryGeminiMultiTurn(session.conversationHistory, apiKey, model, rateLimitingEnabled); if (obsResponse.content) { // Add response to conversation history @@ -225,7 +224,7 @@ export class GeminiAgent { // Add to conversation history and query Gemini with full context session.conversationHistory.push({ role: 'user', content: summaryPrompt }); - const summaryResponse = await this.queryGeminiMultiTurn(session.conversationHistory, apiKey, model, billingEnabled); + const summaryResponse = await this.queryGeminiMultiTurn(session.conversationHistory, apiKey, model, rateLimitingEnabled); if (summaryResponse.content) { // Add response to conversation history @@ -307,7 +306,7 @@ export class GeminiAgent { history: ConversationMessage[], apiKey: string, model: GeminiModel, - billingEnabled: boolean + rateLimitingEnabled: boolean ): Promise<{ content: string; tokensUsed?: number }> { const contents = this.conversationToGeminiContents(history); const totalChars = history.reduce((sum, m) => sum + m.content.length, 0); @@ -319,8 +318,8 @@ export class GeminiAgent { const url = `${GEMINI_API_URL}/${model}:generateContent?key=${apiKey}`; - // Enforce RPM rate limit for free tier (skipped if billing enabled) - await enforceRateLimitForModel(model, billingEnabled); + // Enforce RPM rate limit for free tier (skipped if rate limiting disabled) + await enforceRateLimitForModel(model, rateLimitingEnabled); const response = await fetch(url, { method: 'POST', @@ -516,7 +515,7 @@ export class GeminiAgent { /** * Get Gemini configuration from settings or environment */ - private getGeminiConfig(): { apiKey: string; model: GeminiModel; billingEnabled: boolean } { + private getGeminiConfig(): { apiKey: string; model: GeminiModel; rateLimitingEnabled: boolean } { const settingsPath = path.join(homedir(), '.claude-mem', 'settings.json'); const settings = SettingsDefaultsManager.loadFromFile(settingsPath); @@ -545,10 +544,10 @@ export class GeminiAgent { model = defaultModel; } - // Billing: if enabled, skip rate limiting (1000+ RPM available) - const billingEnabled = settings.CLAUDE_MEM_GEMINI_BILLING_ENABLED === 'true'; + // Rate limiting: enabled by default for free tier users + const rateLimitingEnabled = settings.CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED !== 'false'; - return { apiKey, model, billingEnabled }; + return { apiKey, model, rateLimitingEnabled }; } } diff --git a/src/shared/SettingsDefaultsManager.ts b/src/shared/SettingsDefaultsManager.ts index c130e8b1..419d18ca 100644 --- a/src/shared/SettingsDefaultsManager.ts +++ b/src/shared/SettingsDefaultsManager.ts @@ -21,7 +21,7 @@ export interface SettingsDefaults { CLAUDE_MEM_PROVIDER: string; // 'claude' | 'gemini' CLAUDE_MEM_GEMINI_API_KEY: string; CLAUDE_MEM_GEMINI_MODEL: string; // 'gemini-2.5-flash-lite' | 'gemini-2.5-flash' | 'gemini-3-flash' - CLAUDE_MEM_GEMINI_BILLING_ENABLED: string; // 'true' | 'false' - skip rate limiting if billing enabled + CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED: string; // 'true' | 'false' - enable rate limiting for free tier // System Configuration CLAUDE_MEM_DATA_DIR: string; CLAUDE_MEM_LOG_LEVEL: string; @@ -59,7 +59,7 @@ export class SettingsDefaultsManager { CLAUDE_MEM_PROVIDER: 'claude', // Default to Claude CLAUDE_MEM_GEMINI_API_KEY: '', // Empty by default, can be set via UI or env CLAUDE_MEM_GEMINI_MODEL: 'gemini-2.5-flash-lite', // Default Gemini model (highest free tier RPM) - CLAUDE_MEM_GEMINI_BILLING_ENABLED: 'false', // Rate limiting enabled by default for no-billing users + CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED: 'true', // Rate limiting ON by default for free tier users // System Configuration CLAUDE_MEM_DATA_DIR: join(homedir(), '.claude-mem'), CLAUDE_MEM_LOG_LEVEL: 'INFO', diff --git a/src/ui/viewer/components/ContextSettingsModal.tsx b/src/ui/viewer/components/ContextSettingsModal.tsx index 26575272..03e8c7b5 100644 --- a/src/ui/viewer/components/ContextSettingsModal.tsx +++ b/src/ui/viewer/components/ContextSettingsModal.tsx @@ -481,11 +481,11 @@ export function ContextSettingsModal({
updateSetting('CLAUDE_MEM_GEMINI_BILLING_ENABLED', checked ? 'true' : 'false')} + id="gemini-rate-limiting" + label="Rate Limiting" + description="Enable for free tier (10-30 RPM). Disable if you have billing set up (1000+ RPM)." + checked={formState.CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED === 'true'} + onChange={(checked) => updateSetting('CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED', checked ? 'true' : 'false')} />
diff --git a/src/ui/viewer/constants/settings.ts b/src/ui/viewer/constants/settings.ts index c99c4468..7b2dc9b4 100644 --- a/src/ui/viewer/constants/settings.ts +++ b/src/ui/viewer/constants/settings.ts @@ -12,7 +12,7 @@ export const DEFAULT_SETTINGS = { CLAUDE_MEM_PROVIDER: 'claude', CLAUDE_MEM_GEMINI_API_KEY: '', CLAUDE_MEM_GEMINI_MODEL: 'gemini-2.5-flash-lite', - CLAUDE_MEM_GEMINI_BILLING_ENABLED: 'false', + CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED: 'true', // Token Economics (all true for backwards compatibility) CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS: 'true', diff --git a/src/ui/viewer/types.ts b/src/ui/viewer/types.ts index f60e5cb2..0386f247 100644 --- a/src/ui/viewer/types.ts +++ b/src/ui/viewer/types.ts @@ -64,6 +64,7 @@ export interface Settings { CLAUDE_MEM_PROVIDER?: string; // 'claude' | 'gemini' CLAUDE_MEM_GEMINI_API_KEY?: string; CLAUDE_MEM_GEMINI_MODEL?: string; // 'gemini-2.5-flash-lite' | 'gemini-2.5-flash' | 'gemini-3-flash' + CLAUDE_MEM_GEMINI_RATE_LIMITING_ENABLED?: string; // 'true' | 'false' // Token Economics Display CLAUDE_MEM_CONTEXT_SHOW_READ_TOKENS?: string;